/* ==========================================================================
   Aurion – Design-Schicht über dem Sektionen-Kern
   - Aurora-Akzent (zwei Akzentfarben), Glas-Kopfbereich, ruhige Karten
   - Dark/Light über html[data-au-mode]
   - Aurion Motion: alles unter html.au-m (nur mit JS und ohne „Bewegung reduzieren“)
   Hinweis: Elemente, die per JavaScript ein-/ausgeblendet werden, steuern wir nie mit
   display:none im CSS, sondern per Inline-Style bzw. opacity/visibility.
   ========================================================================== */

:root {
	--au-accent2: #00c2ff;
	--au-grad: linear-gradient(100deg, var(--au-accent) 0%, color-mix(in srgb, var(--au-accent) 45%, var(--au-accent2)) 55%, var(--au-accent2) 100%);
	--au-ease: cubic-bezier(.2, .8, .2, 1);
	--au-ease-out: cubic-bezier(.16, 1, .3, 1);
	--au-r-lg: calc(var(--au-radius) + 6px);
	--au-r-sm: max(8px, calc(var(--au-radius) * .55));
	--au-glass: color-mix(in srgb, var(--au-bg) 72%, transparent);
	--au-shadow-lg: 0 2px 4px rgba(13, 15, 26, .04), 0 24px 60px -12px rgba(13, 15, 26, .18);
	--au-m-dur: 900ms;
	--au-m-dist: 100%;
	--au-m-blur: 8px;
}
html[data-au-mode="dark"] {
	--au-glass: color-mix(in srgb, var(--au-bg) 62%, transparent);
	--au-shadow-lg: 0 2px 4px rgba(0, 0, 0, .3), 0 30px 80px -10px rgba(0, 0, 0, .7);
	color-scheme: dark;
}

/* ---------- Typografie ---------- */
body.aurion-skin { font-feature-settings: "cv11", "ss01"; letter-spacing: -.003em; transition: background-color .35s ease, color .35s ease; }
.aurion-skin h1, .aurion-skin h2, .aurion-skin h3 { letter-spacing: -.028em; }
.aurion-skin .aurion-h2 { font-size: clamp(30px, 4.2vw, 54px); line-height: 1.04; letter-spacing: -.035em; }
.aurion-skin .aurion-hero__title { letter-spacing: -.045em; line-height: .98; }
.aurion-skin .aurion-intro { font-size: clamp(17px, 1.35vw, 20px); line-height: 1.55; }
::selection { background: color-mix(in srgb, var(--au-accent) 30%, transparent); }

/* Überzeile: ruhig, in Satzschreibung, mit kurzer Verlaufslinie */
.aurion-skin .aurion-eyebrow { text-transform: none; letter-spacing: 0; font-size: 15px; font-weight: 600; display: inline-flex; align-items: center; gap: 10px; }
.aurion-skin .aurion-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--au-grad); flex: none; }
.aurion-skin .aurion-text-light .aurion-eyebrow::before, .aurion-skin .aurion-bg-strong .aurion-eyebrow::before { background: currentColor; }

/* *Markierte* Wörter in Überschriften */
.au-hl, .au-hl-w { background: var(--au-grad); background-color: transparent; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; padding-bottom: .06em; }
.au-hl-plain .au-hl, .au-hl-plain .au-hl-w, .aurion-bg-strong .au-hl, .aurion-bg-strong .au-hl-w { background: none; color: var(--au-accent); -webkit-text-fill-color: currentColor; }
.aurion-bg-strong .au-hl, .aurion-bg-strong .au-hl-w { color: inherit; text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .12em; }

/* ---------- Buttons ---------- */
.aurion-skin .aurion-btn { position: relative; overflow: hidden; isolation: isolate; font-weight: 600; letter-spacing: -.005em; translate: var(--au-mx, 0) var(--au-my, 0); transition: translate .35s var(--au-ease), transform .2s, box-shadow .25s, background-color .2s, color .2s; }
.aurion-skin .aurion-btn--primary { box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 8px 24px -8px color-mix(in srgb, var(--au-accent) 70%, transparent); }
.aurion-skin .aurion-btn--primary::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .32) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s var(--au-ease); }
.aurion-skin .aurion-btn--primary:hover::after { transform: translateX(120%); }
.aurion-skin .aurion-btn--primary:hover { box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 14px 34px -10px color-mix(in srgb, var(--au-accent) 85%, transparent); }
.aurion-skin .aurion-btn--secondary { background: var(--au-glass); background-color: var(--au-glass); border-color: var(--au-line); color: var(--au-text); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.aurion-skin .aurion-btn--secondary:hover { background: var(--au-text); background-color: var(--au-text); color: var(--au-bg); border-color: var(--au-text); }
.aurion-skin .aurion-hero--text-light .aurion-btn--secondary { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .4); }

/* ---------- Kopfbereich ---------- */
.aurion-skin .aurion-header { background: var(--au-glass); -webkit-backdrop-filter: saturate(170%) blur(16px); backdrop-filter: saturate(170%) blur(16px); transition: transform .45s var(--au-ease), border-color .2s, background-color .35s; }
.aurion-skin .aurion-header.is-scrolled { box-shadow: 0 1px 0 var(--au-line), 0 10px 30px -18px rgba(0, 0, 0, .25); border-bottom-color: transparent; }
.au-has-header.au-header-hidden .aurion-header { transform: translateY(-110%); }
.aurion-skin .aurion-menu > li > a { position: relative; }
.aurion-skin .aurion-site-title { font-weight: 700; letter-spacing: -.04em; }
html:not([data-au-mode="dark"]) .au-logo-dark, html[data-au-mode="dark"] .custom-logo-link .au-logo-light { display: none; }

/* Umschalter Hell/Dunkel */
.au-mode-toggle { position: relative; flex: none; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--au-line); background: transparent; background-color: transparent; color: var(--au-text); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; translate: var(--au-mx, 0) var(--au-my, 0); transition: translate .35s var(--au-ease), background-color .2s, border-color .2s; }
.au-mode-toggle:hover { border-color: var(--au-accent); background: var(--au-accent-soft); background-color: var(--au-accent-soft); }
.au-mode-toggle svg { position: absolute; transition: transform .5s var(--au-ease-out), opacity .3s; }
.au-mode-toggle__moon { opacity: 0; transform: rotate(-70deg) scale(.6); }
html[data-au-mode="dark"] .au-mode-toggle__sun { opacity: 0; transform: rotate(70deg) scale(.6); }
html[data-au-mode="dark"] .au-mode-toggle__moon { opacity: 1; transform: none; }
.au-mode-toggle--floating { position: fixed; left: 18px; bottom: 18px; z-index: 60; width: 48px; height: 48px; background: var(--au-glass); background-color: var(--au-glass); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--au-shadow); }

/* ---------- Sektionen & Karten ---------- */
.aurion-skin .aurion-bg-soft { background: var(--au-soft); }
.aurion-skin .aurion-col--card, .aurion-skin .aurion-price, .aurion-skin .aurion-quote, .aurion-skin .aurion-hall, .aurion-skin .aurion-film, .aurion-skin .aurion-review { border-radius: var(--au-r-lg); }
.aurion-skin .aurion-col--card:hover { box-shadow: var(--au-shadow-lg); transform: translateY(-3px); }
.aurion-skin .aurion-price.is-highlight { border: 0; box-shadow: var(--au-shadow-lg); background: linear-gradient(var(--au-bg), var(--au-bg)) padding-box, var(--au-grad) border-box; border: 2px solid transparent; }
.aurion-skin .aurion-quote { box-shadow: 0 1px 0 color-mix(in srgb, var(--au-text) 4%, transparent); }
.aurion-skin .aurion-quote__mark { color: var(--au-accent); opacity: .9; }
.aurion-skin .aurion-stat dd { font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
html[data-au-mode="dark"] .aurion-col--card, html[data-au-mode="dark"] .aurion-price, html[data-au-mode="dark"] .aurion-quote, html[data-au-mode="dark"] .aurion-film, html[data-au-mode="dark"] .aurion-hall, html[data-au-mode="dark"] .aurion-review, html[data-au-mode="dark"] .aurion-hours {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}
/* Feste Weißtöne des Kerns im Dunkelmodus angleichen */
html[data-au-mode="dark"] .aurion-bg-soft :is(.aurion-film, .aurion-review, .aurion-hall) { background: var(--au-bg); background-color: var(--au-bg); }
html[data-au-mode="dark"] .aurion-lightbox__figure img { box-shadow: 0 20px 60px rgba(0, 0, 0, .6); }

/* Spotlight: Lichtschein folgt der Maus (JS setzt --au-sx/--au-sy und .is-spot) */
.au-has-spotlight .is-spot { background-image: radial-gradient(420px circle at var(--au-sx, 50%) var(--au-sy, 50%), color-mix(in srgb, var(--au-accent) 13%, transparent), transparent 62%); }
html[data-au-mode="dark"] .au-has-spotlight .is-spot { background-image: radial-gradient(420px circle at var(--au-sx, 50%) var(--au-sy, 50%), color-mix(in srgb, var(--au-accent) 22%, transparent), transparent 62%); }

/* ---------- Aurora-Hero ---------- */
.aurion-section--aurora_hero.aurion-pad-s, .aurion-section--aurora_hero.aurion-pad-m, .aurion-section--aurora_hero.aurion-pad-l { padding: 0; }
.au-hero { position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: center; }
.au-hero--h-large { min-height: min(880px, calc(100svh - var(--au-header-h))); }
.au-hero--h-full { min-height: calc(100svh - var(--au-header-h)); }
.au-hero__inner { position: relative; z-index: 2; padding-top: clamp(64px, 10vw, 140px); padding-bottom: clamp(64px, 8vw, 120px); }
.au-hero--center .au-hero__content { max-width: 980px; margin: 0 auto; text-align: center; }
.au-hero--center .aurion-buttons { justify-content: center; }
.au-hero--split .au-hero__inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.au-hero__title { font-size: clamp(44px, 7.6vw, 108px); line-height: .98; letter-spacing: -.05em; font-weight: 700; margin: 0 0 24px; }
.au-hero--split .au-hero__title { font-size: clamp(40px, 5.6vw, 84px); }
.au-hero__text { font-size: clamp(18px, 1.55vw, 22px); line-height: 1.5; color: var(--au-muted); max-width: 640px; margin: 0; }
.au-hero--center .au-hero__text { margin: 0 auto; }
.au-hero__buttons { margin-top: 36px; }
.au-hero__trust { margin: 22px 0 0; font-size: 14px; color: var(--au-muted); }

.au-badge { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 26px; padding: 7px 16px 7px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; background: var(--au-glass); background-color: var(--au-glass); border: 1px solid var(--au-line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.au-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--au-grad); box-shadow: 0 0 0 4px color-mix(in srgb, var(--au-accent) 18%, transparent); }

/* Wechselnde Wörter */
.au-rotate { display: inline-grid; vertical-align: bottom; text-align: left; }
.au-rotate__word { white-space: nowrap; justify-self: start; }
.au-hero--center .au-rotate { text-align: center; }
.au-hero--center .au-rotate__word { justify-self: center; }
.au-rotate__word { grid-area: 1 / 1; background: var(--au-grad); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; padding-bottom: .06em; }
.au-rotate__word:not(.is-active) { opacity: 0; transform: translateY(.45em); filter: blur(6px); }
.au-rotate__word.is-leaving { opacity: 0; transform: translateY(-.45em); filter: blur(6px); }
.au-rotate__word { transition: opacity .55s var(--au-ease), transform .7s var(--au-ease-out), filter .55s; }
.au-hl-plain .au-rotate__word { background: none; color: var(--au-accent); -webkit-text-fill-color: currentColor; }

/* Hintergrund-Effekte (reines CSS) */
.au-hero__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.au-aurora { position: absolute; inset: -20% -10% auto; height: 120%; filter: blur(70px) saturate(140%); opacity: .55; }
html[data-au-mode="dark"] .au-aurora { opacity: .42; filter: blur(90px) saturate(120%); }
.au-aurora span { position: absolute; border-radius: 50%; mix-blend-mode: normal; }
.au-aurora span:nth-child(1) { width: 46vw; height: 46vw; max-width: 720px; max-height: 720px; left: 6%; top: 0; background: var(--au-accent); animation: au-drift-a 22s ease-in-out infinite alternate; }
.au-aurora span:nth-child(2) { width: 40vw; height: 40vw; max-width: 620px; max-height: 620px; right: 4%; top: 6%; background: var(--au-accent2); animation: au-drift-b 26s ease-in-out infinite alternate; }
.au-aurora span:nth-child(3) { width: 30vw; height: 30vw; max-width: 480px; max-height: 480px; left: 38%; top: 30%; background: color-mix(in srgb, var(--au-accent) 50%, #ff5fa2); opacity: .7; animation: au-drift-c 30s ease-in-out infinite alternate; }
html:not([data-au-mode="dark"]) .au-aurora { opacity: .32; }
@keyframes au-drift-a { to { transform: translate(18%, 12%) scale(1.15); } }
@keyframes au-drift-b { to { transform: translate(-22%, 16%) scale(.9); } }
@keyframes au-drift-c { to { transform: translate(-30%, -18%) scale(1.2); } }
.au-grid-bg { position: absolute; inset: 0; background-image: linear-gradient(var(--au-line) 1px, transparent 1px), linear-gradient(90deg, var(--au-line) 1px, transparent 1px); background-size: 64px 64px; background-position: center top; -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 20%, transparent 75%); mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 20%, transparent 75%); opacity: .8; }
.au-beams { position: absolute; inset: 0; -webkit-mask-image: linear-gradient(#000 40%, transparent); mask-image: linear-gradient(#000 40%, transparent); }
.au-beams span { position: absolute; top: -40%; width: 1px; height: 60%; background: linear-gradient(transparent, var(--au-accent2), transparent); opacity: .7; animation: au-beam 7s linear infinite; }
.au-beams span:nth-child(1) { left: 18%; animation-delay: -1s; }
.au-beams span:nth-child(2) { left: 38%; animation-delay: -4s; background: linear-gradient(transparent, var(--au-accent), transparent); }
.au-beams span:nth-child(3) { left: 63%; animation-delay: -2.5s; }
.au-beams span:nth-child(4) { left: 84%; animation-delay: -5.5s; background: linear-gradient(transparent, var(--au-accent), transparent); }
@keyframes au-beam { to { transform: translateY(260%); } }
.au-hero--fx-beams::before { content: ""; position: absolute; inset: auto 0 0; height: 60%; z-index: 0; background: radial-gradient(60% 80% at 50% 100%, color-mix(in srgb, var(--au-accent) 22%, transparent), transparent 70%); pointer-events: none; }

/* Vorschau-Bild mit Rahmen */
.au-hero__visual { position: relative; z-index: 1; }
.au-hero--center .au-hero__visual { margin: clamp(48px, 7vw, 88px) auto 0; max-width: 1100px; perspective: 1600px; }
.au-frame { border-radius: var(--au-r-lg); }
.au-frame--browser, .au-frame--glass { padding: 10px; background: var(--au-glass); background-color: var(--au-glass); border: 1px solid var(--au-line); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: var(--au-shadow-lg), 0 40px 120px -40px color-mix(in srgb, var(--au-accent) 55%, transparent); }
.au-frame__bar { display: flex; align-items: center; gap: 6px; padding: 4px 6px 12px; }
.au-frame__bar span { width: 11px; height: 11px; border-radius: 50%; background: var(--au-line); }
.au-frame__bar span:nth-child(1) { background: #ff5f57; }
.au-frame__bar span:nth-child(2) { background: #febc2e; }
.au-frame__bar span:nth-child(3) { background: #28c840; }
.au-frame__bar i { flex: 1; height: 22px; margin-left: 12px; border-radius: 999px; background: color-mix(in srgb, var(--au-text) 6%, transparent); max-width: 360px; }
.au-frame__media { border-radius: calc(var(--au-r-lg) - 8px); overflow: hidden; }
.au-frame--none .au-frame__media { border-radius: var(--au-r-lg); box-shadow: var(--au-shadow-lg); }
.au-frame__media img { display: block; width: 100%; height: auto; }
.au-hero--center .au-frame { transform-origin: 50% 0; transform: rotateX(var(--au-tilt, 0deg)) scale(var(--au-tilt-s, 1)); }

@media (max-width: 900px) {
	.au-hero--split .au-hero__inner { grid-template-columns: minmax(0, 1fr); }
	.au-hero__title, .au-hero--split .au-hero__title { font-size: clamp(38px, 10.5vw, 60px); }
	.au-hero--h-large { min-height: 0; }
	.au-grid-bg { background-size: 40px 40px; }
}

/* ---------- Bento-Raster ---------- */
.au-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(210px, auto); gap: clamp(12px, 1.6vw, 20px); }
.au-bento__tile { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: var(--au-r-lg); color: inherit; text-decoration: none; background: var(--au-soft); background-color: var(--au-soft); border: 1px solid var(--au-line); transition: transform .3s var(--au-ease), box-shadow .3s, border-color .3s; }
.aurion-bg-soft .au-bento__tile { background-color: var(--au-bg); }
.au-bento--glass .au-bento__tile { background-color: color-mix(in srgb, var(--au-text) 3%, transparent); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.au-bento--outline .au-bento__tile { background-color: transparent; }
.au-bento__tile--wide { grid-column: span 2; }
.au-bento__tile--tall { grid-row: span 2; }
.au-bento__tile--large { grid-column: span 2; grid-row: span 2; }
a.au-bento__tile:hover { border-color: color-mix(in srgb, var(--au-accent) 50%, var(--au-line)); transform: translateY(-3px); box-shadow: var(--au-shadow-lg); }
a.au-bento__tile:focus-visible { outline: 2px solid var(--au-accent); outline-offset: 3px; }
.au-bento__body { position: relative; display: flex; flex-direction: column; gap: 10px; padding: clamp(22px, 2.4vw, 32px); margin-top: auto; }
.au-bento__icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; font-size: 22px; line-height: 1; background: var(--au-accent-soft); background-color: var(--au-accent-soft); color: var(--au-accent); margin-bottom: auto; }
.au-bento__title { margin: 6px 0 0; font-size: clamp(19px, 1.6vw, 24px); line-height: 1.2; letter-spacing: -.025em; }
.au-bento__tile--large .au-bento__title { font-size: clamp(26px, 2.8vw, 40px); max-width: 16ch; }
.au-bento__text { margin: 0; color: var(--au-muted); font-size: 15.5px; line-height: 1.55; max-width: 52ch; }
.au-bento__arrow { position: absolute; top: clamp(22px, 2.4vw, 32px); right: clamp(22px, 2.4vw, 32px); font-size: 20px; transition: transform .3s var(--au-ease); }
a.au-bento__tile:hover .au-bento__arrow { transform: translate(3px, -3px); }
.au-bento__media { flex: 1 1 auto; border-radius: 0; min-height: 160px; aspect-ratio: auto; }
.au-bento__tile.is-highlight { background: var(--au-grad); background-color: var(--au-accent); border-color: transparent; color: #fff; }
.au-bento__tile.is-highlight .au-bento__text { color: rgba(255, 255, 255, .86); }
.au-bento__tile.is-highlight .au-bento__icon { background: rgba(255, 255, 255, .18); background-color: rgba(255, 255, 255, .18); color: #fff; }
.au-bento__tile.is-highlight::before { content: ""; position: absolute; inset: 0; background: radial-gradient(80% 60% at 100% 0%, rgba(255, 255, 255, .28), transparent 60%); pointer-events: none; }
.au-has-spotlight .au-bento__tile.is-highlight.is-spot { background-image: radial-gradient(420px circle at var(--au-sx, 50%) var(--au-sy, 50%), rgba(255, 255, 255, .22), transparent 62%), var(--au-grad); }
@media (max-width: 1000px) {
	.au-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.au-bento__tile--large { grid-row: span 1; }
}
@media (max-width: 640px) {
	.au-bento { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; }
	.au-bento__tile--wide, .au-bento__tile--large { grid-column: auto; }
	.au-bento__tile--tall { grid-row: auto; }
	.au-bento__icon { margin-bottom: 18px; }
}

/* ---------- Scroll-Text ---------- */
.au-stext { max-width: calc(1080px + 2 * var(--au-gutter)); }
.au-stext__text { margin: 0; font-family: var(--au-font-heading); font-weight: 600; letter-spacing: -.035em; line-height: 1.12; text-wrap: pretty; }
.au-stext--m .au-stext__text { font-size: clamp(26px, 3.2vw, 40px); }
.au-stext--l .au-stext__text { font-size: clamp(30px, 4.4vw, 58px); }
.au-stext--xl .au-stext__text { font-size: clamp(36px, 6vw, 82px); line-height: 1.04; }
.au-stext__caption { margin: 28px 0 0; color: var(--au-muted); font-size: 16px; }
.au-m .au-stext__w { opacity: var(--o, .16); transition: opacity .25s linear; }

/* ---------- Text-Animationen (nur html.au-m) ---------- */
.au-split .au-w { display: inline-block; white-space: nowrap; }
.au-m [data-au-text] :is(.aurion-h2, .aurion-hero__title, .au-hero__title):not(.au-split) { opacity: 0; }
.au-m .au-split .au-wi, .au-m .au-split .au-c { display: inline-block; will-change: transform, opacity; transition: transform var(--au-m-dur) var(--au-ease-out), opacity calc(var(--au-m-dur) * .8) var(--au-ease), filter var(--au-m-dur) var(--au-ease); transition-delay: calc(var(--i, 0) * var(--au-st, 45ms)); }
/* Maske: Wörter gleiten von unten aus einer unsichtbaren Kante */
.au-m .au-split--mask .au-w { overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.au-m .au-split--mask .au-w--rot { overflow: visible; }
.au-m .au-split--mask:not(.is-in) .au-wi { transform: translateY(var(--au-m-dist)); }
/* Wort für Wort */
.au-m .au-split--words:not(.is-in) .au-wi { opacity: 0; transform: translateY(.5em); filter: blur(var(--au-m-blur)); }
/* Sanft */
.au-m .au-split--fade:not(.is-in) .au-wi { opacity: 0; filter: blur(var(--au-m-blur)); }
/* Buchstaben */
.au-m .au-split--chars:not(.is-in) .au-c { opacity: 0; transform: translateY(.6em) rotate(6deg); }

/* Hero-Auftritt: Abzeichen, Text, Buttons, Bild nacheinander */
.au-m .au-hero__content > :not(.au-hero__title) { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--au-ease), transform 1s var(--au-ease-out); }
.au-m .au-hero.is-in .au-hero__content > * { opacity: 1; transform: none; }
.au-m .au-hero.is-in .au-badge { transition-delay: .05s; }
.au-m .au-hero.is-in .au-hero__text { transition-delay: .45s; }
.au-m .au-hero.is-in .au-hero__buttons { transition-delay: .6s; }
.au-m .au-hero.is-in .au-hero__trust { transition-delay: .75s; }
.au-m .au-hero__visual { opacity: 0; transform: translateY(40px); transition: opacity 1.2s var(--au-ease) .5s, transform 1.4s var(--au-ease-out) .5s; }
.au-m .au-hero.is-in .au-hero__visual { opacity: 1; transform: none; }

/* ---------- Leuchtring-Cursor, Fortschritt, Filmkorn ---------- */
.au-cursor { position: fixed; left: 0; top: 0; z-index: 99990; width: 34px; height: 34px; margin: -17px 0 0 -17px; border-radius: 50%; pointer-events: none; border: 1.5px solid color-mix(in srgb, var(--au-accent) 70%, transparent); background: color-mix(in srgb, var(--au-accent) 8%, transparent); opacity: 0; transition: opacity .3s, width .3s var(--au-ease), height .3s var(--au-ease), margin .3s var(--au-ease), background-color .3s, border-color .3s; }
.au-cursor.is-visible { opacity: 1; }
.au-cursor.is-hover { width: 58px; height: 58px; margin: -29px 0 0 -29px; background: color-mix(in srgb, var(--au-accent) 14%, transparent); border-color: transparent; }
.au-cursor.is-down { width: 26px; height: 26px; margin: -13px 0 0 -13px; }
.au-progress { position: fixed; left: 0; right: 0; top: 0; z-index: 99991; height: 3px; pointer-events: none; background: var(--au-grad); transform-origin: 0 50%; transform: scaleX(var(--au-p, 0)); }
.admin-bar .au-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .au-progress { top: 46px; } }
.au-grain::after { content: ""; position: fixed; inset: -50%; z-index: 99980; pointer-events: none; opacity: .05; background-image: 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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
html[data-au-mode="dark"] .au-grain::after { opacity: .07; }

/* ---------- Footer ---------- */
.aurion-skin .aurion-footer { position: relative; }
.aurion-skin .aurion-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--au-accent) 60%, transparent), color-mix(in srgb, var(--au-accent2) 60%, transparent), transparent); }

/* ---------- Seitenübergänge ---------- */
@keyframes au-vt-out { to { opacity: 0; transform: translateY(-8px); } }
@keyframes au-vt-in { from { opacity: 0; transform: translateY(12px); } }

/* ---------- Bewegung reduzieren: alle Dauer-Animationen anhalten ---------- */
@media (prefers-reduced-motion: reduce) {
	.au-aurora span, .au-beams span { animation: none; }
	.au-rotate__word { transition: none; }
	.aurion-skin .aurion-btn { translate: none; }
}

/* Hervorgehobenes Paket: Verlaufsrahmen bleibt auch mit Spotlight erhalten */
.au-has-spotlight .aurion-price.is-highlight.is-spot { background: radial-gradient(420px circle at var(--au-sx, 50%) var(--au-sy, 50%), color-mix(in srgb, var(--au-accent) 13%, transparent), transparent 62%) padding-box, linear-gradient(var(--au-bg), var(--au-bg)) padding-box, var(--au-grad) border-box; }
