/* Web fonts (migrated from retired fidelity.css — these are the site's only
   @font-face loaders; theme.json only names the families). Paths are relative
   to this file: ../fonts/ = assets/fonts/. */
@font-face{font-family:Archivo;src:url('../fonts/Archivo-normal-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/Archivo-normal-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/Archivo-normal-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/Archivo-normal-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/Archivo-normal-800.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/Archivo-italic-400.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Archivo;src:url('../fonts/Archivo-italic-700.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Fraunces;src:url('../fonts/Fraunces-normal-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url('../fonts/Fraunces-normal-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url('../fonts/Fraunces-italic-400.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Fraunces;src:url('../fonts/Fraunces-italic-600.ttf') format('truetype');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-normal-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-normal-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../fonts/JetBrainsMono-normal-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--forest-950:#0B1812;--forest-900:#122218;--forest-800:#1A3225;--forest-700:#234534;--forest-500:#3E6B4F;--forest-300:#7FA189;--moss-300:#B8C9A8;--moss-100:#E4ECDC;--bark-700:#4A3525;--bark-500:#6B4E36;--bark-300:#B89976;--bone-100:#F5F2EC;--bone-200:#ECE7DC;--paper:#FFFFFF;--ink:#0B1812;--ink-muted:rgba(11,24,18,.72);--rule:rgba(11,24,18,.12);--accent-earth:#A65F3D;--accent-warning:#B9822E;--accent-warning-soft:rgba(185,130,46,.14);--color-success:#1E5B3A;--color-focus:#3E6B4F;--signal:#E35C28;--signal-700:#C44A1E;--signal-soft:rgba(227,92,40,.12);--maxw:1320px;--pad:clamp(20px,5vw,64px);--ease:cubic-bezier(.22,.61,.36,1);--dur-fast:160ms;--dur:220ms;--dur-slow:480ms;--radius-sm:6px;--font-display:var(--wp--preset--font-family--display);--font-sans:var(--wp--preset--font-family--sans);--font-serif:var(--wp--preset--font-family--serif);--font-mono:var(--wp--preset--font-family--mono)}
:root{--c-bone-100:var(--bone-100);--c-paper:var(--paper);--c-forest-700:var(--forest-700);--c-ink:var(--ink);--c-ink-muted:var(--ink-muted);--c-rule:var(--rule);--tint:rgba(35,69,52,.07)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;hyphens:manual;-webkit-hyphens:manual}body{margin:0;background:var(--bone-100);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.022em;line-height:1.05;margin:0;overflow-wrap:normal;word-break:normal;hyphens:manual;-webkit-hyphens:manual}::selection{background:var(--forest-500);color:var(--bone-100)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:4px}
/* Global layout normalization (migrated from retired fidelity.css) — the block
   canvas + post content that lumitra pages render into. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.wp-site-blocks,.wp-block-post-content{padding:0}.wp-site-blocks>*,.wp-block-post-content>*{margin-block-start:0!important;margin-top:0!important}.wp-block-post-content>.alignfull{max-width:none!important;margin-left:0!important;margin-right:0!important}main.wp-block-group{margin-block-start:0!important}.wp-site-blocks{overflow-x:clip}
/* Utilities still used by the header + footer shell templates. */
.skip-link{position:absolute;left:16px;top:-120px;z-index:200;background:var(--forest-900);color:var(--bone-100);padding:12px 16px;border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{top:16px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}.tech-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bark-500);font-weight:400}.btn,.wp-block-button.is-style-arbosano-primary .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:1;padding:16px 26px;border-radius:999px;border:1px solid transparent;min-height:52px;transition:background-color var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease);background:var(--signal);color:#fff}.btn--ghost,.wp-block-button.is-style-arbosano-ghost .wp-block-button__link{background:transparent;color:var(--forest-700);border-color:var(--rule)}.btn:hover,.wp-block-button.is-style-arbosano-primary .wp-block-button__link:hover{background:var(--signal-700);transform:translateY(-1px)}.btn--ghost:hover,.wp-block-button.is-style-arbosano-ghost .wp-block-button__link:hover{background:var(--bone-200);border-color:rgba(11,24,18,.25);transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover,.btn:active{transform:none!important}}

/* ------------------------------------------------------------------ */
/* Hero-Variante: full-bleed Bild-Slider (Pilot, Seite 438).           */
/* Die Engine liefert unopinionated :where()-Bases; hier werden die    */
/* Controls ÜBER das Bild gelegt (statt als Flex-Geschwister neben     */
/* dem Track), damit der Slider die volle Hero-Spalte füllt.           */
/* ------------------------------------------------------------------ */
.lumitra-hvcar {
	position: relative;
}

.lumitra-hvcar .lumitra-carousel__track {
	width: 100%;
	height: 100%;
}

.lumitra-hvcar > .lumitra-carousel__toggle,
.lumitra-hvcar > .lumitra-carousel__prev,
.lumitra-hvcar > .lumitra-carousel__next {
	position: absolute;
	bottom: 14px;
	z-index: 3;
	inline-size: 38px;
	block-size: 38px;
	margin: 0;
	color: var(--moss-100);
	border-color: rgba(228, 236, 220, 0.4);
	background: rgba(11, 24, 18, 0.35);
	backdrop-filter: blur(4px);
	transition: background 0.15s ease, border-color 0.15s ease;
}

.lumitra-hvcar > .lumitra-carousel__toggle:hover,
.lumitra-hvcar > .lumitra-carousel__prev:hover,
.lumitra-hvcar > .lumitra-carousel__next:hover {
	background: rgba(11, 24, 18, 0.65);
	border-color: rgba(228, 236, 220, 0.8);
}

.lumitra-hvcar > .lumitra-carousel__prev {
	right: 110px;
}

.lumitra-hvcar > .lumitra-carousel__next {
	right: 62px;
}

.lumitra-hvcar > .lumitra-carousel__toggle {
	right: 14px;
}

.lumitra-hvcar > .lumitra-carousel__dots {
	position: absolute;
	top: 18px;
	right: 18px;
	z-index: 3;
	margin: 0;
	color: var(--moss-100);
}

.lumitra-hvcar .lumitra-carousel__dot {
	inline-size: 8px;
	block-size: 8px;
	border-color: rgba(228, 236, 220, 0.7);
}

.lumitra-hvcar .lumitra-carousel__dot[aria-selected='true'] {
	background: var(--signal);
	border-color: var(--signal);
}


/* Vollbild-Hero-Variante (Pilot, Seite 438): hzcar füllt den Viewport als
   Hintergrund-Ebene; Overlay/Textebenen dürfen Klicks nicht schlucken bzw.
   leiten sie nur an ihre eigenen Kinder weiter. */
.lumitra-hzcar {
	position: relative;
}

/* Weiche, lange Blende fuer den Hero-Slider (Engine-Defaults: 250ms/ease). */
.lumitra-hzcar .lumitra-carousel__track {
	--lumitra-dur: 1100ms;
	--lumitra-ease: cubic-bezier(0.33, 0, 0.15, 1);
}

.lumitra-hzcar .lumitra-carousel__track {
	width: 100%;
	height: 100%;
}

.lumitra-hzov {
	pointer-events: none;
}

.lumitra-hztxt {
	pointer-events: none;
}

.lumitra-hztxt a,
.lumitra-hztxt button {
	pointer-events: auto;
}

.lumitra-hzcar > .lumitra-carousel__toggle,
.lumitra-hzcar > .lumitra-carousel__prev,
.lumitra-hzcar > .lumitra-carousel__next {
	position: absolute;
	bottom: 22px;
	z-index: 4;
	inline-size: 40px;
	block-size: 40px;
	margin: 0;
	color: var(--moss-100);
	border-color: rgba(228, 236, 220, 0.4);
	background: rgba(11, 24, 18, 0.35);
	backdrop-filter: blur(4px);
	transition: background 0.15s ease, border-color 0.15s ease;
}

.lumitra-hzcar > .lumitra-carousel__toggle:hover,
.lumitra-hzcar > .lumitra-carousel__prev:hover,
.lumitra-hzcar > .lumitra-carousel__next:hover {
	background: rgba(11, 24, 18, 0.65);
	border-color: rgba(228, 236, 220, 0.8);
}

.lumitra-hzcar > .lumitra-carousel__prev {
	right: 118px;
}

.lumitra-hzcar > .lumitra-carousel__next {
	right: 68px;
}

.lumitra-hzcar > .lumitra-carousel__toggle {
	right: 18px;
}

.lumitra-hzcar > .lumitra-carousel__dots {
	position: absolute;
	bottom: 34px;
	left: var(--pad);
	z-index: 4;
	margin: 0;
	color: var(--moss-100);
}

.lumitra-hzcar .lumitra-carousel__dot {
	inline-size: 8px;
	block-size: 8px;
	border-color: rgba(228, 236, 220, 0.7);
}

.lumitra-hzcar .lumitra-carousel__dot[aria-selected='true'] {
	background: var(--signal);
	border-color: var(--signal);
}
