/* =========================================================================
   AUTOMIQ — Site Styles (PHP-Port)
   Mirrors automiq-web (Next.js) globals.css + Tailwind classes that are
   actually used across the .php files. No build step required.
   ========================================================================= */

/* ---- Fonts (self-hosted, variable woff2) ----- */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/dmsans/dmsans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/dmsans/dmsans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/outfit/outfit-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/outfit/outfit-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---- CSS variables ----- */
:root {
  --font-outfit: 'Outfit', sans-serif;
  --font-dm-sans: 'DM Sans', sans-serif;
}

/* ---- Reset / base ----- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Lenis smooth-scroll requirements */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }
body {
  font-family: var(--font-dm-sans), sans-serif;
  background-color: #F7F7F4;
  color: #0F0F0F;
  overflow-x: clip;
  line-height: 1.5;
}
h1, h2, h3, h4 { font-family: var(--font-outfit), sans-serif; margin: 0; }
p { margin: 0; }
a { color: inherit; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
ul { margin: 0; padding: 0; list-style: none; }

::selection { background-color: rgba(37, 99, 235, 0.12); color: #0F0F0F; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #F5F5F2; }
::-webkit-scrollbar-thumb { background: #C8C8C3; border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: #2563EB; }

/* ---- Animations ----- */
@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
@keyframes marquee-vertical {
  0%   { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-fade-in-up { animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
.animate-fade-in    { animation: fadeIn 0.5s ease both; }
.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }
.delay-600 { animation-delay: 600ms; }

@keyframes neon-tube-blue {
  0%, 100% { box-shadow: 0 1px 2px rgba(37,99,235,0.2), 0 0 6px rgba(37,99,235,0.15); }
  50%      { box-shadow: 0 1px 2px rgba(37,99,235,0.2), 0 0 16px rgba(37,99,235,0.55), 0 0 32px rgba(37,99,235,0.25); }
}
@keyframes neon-tube-white {
  0%, 100% { box-shadow: 0 4px 12px rgba(255,255,255,0.1), 0 0 6px rgba(255,255,255,0.08); }
  50%      { box-shadow: 0 4px 12px rgba(255,255,255,0.2), 0 0 20px rgba(255,255,255,0.3), 0 0 40px rgba(255,255,255,0.12); }
}
@keyframes neon-tube-outline-dark {
  0%, 100% { box-shadow: 0 0 4px rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.18); }
  50%      { box-shadow: 0 0 14px rgba(255,255,255,0.18), 0 0 28px rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.45); }
}

.hero-btn-primary { animation: neon-tube-white 3.5s ease-in-out infinite; transition: transform 0.2s ease; }
.hero-btn-primary:hover { transform: translateY(-2px); }
.hero-btn-outline { animation: neon-tube-outline-dark 3.5s ease-in-out infinite; transition: transform 0.2s ease; }
.hero-btn-outline:hover { transform: translateY(-2px); }

.hero-trust-bar { border: none !important; box-shadow: none !important; background: transparent !important; }
.hero-value-card { cursor: default; transition: border-color 0.2s ease; border-color: rgba(37,99,235,0.15) !important; box-shadow: none; }
.hero-value-card:hover { background: #FFFFFF !important; border-color: #2563EB !important; box-shadow: none; }

/* ---- Components ----- */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: #2563EB;
  color: #fff;
  border-radius: 9999px;
  font-family: var(--font-outfit), sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s ease;
  animation: neon-tube-blue 3.5s ease-in-out infinite;
  text-decoration: none;
  white-space: nowrap;
  border: 0;
}
.btn-primary:hover { background: #1D4ED8; transform: translateY(-2px); box-shadow: 0 2px 4px rgba(37,99,235,0.2), 0 8px 24px rgba(37,99,235,0.35); }
.btn-primary:active { transform: translateY(0); }

.btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1.75rem;
  background: transparent;
  color: #0F0F0F;
  border: 1.5px solid #D0D0CA;
  border-radius: 9999px;
  font-family: var(--font-outfit), sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s ease;
  animation: neon-tube-blue 3.5s ease-in-out infinite;
  text-decoration: none;
  white-space: nowrap;
}
.btn-outline:hover { background: #F5F5F2; border-color: #9A9A9A; transform: translateY(-2px); }

.section-padding { padding-left: clamp(1.25rem, 5vw, 5rem); padding-right: clamp(1.25rem, 5vw, 5rem); }

.card-elevated {
  background: #FFFFFF;
  border: 1px solid rgba(37,99,235,0.14);
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(37,99,235,0.04), 0 4px 16px rgba(37,99,235,0.06);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.card-elevated:hover { box-shadow: 0 2px 4px rgba(37,99,235,0.08), 0 8px 32px rgba(37,99,235,0.12); transform: translateY(-2px); }

/* ---- Legal pages ----- */
.legal-prose h2 { font-family: var(--font-outfit), sans-serif; font-size: 1.25rem; font-weight: 700; color: #0F0F0F; letter-spacing: -0.01em; margin-top: 2.5rem; margin-bottom: 0.75rem; }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose h3 { font-family: var(--font-outfit), sans-serif; font-size: 1rem; font-weight: 700; color: #1A1A1A; margin-top: 1.75rem; margin-bottom: 0.5rem; }
.legal-prose p  { margin-bottom: 1rem; }
.legal-prose a  { color: #2563EB; text-decoration: underline; text-underline-offset: 2px; }
.legal-prose a:hover { color: #1D4ED8; }
.legal-prose ul { list-style: disc; padding-left: 1.25rem; margin-bottom: 1rem; }
.legal-prose ul li { margin-bottom: 0.35rem; }
.legal-prose .legal-data { background: #FFFFFF; border: 1px solid #E8E8E2; border-radius: 12px; padding: 1rem 1.25rem; margin-bottom: 1.25rem; font-size: 0.9rem; line-height: 1.7; }
.legal-prose .legal-warn { background: #FFF8E5; border: 1px solid #F0D77A; border-radius: 12px; padding: 1rem 1.25rem; margin-bottom: 1.5rem; font-size: 0.875rem; color: #5C4400; }

/* =========================================================================
   Utility classes (hand-picked from Tailwind, only what's used)
   ========================================================================= */

/* layout */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed    { position: fixed; }
.sticky   { position: sticky; }

.inset-0 { inset: 0; }
.top-0 { top: 0; } .bottom-0 { bottom: 0; } .left-0 { left: 0; } .right-0 { right: 0; }

.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-50 { z-index: 50; }

.w-full { width: 100%; }
.w-8 { width: 2rem; }
.h-full { height: 100%; }
.h-px { height: 1px; }
.h-\[40px\] { height: 40px; }
.pt-\[40px\] { padding-top: 40px; }
.min-h-screen { min-height: 100vh; }

.max-w-xl   { max-width: 36rem; }
.max-w-2xl  { max-width: 42rem; }
.max-w-3xl  { max-width: 48rem; }
.max-w-4xl  { max-width: 56rem; }
.max-w-6xl  { max-width: 72rem; }
.max-w-7xl  { max-width: 80rem; }
.mx-auto    { margin-left: auto; margin-right: auto; }

.flex      { display: flex; }
.inline-flex { display: inline-flex; }
.flex-col  { flex-direction: column; }
.flex-row  { flex-direction: row; }
.flex-wrap { flex-wrap: wrap; }
.flex-1    { flex: 1 1 0%; }
.shrink-0  { flex-shrink: 0; }
.items-center { align-items: center; }
.items-start  { align-items: flex-start; }
.items-baseline { align-items: baseline; }
.justify-between { justify-content: space-between; }
.justify-center  { justify-content: center; }
.justify-end     { justify-content: flex-end; }

.grid             { display: grid; }
.grid-cols-1      { grid-template-columns: repeat(1, minmax(0,1fr)); }
.grid-cols-2      { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-cols-3      { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-cols-4      { grid-template-columns: repeat(4, minmax(0,1fr)); }

.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }

/* spacing */
.p-4 { padding: 1rem; } .p-5 { padding: 1.25rem; } .p-6 { padding: 1.5rem; } .p-7 { padding: 1.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; } .px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pl-6 { padding-left: 1.5rem; } .pl-8 { padding-left: 2rem; } .pr-4 { padding-right: 1rem; }
.mb-1 { margin-bottom: 0.25rem; } .mb-2 { margin-bottom: 0.5rem; } .mb-3 { margin-bottom: 0.75rem; }
.mb-4 { margin-bottom: 1rem; } .mb-6 { margin-bottom: 1.5rem; } .mb-8 { margin-bottom: 2rem; }
.mb-10 { margin-bottom: 2.5rem; } .mb-12 { margin-bottom: 3rem; }
.mt-0\.5 { margin-top: 0.125rem; }
.mt-1 { margin-top: 0.25rem; } .mt-3 { margin-top: 0.75rem; }
.mt-12 { margin-top: 3rem; } .mt-14 { margin-top: 3.5rem; }

/* text */
.text-xs   { font-size: 0.75rem;  line-height: 1rem; }
.text-sm   { font-size: 0.875rem; line-height: 1.25rem; }
.text-\[11px\]  { font-size: 11px; }
.text-\[2rem\]  { font-size: 2rem; }
.text-\[clamp\(1\.25rem\,3vw\,1\.75rem\)\] { font-size: clamp(1.25rem, 3vw, 1.75rem); }
.text-\[clamp\(1\.5rem\,3vw\,2\.25rem\)\]  { font-size: clamp(1.5rem, 3vw, 2.25rem); }
.text-\[clamp\(1\.75rem\,3\.5vw\,2\.5rem\)\] { font-size: clamp(1.75rem, 3.5vw, 2.5rem); }
.text-center { text-align: center; }
.text-left   { text-align: left; }
.italic { font-style: italic; }
.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }
.leading-relaxed { line-height: 1.625; }
.leading-snug    { line-height: 1.375; }
.tracking-tight  { letter-spacing: -0.025em; }
.tracking-wider  { letter-spacing: 0.05em; }
.tracking-\[0\.1em\]  { letter-spacing: 0.1em; }
.tracking-\[0\.12em\] { letter-spacing: 0.12em; }
.font-bold       { font-weight: 700; }
.font-extrabold  { font-weight: 800; }
.font-semibold   { font-weight: 600; }
.font-medium     { font-weight: 500; }
.font-mono       { font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.font-heading    { font-family: var(--font-outfit), sans-serif; }

/* colours */
.bg-white          { background-color: #FFFFFF; }
.bg-\[\#1A1A1A\]   { background-color: #1A1A1A; }
.bg-\[\#2563EB\]   { background-color: #2563EB; }
.bg-\[\#2563EB\]\/5 { background-color: rgba(37,99,235,0.05); }
.bg-\[\#F7F7F5\]   { background-color: #F7F7F5; }
.text-white        { color: #FFFFFF; }
.text-white\/90    { color: rgba(255,255,255,0.9); }
.text-\[\#1A1A1A\] { color: #1A1A1A; }
.text-\[\#2563EB\] { color: #2563EB; }
.text-\[\#555\]    { color: #555; }
.text-\[\#666\]    { color: #666; }
.text-\[\#777\]    { color: #777; }
.text-\[\#999\]    { color: #999; }
.text-\[\#CCC\]    { color: #CCC; }

/* borders */
.border           { border: 1px solid #E5E5E0; }
.border-2         { border-width: 2px; }
.border-l-2       { border-left-width: 2px; }
.border-l-4       { border-left-width: 4px; }
.border-\[\#2563EB\]  { border-color: #2563EB; }
.border-\[\#E5E5E0\]  { border-color: #E5E5E0; }
.rounded-xl       { border-radius: 0.75rem; }
.rounded-2xl      { border-radius: 1rem; }

/* misc */
.overflow-hidden  { overflow: hidden; }
.overflow-x-auto  { overflow-x: auto; }
.object-cover     { object-fit: cover; }
.object-top       { object-position: top; }
.pointer-events-none { pointer-events: none; }
.pointer-events-auto { pointer-events: auto; }
.hidden           { display: none; }

.order-1 { order: 1; }
.order-2 { order: 2; }
.order-3 { order: 3; }

/* responsive */
@media (min-width: 640px) {
  .sm\:flex-row { flex-direction: row; }
  .sm\:hidden   { display: none; }
  .sm\:inline   { display: inline; }
  .sm\:text-xs  { font-size: 0.75rem; line-height: 1rem; }
}
@media (min-width: 768px) {
  .md\:block   { display: block; }
  .md\:flex    { display: flex; }
  .md\:hidden  { display: none; }
  .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  .lg\:block       { display: block; }
  .lg\:flex        { display: flex; }
  .lg\:hidden      { display: none; }
  .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .lg\:max-w-\[50\%\] { max-width: 50%; }
  .lg\:order-first { order: -9999; }
  .lg\:order-none  { order: 0; }
}

/* ===== Liquid glass + Dark video hero ===== */
.liquid-glass {
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(14px) saturate(160%);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.10);
  position: relative;
  overflow: hidden;
}
.liquid-glass::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.4px;
  background: linear-gradient(180deg, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.15) 20%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,255,255,0.15) 80%, rgba(255,255,255,0.45) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  pointer-events: none;
}

.hero-dark { position: relative; min-height: 100dvh; background: #050507; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-scrim { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(ellipse 90% 70% at 30% 45%, rgba(5,5,7,0.30) 0%, rgba(5,5,7,0.62) 70%, rgba(5,5,7,0.78) 100%),
    linear-gradient(180deg, rgba(5,5,7,0.55) 0%, rgba(5,5,7,0.10) 22%, rgba(5,5,7,0.10) 55%, rgba(5,5,7,0.92) 100%);
}
.hero-tagline { font-family: var(--font-dm-sans); font-size: clamp(0.6rem,1.4vw,0.72rem); font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(255,255,255,0.72); }
.hero-title { font-family: var(--font-outfit), sans-serif; font-weight: 700; letter-spacing: -0.025em; line-height: 1.08; color: #FFFFFF; font-size: clamp(2.2rem, 5.4vw, 4.25rem); }
.hero-title .accent { color: #5B9BFF; }
.hero-sub { font-family: var(--font-dm-sans); color: rgba(255,255,255,0.66); font-size: clamp(0.98rem,1.1vw,1.1rem); line-height: 1.65; }

.hero-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.95rem 1.9rem; border-radius: 9999px; font-family: var(--font-outfit), sans-serif; font-size: 0.9rem; font-weight: 600; text-decoration: none; cursor: pointer; transition: transform 0.18s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
.hero-btn-accent { background: #2563EB; color: #FFFFFF; box-shadow: 0 8px 24px -8px rgba(37,99,235,0.7); }
.hero-btn-accent:hover { background: #3B7BF5; transform: translateY(-1px); }
.hero-btn-glass { color: #FFFFFF; border: 1px solid rgba(255,255,255,0.22); background: rgba(255,255,255,0.05); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.hero-btn-glass:hover { border-color: rgba(255,255,255,0.45); background: rgba(255,255,255,0.09); transform: translateY(-1px); }
.hero-scroll-cue { color: rgba(255,255,255,0.55); display: inline-flex; flex-direction: column; align-items: center; gap: 0.4rem; text-decoration: none; font-family: var(--font-dm-sans); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; transition: color 0.25s ease; }
.hero-scroll-cue:hover { color: rgba(255,255,255,0.9); }
.hero-scroll-cue svg { animation: hero-bob 2.2s ease-in-out infinite; }
@keyframes hero-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(5px); } }

/* Nav: glass over dark hero, solid white once scrolled */
#siteHeader .nav-pill { transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; }
#siteHeader.over-hero .nav-pill { background: rgba(255,255,255,0.06) !important; border-color: rgba(255,255,255,0.14) !important; box-shadow: 0 8px 30px -12px rgba(0,0,0,0.5) !important; backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); }
#siteHeader.over-hero .nav-logo { color: #FFFFFF !important; }
#siteHeader.over-hero [data-nav-link] { color: rgba(255,255,255,0.78) !important; }
#siteHeader.over-hero [data-nav-link]:hover { color: #FFFFFF !important; }
#siteHeader.over-hero .nav-cta-outline { color: #FFFFFF !important; border-color: rgba(255,255,255,0.30) !important; }
#siteHeader.over-hero .nav-hamburger { color: #FFFFFF !important; border-color: rgba(255,255,255,0.30) !important; }

/* Kontaktformular-Inputs (dunkle Sektion) */
.kontakt-input { width: 100%; box-sizing: border-box; padding: 0.85rem 1.1rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.16); border-radius: 10px; color: #FFFFFF; font-family: var(--font-dm-sans); font-size: 0.95rem; line-height: 1.5; outline: none; transition: border-color 0.2s ease, background 0.2s ease; }
.kontakt-input::placeholder { color: rgba(255,255,255,0.42); }
.kontakt-input:focus { border-color: rgba(74,143,255,0.6); background: rgba(255,255,255,0.08); }

/* Kontakt-Video-Bühne (Beispiel-Stil) */
.kontakt-stage { position: relative; min-height: 100dvh; overflow: hidden; background: #050507; display: flex; align-items: flex-end; }
.kontakt-badge { display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--font-dm-sans); font-size: 0.78rem; font-weight: 500; color: #5B9BFF; text-decoration: none; transition: color 0.2s ease; }
.kontakt-badge:hover { color: #85B5FF; }
.kontakt-badge .arrow, .kontakt-cta .arrow { display: inline-block; transition: transform 0.2s ease; }
.kontakt-badge:hover .arrow { transform: translateX(2px); }
.kontakt-cta { display: inline-flex; align-items: center; gap: 0.5rem; font-family: var(--font-outfit), sans-serif; font-size: 0.9rem; font-weight: 600; color: #5B9BFF; border: 1px solid rgba(91,155,255,0.5); border-radius: 9999px; padding: 0.72rem 1.5rem; text-decoration: none; cursor: pointer; transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.kontakt-cta:hover { background: #2563EB; color: #FFFFFF; border-color: #2563EB; }
.kontakt-cta:hover .arrow { transform: translateX(2px); }

/* reCAPTCHA v3: Badge ausblenden (Hinweistext steht beim Formular) */
.grecaptcha-badge { visibility: hidden; }
