/* ============================================================
   index.css — LAD Brand Landing Page
   Brand: Cyan #009FE3 · Navy #1B2B6B · Purple #544495 · Magenta #E6007E
   ============================================================ */

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Hold every CSS animation until the first frame is painted.
   <html> gets .anim-on right after the first paint (set in index.html).
   Without this, the very first render has to start 40+ infinite
   animations at once — a measured cause of the long blank on mobile
   Safari. Scroll-reveal uses transitions (not animations) so it is
   unaffected. */
html:not(.anim-on) *,
html:not(.anim-on) *::before,
html:not(.anim-on) *::after { animation: none !important; }

/* --- Global Background Blobs --- */
.bg-blobs {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.bg-blob {
  position: absolute;
  border-radius: 50%;
  /* No filter:blur() — a soft radial-gradient gives the same fog at
     ~zero compositing cost (blur(140px) on ~1200px layers was the
     dominant first-paint stall on mobile Safari). */
  opacity: 0.12;
}
.bg-blob--cyan {
  width: 1200px; height: 1200px;
  background: radial-gradient(circle, #009FE3 0%, rgba(0,159,227,0.35) 45%, transparent 70%);
  top: -10%; left: -15%;
  animation: bg-drift-1 30s infinite ease-in-out;
}
.bg-blob--purple {
  width: 900px; height: 900px;
  background: radial-gradient(circle, #544495 0%, rgba(84,68,149,0.35) 45%, transparent 70%);
  top: 40%; right: -10%;
  animation: bg-drift-2 26s infinite ease-in-out;
}
.bg-blob--magenta {
  width: 1100px; height: 1100px;
  background: radial-gradient(circle, #E6007E 0%, rgba(230,0,126,0.35) 45%, transparent 70%);
  bottom: -5%; left: 20%;
  animation: bg-drift-3 34s infinite ease-in-out;
}

/* === Rich tier ============================================================
   Capable (desktop) devices re-enable the heavy blur glow for the hero
   aurora + page-background blobs. html.fx-rich is added AFTER first paint
   by a heuristic check in index.js, so it never reintroduces the mobile
   blank. Default (no class) keeps the cheap, mobile-safe version above. */
html.fx-rich .bg-blob          { filter: blur(140px); }
html.fx-rich .bg-blob--cyan    { background: radial-gradient(circle, #00c8ff 0%, #009FE3 50%, transparent 100%); }
html.fx-rich .bg-blob--purple  { background: radial-gradient(circle, #7b68c4 0%, #544495 50%, transparent 100%); }
html.fx-rich .bg-blob--magenta { background: radial-gradient(circle, #ff3da5 0%, #E6007E 50%, transparent 100%); }
html.fx-rich .aurora-blob       { filter: blur(45px); opacity: 0.65; }
html.fx-rich .aurora-blob--glow { filter: blur(30px); }
/* ======================================================================= */

@keyframes bg-drift-1 {
  0%   { transform: translate(0, 0) scale(1); }
  25%  { transform: translate(12vw, 15vh) scale(1.08); }
  50%  { transform: translate(5vw, 30vh) scale(0.95); }
  75%  { transform: translate(-8vw, 10vh) scale(1.05); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes bg-drift-2 {
  0%   { transform: translate(0, 0) scale(1); }
  25%  { transform: translate(-10vw, -12vh) scale(1.1); }
  50%  { transform: translate(-15vw, 8vh) scale(0.92); }
  75%  { transform: translate(5vw, -5vh) scale(1.06); }
  100% { transform: translate(0, 0) scale(1); }
}
@keyframes bg-drift-3 {
  0%   { transform: translate(0, 0) scale(1); }
  25%  { transform: translate(8vw, -10vh) scale(0.95); }
  50%  { transform: translate(-5vw, -20vh) scale(1.1); }
  75%  { transform: translate(10vw, -8vh) scale(0.98); }
  100% { transform: translate(0, 0) scale(1); }
}

:root {
  /* Brand Colours */
  --color-primary: #009FE3;
  --color-primary-dark: #0080B8;
  --color-dark: #1B2B6B;
  --color-dark-card: #162256;
  --color-accent: #E6007E;
  --color-purple: #544495;
  --color-white: #ffffff;
  --color-off-white: #f5f7fb;
  --color-text: #1a1a2e;
  --color-text-light: #4a4a6a;
  --color-text-muted: #7a7a9a;
  --color-border: #dde0ea;

  /* Brand Gradients */
  --gradient-brand: linear-gradient(135deg, #009FE3, #544495, #E6007E);
  --gradient-brand-subtle: linear-gradient(135deg, rgba(0,159,227,.06), rgba(84,68,149,.04), rgba(230,0,126,.06));
  --gradient-accent-text: linear-gradient(90deg, #009FE3, #544495, #E6007E);

  /* LAD logo silhouette — inlined as data URI so the gradient-masked
     nav/footer logo also renders under file:// (external mask URLs are
     blocked by browsers on the file: protocol). */
  --lad-logo-mask: url('data:image/png;base64,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');

  /* Typography */
  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --fs-hero: clamp(2.5rem, 5vw, 3.75rem);
  --fs-h2: clamp(2rem, 3.5vw, 3rem);
  --fs-h3: clamp(1.25rem, 2vw, 1.5rem);
  --fs-body: 1.125rem;
  --fs-small: 0.9375rem;
  --lh-body: 1.7;
  --lh-heading: 1.2;

  /* Spacing */
  --section-py: clamp(80px, 10vw, 120px);
  --container-max: 1200px;
  --container-px: clamp(20px, 5vw, 40px);

  /* Shapes */
  --radius-card: 16px;
  --radius-pill: 999px;
  --radius-sm: 8px;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-family);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--color-text);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

section, .hero, footer {
  position: relative;
  z-index: 1;
}

.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--container-px);
}

/* --- Pill Button --- */
.btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: var(--radius-pill);
  font-size: 1rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s;
}
.btn-pill:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.12);
}
.btn-primary {
  background: var(--color-primary);
  color: var(--color-white);
}
.btn-primary:hover { background: var(--color-primary-dark); }
.btn-outline {
  background: transparent;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}
.btn-outline:hover { background: var(--color-primary); color: var(--color-white); }
.btn-white {
  background: var(--color-white);
  color: var(--color-dark);
}
.btn-white:hover { background: #f0f0f5; }

/* --- Navigation --- */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 16px 0;
  transition: background 0.3s, box-shadow 0.3s, padding 0.3s;
}
.nav.scrolled {
  /* Was rgba(.95) + backdrop-filter:blur(12px); the blur forced a
     repaint of everything behind the sticky nav on every scroll
     frame. Solid-ish white reads the same without that cost. */
  background: rgba(255,255,255,.98);
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
  padding: 10px 0;
}
.nav .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* NAV Logo — animated gradient masked through white logo PNG */
.nav-logo { display: flex; align-items: center; }
.nav-logo-animated {
  width: 80px;
  height: 44px;
  background: linear-gradient(135deg, #1B2B6B, #544495, #E6007E, #544495, #1B2B6B);
  background-size: 300% 300%;
  animation: nav-logo-gradient 6s ease infinite;
  -webkit-mask-image: var(--lad-logo-mask);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: var(--lad-logo-mask);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
@keyframes nav-logo-gradient {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
}
.nav-links a {
  font-size: var(--fs-small);
  font-weight: 500;
  color: var(--color-text);
  transition: color 0.2s;
  white-space: nowrap;
}
.nav-links a:hover { color: var(--color-primary); }

.nav-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.lang-select {
  padding: 6px 14px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background: var(--color-white);
  font-size: var(--fs-small);
  cursor: pointer;
  color: var(--color-text);
}
.nav-cta {
  padding: 8px 20px;
  min-height: 36px;
  font-size: var(--fs-small);
  line-height: 1.2;
}

/* Mobile hamburger */
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.nav-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--color-text);
  border-radius: 2px;
  transition: transform 0.3s, opacity 0.3s;
}

/* ============================================================
   HERO — Aurora Logo top center, Text+Mockup two-column below
   ============================================================ */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: linear-gradient(-45deg, #ffffff, #f0f8ff, #faf0ff, #fff0f8, #f0f5ff, #ffffff);
  background-size: 400% 400%;
  animation: hero-bg-breathe 20s ease infinite;
  padding-top: 80px;
  position: relative;
  overflow: hidden;
}

@keyframes hero-bg-breathe {
  0%   { background-position: 0% 50%; }
  25%  { background-position: 50% 0%; }
  50%  { background-position: 100% 50%; }
  75%  { background-position: 50% 100%; }
  100% { background-position: 0% 50%; }
}

.hero .container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 100%;
  box-sizing: border-box;
}

/* Top row: centered Aurora logo */
.hero-logo-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.hero-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 420px;
  height: 280px;
}

.hero-aurora {
  position: absolute;
  inset: -40px;
  z-index: 1;
  pointer-events: none;
  overflow: visible;
}

.aurora-blob {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  /* filter:blur() removed — soft gradient stops below give the glow.
     will-change no longer pins a filter layer. */
  opacity: 0.55;
  mix-blend-mode: multiply;
  will-change: transform;
}
.aurora-blob--cyan {
  background: radial-gradient(circle, #00c8ff 0%, rgba(0,159,227,0.55) 40%, transparent 72%);
  width: 360px; height: 360px;
  animation: aurora-1 12s infinite ease-in-out;
}
.aurora-blob--purple {
  background: radial-gradient(circle, #7b68c4 0%, rgba(84,68,149,0.55) 40%, transparent 72%);
  width: 210px; height: 210px;
  animation: aurora-2 10s infinite ease-in-out;
}
.aurora-blob--magenta {
  background: radial-gradient(circle, #ff3da5 0%, rgba(230,0,126,0.55) 40%, transparent 72%);
  width: 380px; height: 380px;
  animation: aurora-3 11s infinite ease-in-out;
}

/* Orbit-artige Bewegungen */
@keyframes aurora-1 {
  0%   { transform: translate(calc(-50% - 100px), calc(-50% + 60px)) scale(0.85) rotate(0deg); }
  33%  { transform: translate(calc(-50% + 80px), calc(-50% - 90px)) scale(1.15) rotate(5deg); }
  66%  { transform: translate(calc(-50% + 40px), calc(-50% + 70px)) scale(0.95) rotate(-3deg); }
  100% { transform: translate(calc(-50% - 100px), calc(-50% + 60px)) scale(0.85) rotate(0deg); }
}
@keyframes aurora-2 {
  0%   { transform: translate(calc(-50% + 70px), calc(-50% + 50px)) scale(1) rotate(0deg); }
  33%  { transform: translate(calc(-50% - 80px), calc(-50% - 30px)) scale(0.8) rotate(-8deg); }
  66%  { transform: translate(calc(-50% + 20px), calc(-50% - 70px)) scale(1.1) rotate(4deg); }
  100% { transform: translate(calc(-50% + 70px), calc(-50% + 50px)) scale(1) rotate(0deg); }
}
@keyframes aurora-3 {
  0%   { transform: translate(calc(-50% - 50px), calc(-50% + 80px)) scale(1.1) rotate(0deg); }
  25%  { transform: translate(calc(-50% + 90px), calc(-50% + 10px)) scale(0.85) rotate(6deg); }
  50%  { transform: translate(calc(-50% + 30px), calc(-50% - 80px)) scale(1.05) rotate(-4deg); }
  75%  { transform: translate(calc(-50% - 80px), calc(-50% - 20px)) scale(0.9) rotate(3deg); }
  100% { transform: translate(calc(-50% - 50px), calc(-50% + 80px)) scale(1.1) rotate(0deg); }
}

/* Glow blob — heller Kern für Tiefe */
.aurora-blob--glow {
  background: radial-gradient(circle, rgba(255,255,255,.85) 0%, rgba(200,230,255,.3) 38%, transparent 68%);
  width: 240px; height: 240px;
  opacity: 0.8;
  mix-blend-mode: screen;
  animation: aurora-glow 14s infinite ease-in-out;
}
@keyframes aurora-glow {
  0%   { transform: translate(calc(-50% + 20px), calc(-50% - 10px)) scale(0.8); }
  33%  { transform: translate(calc(-50% - 30px), calc(-50% + 30px)) scale(1.2); }
  66%  { transform: translate(calc(-50% + 40px), calc(-50% + 10px)) scale(0.9); }
  100% { transform: translate(calc(-50% + 20px), calc(-50% - 10px)) scale(0.8); }
}

/* aurora-pulse-* keyframes removed — they animated filter:blur()
   (very expensive) and are no longer referenced. */

.hero-logo {
  position: relative;
  z-index: 2;
  max-width: 340px;
  width: 100%;
}
.hero-logo img {
  width: 100%;
  height: auto;
}
.hero-logo-sub {
  text-align: center;
  font-size: clamp(0.7rem, 2.5vw, 1.1rem);
  font-weight: 600;
  letter-spacing: clamp(0.05em, 1vw, 0.2em);
  text-transform: uppercase;
  background: linear-gradient(135deg, #1B2B6B, #544495, #E6007E);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-top: 12px;
}

/* Bottom row: two-column text + mockup */
.hero-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 100%;
  overflow: visible;
}

.hero-text {
  max-width: 560px;
  width: 100%;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.hero-text .btn-pill {
  margin-bottom: 40px;
}

.hero-badge {
  display: inline-block;
  padding: 10px 24px;
  background: linear-gradient(135deg, rgba(0,159,227,.08), rgba(84,68,149,.06), rgba(230,0,126,.08), rgba(0,159,227,.08));
  background-size: 300% 300%;
  border: 1px solid rgba(84,68,149,.15);
  border-radius: var(--radius-pill);
  font-size: var(--fs-small);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--color-purple);
  margin-bottom: 24px;
  animation: badge-shimmer 8s ease-in-out infinite;
  box-shadow: 0 2px 16px rgba(84,68,149,.08);
}

@keyframes badge-shimmer {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.hero h1 {
  font-size: var(--fs-hero);
  line-height: var(--lh-heading);
  font-weight: 800;
  margin-bottom: 24px;
}
.hero p {
  font-size: 1.25rem;
  color: var(--color-text-light);
  margin-bottom: 32px;
  max-width: min(480px, 100%);
}
.hero-trust {
  font-size: 1.05rem;
  color: var(--color-text-light);
  background: none;
  border: none;
  padding: 0;
  margin-bottom: 32px;
  max-width: 480px;
  line-height: 1.6;
  font-weight: 500;
}

/* Hero Mockup (right column) */
.hero-mockup {
  background: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: 0 20px 60px rgba(27,43,107,.1);
  min-height: 380px;
  display: flex;
  flex-direction: column;
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  padding: 0;
  position: relative;
  overflow: hidden;
  animation: slow-zoom 12s ease-in-out infinite alternate;
}
.hero-mockup::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 40px;
  background: #f5f5f8;
  border-bottom: 1px solid var(--color-border);
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}
.hero-mockup-app {
  display: flex;
  width: 100%;
  margin-top: 40px;
  flex: 1;
  min-height: 0;
}

/* ============================================================
   SECTION DECORATIVE AURORA BLOBS (reusable)
   ============================================================ */
.section-aurora {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.section-aurora .aurora-blob {
  opacity: 0.2;
  /* filter:blur(80px) removed — soft gradient already diffuses at 0.2 */
}

/* ============================================================
   RIPPLE RINGS — Brand colors
   ============================================================ */
.ripple-wrap {
  position: absolute;
  top: 35%;
  left: 50%;
  transform: translate(-50%, -50%) perspective(600px) rotateX(55deg);
  width: 0; height: 0;
  z-index: 1;
  pointer-events: none;
}
.ripple-ring {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) scale(0.2);
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    transparent 42%,
    rgba(0,159,227,.06) 44%,
    rgba(84,68,149,.14) 47%,
    rgba(230,0,126,.25) 49.5%,
    rgba(84,68,149,.14) 52%,
    rgba(0,159,227,.06) 55%,
    transparent 57%
  );
  opacity: 0;
  will-change: transform, opacity;
  animation: ripple-expand 14s ease-out infinite;
}
.ripple-ring--2 { animation-delay: 2.8s; }
.ripple-ring--3 { animation-delay: 5.6s; }
.ripple-ring--4 { animation-delay: 8.4s; }
.ripple-ring--5 { animation-delay: 11.2s; }

@keyframes ripple-expand {
  0% {
    transform: translate(-50%, -50%) scale(0.2);
    opacity: 0.8;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.2);
    opacity: 0;
  }
}

/* --- Feature Tagline --- */
.tagline {
  padding: var(--section-py) 0;
  background: var(--color-off-white);
  text-align: center;
}
.tagline h2 {
  font-size: var(--fs-h2);
  line-height: 1.3;
  max-width: 800px;
  margin: 0 auto;
  font-weight: 800;
  background: linear-gradient(90deg, #009FE3, #544495, #E6007E, #544495, #009FE3);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradient-flow 6s linear infinite;
}

@keyframes gradient-flow {
  0%   { background-position: 0% center; }
  100% { background-position: 200% center; }
}

.tagline-answer {
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  font-weight: 900;
  margin: 24px auto 0;
  background: linear-gradient(135deg, #E6007E, #544495);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -0.02em;
}

/* --- Voice Demo (Siri-Style) --- */
.voice-demo {
  padding: var(--section-py) 0;
  text-align: center;
  background: var(--color-white);
}
.voice-demo-label {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: 12px;
}
.voice-demo-sub {
  color: var(--color-text-light);
  max-width: 480px;
  margin: 0 auto 48px;
}
.voice-demo .container {
  position: relative;
}

/* Matrix code rain */
.voice-matrix-wrap {
  position: absolute;
  inset: 80px 0 0 0;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
  mask-image: radial-gradient(ellipse 90% 90% at 50% 55%, black 40%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 90% 90% at 50% 55%, black 40%, transparent 80%);
}
.voice-matrix {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.6s ease;
}
.voice-matrix.active {
  opacity: 0.65;
}

/* Phone frame (uses <iphone-16-max> web component for the shell) */
.voice-phone {
  width: 300px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.voice-phone-screen {
  background: linear-gradient(180deg, #111827 0%, #1a1f2e 100%);
  padding: 16px 16px 24px;
  min-height: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* Chat messages */
.voice-chat {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
  padding-top: 40px;
}
.voice-msg {
  padding: 10px 14px;
  border-radius: 16px;
  font-size: 0.78rem;
  line-height: 1.5;
  max-width: 85%;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.voice-msg.visible {
  opacity: 1;
  transform: translateY(0);
}
.voice-msg--user {
  background: linear-gradient(135deg, #009FE3, #544495);
  color: #fff;
  align-self: flex-end;
  border-bottom-right-radius: 4px;
}
.voice-msg--bot {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
  align-self: flex-start;
  border-bottom-left-radius: 4px;
}

/* Voice button & rings */
.voice-btn-wrap {
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto 8px;
}
.voice-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 4px solid transparent;
}
.voice-ring--1 {
  inset: -10px;
  border-color: rgba(0,159,227,0.45);
  animation: voice-ring-pulse 5s ease-in-out infinite;
  transition: border-color 0.6s ease, box-shadow 0.6s ease;
}
.voice-ring--2 {
  inset: -22px;
  border-color: rgba(84,68,149,0.4);
  animation: voice-ring-pulse 5s ease-in-out infinite;
  animation-delay: 1.66s;
  transition: border-color 0.6s ease, box-shadow 0.6s ease;
}
.voice-ring--3 {
  inset: -34px;
  border-color: rgba(230,0,126,0.35);
  animation: voice-ring-pulse 5s ease-in-out infinite;
  animation-delay: 3.33s;
  transition: border-color 0.6s ease, box-shadow 0.6s ease;
}

/* Single continuous pulse — runs in every state so class toggles don't restart it */
@keyframes voice-ring-pulse {
  0%   { transform: scale(0.92); opacity: 0.35; }
  50%  { transform: scale(1.14); opacity: 1; }
  100% { transform: scale(0.92); opacity: 0.35; }
}

/* Listening state only changes color + glow — animation keeps running */
.voice-btn-wrap.listening .voice-ring--1 {
  border-color: rgba(0,159,227,0.6);
  box-shadow: 0 0 20px rgba(0,159,227,0.15);
}
.voice-btn-wrap.listening .voice-ring--2 {
  border-color: rgba(84,68,149,0.5);
  box-shadow: 0 0 20px rgba(84,68,149,0.12);
}
.voice-btn-wrap.listening .voice-ring--3 {
  border-color: rgba(230,0,126,0.45);
  box-shadow: 0 0 20px rgba(230,0,126,0.1);
}

/* The button itself — animated gradient idle */
.voice-btn {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #1B2B6B, #009FE3, #544495, #E6007E, #1B2B6B);
  background-size: 400% 400%;
  animation: voice-btn-idle 8s ease-in-out infinite;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 24px rgba(84,68,149,0.3);
  transition: transform 0.2s, box-shadow 0.2s;
  z-index: 2;
}
@keyframes voice-btn-idle {
  0%   { background-position: 0% 50%; box-shadow: 0 4px 24px rgba(27,43,107,0.35); }
  25%  { background-position: 50% 0%; box-shadow: 0 4px 24px rgba(0,159,227,0.35); }
  50%  { background-position: 100% 50%; box-shadow: 0 4px 24px rgba(84,68,149,0.35); }
  75%  { background-position: 50% 100%; box-shadow: 0 4px 24px rgba(230,0,126,0.35); }
  100% { background-position: 0% 50%; box-shadow: 0 4px 24px rgba(27,43,107,0.35); }
}
.voice-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 32px rgba(84,68,149,0.4);
}
.voice-btn:active {
  transform: scale(0.97);
}

/* Listening state — faster, more vivid */
.voice-btn-wrap.listening .voice-btn {
  background: linear-gradient(135deg, #009FE3, #E6007E, #544495, #009FE3);
  background-size: 300% 300%;
  animation: voice-btn-glow 1.2s ease-in-out infinite;
}
@keyframes voice-btn-glow {
  0%, 100% { background-position: 0% 50%; box-shadow: 0 0 40px rgba(0,159,227,0.5); }
  33%      { background-position: 100% 0%; box-shadow: 0 0 40px rgba(230,0,126,0.5); }
  66%      { background-position: 50% 100%; box-shadow: 0 0 40px rgba(84,68,149,0.5); }
}

.voice-btn-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  pointer-events: none;
}

.voice-btn-hint {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-text-light);
  letter-spacing: 0.08em;
  margin-top: 28px;
  animation: hint-pulse 2.5s ease-in-out infinite;
}
@keyframes hint-pulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50%      { opacity: 1; transform: scale(1.05); }
}

/* --- Automate the Ordinary --- */
.automate {
  position: relative;
  padding: var(--section-py) 0;
  background: linear-gradient(180deg, #e8edf6 0%, #d0d8ec 45%, #b0aad2 100%);
  text-align: center;
  overflow: hidden;
}
.automate-content { position: relative; z-index: 3; }
.automate h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  margin-bottom: 16px;
}
.automate-content > p {
  color: var(--color-text-light);
  max-width: 560px;
  margin: 0 auto 48px;
}

/* --- Grafik-Platzhalter --- */
.automate-graphic-placeholder {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 40px;
  height: 560px;
  min-height: 560px;
  background: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: 0 20px 60px rgba(27,43,107,.1);
  overflow: hidden;
  position: relative;
}
#datastreamCanvas {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 0;
}

/* --- Scrolling bubble marquee --- */
.bubble-marquee-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}
.bubble-row {
  overflow: hidden;
  white-space: nowrap;
}
.bubble-track {
  display: inline-flex;
  gap: 12px;
  animation: marquee-scroll 42s linear infinite;
}
.bubble-row--2 .bubble-track { animation-duration: 36s; animation-direction: reverse; }
.bubble-row--3 .bubble-track { animation-duration: 52s; }

@keyframes marquee-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.bubble {
  display: inline-block;
  padding: 10px 22px;
  border-radius: var(--radius-pill);
  background: rgba(27,43,107,.04);
  border: 1px solid rgba(27,43,107,.12);
  font-size: 0.875rem;
  font-weight: 500;
  color: #1B2B6B;
  white-space: nowrap;
}
.bubble-row--2 .bubble { background: rgba(27,43,107,.04); border-color: rgba(27,43,107,.12); color: #1B2B6B; }
.bubble-row--3 .bubble { background: rgba(27,43,107,.04); border-color: rgba(27,43,107,.12); color: #1B2B6B; }

/* --- Automate mockup --- */
.automate-mockup {
  position: relative;
  z-index: 2;
  max-width: 720px;
  margin: 0 auto;
  background: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: 0 20px 60px rgba(27,43,107,.1);
  overflow: hidden;
  animation: slow-zoom 10s ease-in-out infinite alternate;
}
.automate-mockup > .hero-mockup-dots {
  position: absolute;
  top: 14px; left: 16px;
  z-index: 3;
}
.automate-mockup::before {
  content: '';
  display: block;
  height: 40px;
  background: #f5f5f8;
  border-bottom: 1px solid var(--color-border);
}
.hero-mockup-dots {
  position: absolute;
  top: 14px;
  left: 16px;
  display: flex;
  gap: 6px;
}
.hero-mockup-dots span {
  width: 10px; height: 10px;
  border-radius: 50%;
}
.hero-mockup-dots span:nth-child(1) { background: #ff5f57; }
.hero-mockup-dots span:nth-child(2) { background: #febc2e; }
.hero-mockup-dots span:nth-child(3) { background: #28c840; }
.automate-mockup-body {
  display: flex;
  min-height: 340px;
}
.automate-mockup-sidebar {
  width: 180px;
  background: #fafafe;
  border-right: 1px solid var(--color-border);
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mockup-sidebar-item {
  height: 14px;
  border-radius: 6px;
  background: #e5e5ea;
}
.mockup-sidebar-item.active {
  background: var(--color-primary);
  opacity: .35;
}
.automate-mockup-main {
  flex: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.mockup-row {
  height: 12px;
  border-radius: 6px;
  background: #e5e5ea;
}
.mockup-row.short { width: 60%; }
.mockup-cards {
  display: flex;
  gap: 12px;
  margin-top: 4px;
}
.mockup-mini-card {
  flex: 1;
  height: 80px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0,159,227,.15), rgba(84,68,149,.1));
}

/* --- Recognise Trends / ROI --- */
.trends {
  position: relative;
  padding: 90px 0;
  background: var(--color-dark);
  overflow: hidden;
}
.trends-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.trends-text h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  margin-bottom: 20px;
  color: #ffffff;
}
.trends-text p {
  color: rgba(255,255,255,.7);
  margin-bottom: 0;
}

/* Bubble canvas background */
.trends-bubble-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

/* Chart area */
.trends-visual { position: relative; }
.trends-chart-img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-card);
  display: block;
}
.trends-chart-card {
  background: var(--color-white);
  border-radius: var(--radius-card);
  padding: 28px 24px 20px;
  box-shadow: 0 12px 40px rgba(27,43,107,.08);
}
.trends-chart-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}
.trends-chart-title { font-size: 1rem; font-weight: 700; }
.trends-chart-sub { font-size: 0.75rem; color: var(--color-text-muted); margin-top: 2px; }
.trends-chart-legend { display: flex; gap: 6px; align-items: center; }
.legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

.trends-bars {
  display: flex;
  gap: 10px;
  align-items: flex-end;
  height: 160px;
}
.trends-bar-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.bar-stack {
  flex: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 3px;
}
.bar-seg {
  width: 100%;
  border-radius: 4px;
  min-height: 4px;
}
.bar-label {
  font-size: 0.6875rem;
  color: var(--color-text-muted);
  margin-top: 8px;
}

/* Insight card with gradient border */
.trends-insight {
  position: relative;
  margin-top: 20px;
  background: var(--color-white);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  gap: 14px;
  align-items: center;
  box-shadow: 0 4px 20px rgba(27,43,107,.08);
  border: 1.5px solid transparent;
  background-image: linear-gradient(#fff, #fff), linear-gradient(135deg, #009FE3, #544495, #E6007E);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.trends-insight-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0,159,227,0.1), rgba(230,0,126,0.1));
}
.trends-insight-text {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--color-text);
  font-weight: 500;
}

.trends-pill {
  display: inline-block;
  margin-top: 20px;
  padding: 8px 20px;
  border-radius: var(--radius-pill);
  background: var(--color-dark);
  color: var(--color-white);
  font-size: 0.8125rem;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(27,43,107,.2);
}

/* --- Carousel Cards --- */
.carousel-section {
  padding: var(--section-py) 0 calc(var(--section-py) * 0.6);
  background: var(--color-off-white);
  overflow: hidden;
}
.carousel-section h2 {
  font-size: var(--fs-h2);
  line-height: var(--lh-heading);
  text-align: center;
  margin-bottom: 48px;
}

.carousel-track-wrap {
  width: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
}
.carousel-track {
  display: flex;
  gap: 24px;
  width: max-content;
  animation: carousel-scroll 50s linear infinite;
}
.carousel-track:hover { animation-play-state: paused; }

@keyframes carousel-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.carousel-card {
  flex-shrink: 0;
  width: 320px;
  min-height: 400px;
  border-radius: var(--radius-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.carousel-card--photo {
  background-size: cover;
  background-position: center;
  justify-content: flex-end;
  color: var(--color-white);
}
.carousel-card--photo .carousel-card-body { padding: 32px 28px; }
.carousel-card--photo h3 { font-size: 1.25rem; font-weight: 700; margin-bottom: 10px; }
.carousel-card--photo p { font-size: 0.9375rem; line-height: 1.6; color: rgba(255,255,255,.85); }

.carousel-card--stat {
  background: var(--color-white);
  padding: 40px 32px;
  justify-content: center;
  align-items: flex-start;
  box-shadow: 0 4px 20px rgba(0,0,0,.04);
}
.carousel-stat-value {
  font-size: 4rem;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 12px;
  color: var(--color-dark);
}
.carousel-stat-label { font-size: 1rem; line-height: 1.5; color: var(--color-text-light); margin-bottom: auto; }
.carousel-stat-logo { margin-top: 32px; font-size: 0.875rem; font-weight: 600; color: var(--color-text-muted); letter-spacing: 0.02em; }
.carousel-card--stat-teal .carousel-stat-value {
  background: var(--gradient-accent-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.carousel-card--quote {
  background: linear-gradient(135deg, rgba(0,159,227,.1), rgba(84,68,149,.08), rgba(230,0,126,.06));
  padding: 36px 28px;
  justify-content: space-between;
}
.carousel-card--quote blockquote { font-size: 1rem; line-height: 1.7; color: var(--color-text); margin: 0; }
.carousel-card--quote cite {
  display: block;
  margin-top: 24px;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  color: var(--color-text-light);
}
.carousel-card--quote-dark { background: var(--color-dark); }
.carousel-card--quote-dark blockquote { color: rgba(255,255,255,.9); }
.carousel-card--quote-dark cite { color: rgba(255,255,255,.5); }

@media (max-width: 640px) {
  .carousel-card { width: 270px; min-height: 340px; }
  .carousel-stat-value { font-size: 3rem; }
}

/* --- Dark Section --- */
.dark-section {
  padding: var(--section-py) 0;
  background: var(--color-dark);
  color: var(--color-white);
  position: relative;
  overflow: hidden;
}
.dark-section .container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.dark-section h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 20px; }
.dark-section p { color: rgba(255,255,255,.7); margin-bottom: 32px; }
.dark-card {
  background: var(--color-dark-card);
  border-radius: var(--radius-card);
  padding: 40px;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(0,159,227,.15);
}
.dark-card h4 { font-size: 1.125rem; margin-bottom: 12px; color: var(--color-primary); }
.dark-card p { font-size: var(--fs-small); }
.dark-card .stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 24px;
}
.dark-card .stat-value { font-size: 2rem; font-weight: 700; color: var(--color-white); margin-bottom: 4px; }
.dark-card .stat-label { font-size: var(--fs-small); color: rgba(255,255,255,.5); }

/* --- Use-Cases --- */
.use-cases {
  padding: var(--section-py) 0;
  background: var(--color-off-white);
}
.use-cases-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 40px;
  margin-bottom: 48px;
}
.uc-column {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
.uc-column h2 { font-size: var(--fs-h3); line-height: 1.35; margin-bottom: 28px; max-width: 380px; }
.uc-badge {
  display: inline-block;
  padding: 5px 14px;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: var(--color-dark);
  color: var(--color-white);
  margin-bottom: 16px;
}

.wf-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: var(--color-white);
  border-radius: var(--radius-card);
  padding: 16px 18px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.wf-card-icon {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
}
.wf-card-icon--green { background: rgba(0,159,227,.12); color: #0070A0; }
.wf-card-icon--outline { background: transparent; border: 2px solid var(--color-border); color: var(--color-text-muted); }
.wf-card-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 2px; }
.wf-card-sub { font-size: 0.8125rem; color: var(--color-text-muted); }
.wf-tag-row { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.wf-tag {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 500;
  background: var(--color-off-white);
  color: var(--color-text-light);
  border: 1px solid var(--color-border);
}

.recruit-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--color-white);
  border-radius: var(--radius-card);
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  margin-bottom: 16px;
}
.recruit-avatar-placeholder {
  width: 52px; height: 52px;
  border-radius: 50%;
  background: var(--gradient-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--color-white);
}
.recruit-info { flex: 1; }
.recruit-name { font-size: 1rem; font-weight: 700; }
.recruit-role { font-size: 0.8125rem; color: var(--color-text-muted); }
.recruit-status {
  padding: 5px 14px;
  border-radius: var(--radius-pill);
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(0,159,227,.12);
  color: #0070A0;
}
.recruit-tags { display: flex; gap: 8px; flex-wrap: wrap; }

.uc-testimonial {
  background: var(--color-white);
  border-radius: var(--radius-card);
  padding: 36px 40px;
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
}
.uc-testimonial .uc-badge { margin-bottom: 12px; }
.uc-testimonial blockquote { font-size: 1.0625rem; line-height: 1.7; margin: 0 0 16px; color: var(--color-text); max-width: 700px; }
.uc-testimonial cite { font-style: normal; font-size: 0.8125rem; font-weight: 600; color: var(--color-text-muted); }

/* --- Case Timeline (Procamed) --- */
.case-timeline {
  padding: var(--section-py) 0;
  background: var(--color-off-white);
}
.case-timeline h2 { font-size: var(--fs-h2); margin-bottom: 12px; }
.timeline-intro {
  font-size: 1.05rem;
  color: var(--color-text-light);
  max-width: 640px;
  margin: 0 auto 48px;
  text-align: center;
  line-height: 1.6;
}
.case-timeline .uc-badge { margin-bottom: 16px; display: inline-block; }

.timeline {
  position: relative;
  max-width: 720px;
  margin: 0 auto;
  padding-left: 48px;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 18px;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 3px;
  background: linear-gradient(to bottom, var(--color-primary), var(--color-purple), var(--color-accent));
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 1.2s ease;
}
.timeline.tl-active::before {
  transform: scaleY(1);
}
.timeline-step {
  position: relative;
  display: flex;
  gap: 20px;
  margin-bottom: 36px;
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.timeline-step.visible {
  opacity: 1;
  transform: translateX(0);
}

.timeline-icon {
  position: absolute;
  left: -48px;
  top: 2px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--color-white);
  border: 3px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(0,159,227,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.timeline-step.visible .timeline-icon {
  animation: tl-pulse 2s ease-in-out 0.6s;
}
@keyframes tl-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}
.timeline-step:nth-child(3) .timeline-icon,
.timeline-step:nth-child(4) .timeline-icon { border-color: var(--color-purple); box-shadow: 0 2px 8px rgba(84,68,149,0.15); }
.timeline-step:nth-child(5) .timeline-icon,
.timeline-step:nth-child(6) .timeline-icon { border-color: var(--color-accent); box-shadow: 0 2px 8px rgba(230,0,126,0.15); }

.timeline-content {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: 20px 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
  flex: 1;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.timeline-content:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.timeline-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 6px;
}
.timeline-content p {
  font-size: 0.875rem;
  color: var(--color-text-light);
  line-height: 1.55;
  margin: 0;
}
.timeline-label {
  display: inline-block;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-primary);
  margin-bottom: 4px;
}
.timeline-step:nth-child(3) .timeline-label,
.timeline-step:nth-child(4) .timeline-label { color: var(--color-purple); }
.timeline-step:nth-child(5) .timeline-label,
.timeline-step:nth-child(6) .timeline-label { color: var(--color-accent); }

.timeline-actor {
  display: inline-block;
  margin-top: 8px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-text-muted);
  background: var(--color-off-white);
  padding: 3px 10px;
  border-radius: var(--radius-pill);
}

.timeline-result {
  display: flex;
  justify-content: center;
  gap: 48px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 2px solid var(--color-border);
}
.timeline-result-stat { text-align: center; }
.timeline-result-value {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  background: var(--gradient-brand);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.timeline-result-label {
  display: block;
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  margin-top: 4px;
}

@media (max-width: 640px) {
  .timeline { padding-left: 40px; }
  .timeline-icon { left: -40px; width: 30px; height: 30px; font-size: 0.85rem; }
  .timeline-result { flex-direction: column; gap: 24px; align-items: center; }
}

/* --- Product Highlight --- */
.product-highlight {
  padding: var(--section-py) 0;
  background: linear-gradient(180deg, #edf2fa 0%, #f0f5fc 100%);
  color: var(--color-text);
  position: relative;
  overflow: hidden;
}
.product-highlight .container { text-align: center; position: relative; z-index: 2; }
.product-highlight h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 16px; }
.product-highlight > .container > p { color: var(--color-text-light); max-width: 600px; margin: 0 auto 48px; }
.product-screenshot {
  border: 1px solid rgba(27,43,107,.08);
  border-radius: var(--radius-card);
  max-width: 900px;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(27,43,107,.1);
  position: relative;
  aspect-ratio: 16 / 10;
  background: rgba(255,255,255,.55);
}
.product-screenshot-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 900ms ease;
  pointer-events: none;
}
.product-screenshot-image.is-active {
  opacity: 1;
}

/* Fade-in on load — no scale/zoom, pure opacity only */
.product-screenshot--reveal {
  opacity: 0;
  transition: opacity 0.9s ease;
}
.product-screenshot--reveal.is-loaded {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .product-screenshot-image {
    animation: none;
    transition: none;
  }
}

/* --- Social Proof --- */
.social-proof {
  padding: var(--section-py) 0;
  background: var(--color-white);
  text-align: center;
}
.social-proof h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 48px; }
/* Logo ticker (scrolling) */
.logo-ticker {
  overflow: hidden;
  margin-bottom: 64px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%);
}
.logo-ticker-track {
  display: flex;
  align-items: center;
  gap: 56px;
  width: max-content;
  animation: ticker-scroll 40s linear infinite;
}
@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.logo-ticker:hover .logo-ticker-track {
  animation-play-state: paused;
}

.logo-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  flex-wrap: wrap;
  margin-bottom: 64px;
}
.logo-client {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  flex-shrink: 0;
}
.logo-client img {
  height: 40px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: filter 0.3s, opacity 0.3s;
}
.logo-client:hover img {
  filter: grayscale(0%);
  opacity: 1;
}
.logo-client--text {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-text-muted);
  opacity: 0.45;
  transition: opacity 0.3s;
  white-space: nowrap;
}
.logo-client--text:hover {
  opacity: 1;
}
.logo-placeholder {
  width: 120px;
  height: 48px;
  background: var(--color-off-white);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  font-size: var(--fs-small);
  font-weight: 500;
}
.industry-badge-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
}
.industry-badge {
  flex: 1;
  text-align: center;
  padding: 10px 16px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-small);
  font-weight: 600;
  color: #544495;
  background: rgba(84,68,149,0.1);
  border: 1px solid rgba(84,68,149,0.15);
  white-space: nowrap;
}
.industry-badge:nth-child(1) { background: rgba(0,159,227,0.1); color: #0080B8; border-color: rgba(0,159,227,0.2); }
.industry-badge:nth-child(2) { background: rgba(27,43,107,0.08); color: #1B2B6B; border-color: rgba(27,43,107,0.15); }
.industry-badge:nth-child(3) { background: rgba(84,68,149,0.1); color: #544495; border-color: rgba(84,68,149,0.18); }
.industry-badge:nth-child(4) { background: rgba(230,0,126,0.08); color: #C00068; border-color: rgba(230,0,126,0.15); }
.industry-badge:nth-child(5) { background: rgba(0,159,227,0.08); color: #0080B8; border-color: rgba(0,159,227,0.15); }
.industry-badge:nth-child(6) { background: rgba(27,43,107,0.1); color: #1B2B6B; border-color: rgba(27,43,107,0.18); }

/* --- 3 Steps Section --- */
.steps-section {
  padding: var(--section-py) 0;
  background: var(--color-white);
  text-align: center;
}
.steps-section h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 12px; }
.steps-sub { color: var(--color-text-light); margin-bottom: 48px; }
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: left;
}
.step-card {
  background: var(--color-off-white);
  border-radius: var(--radius-card);
  padding: 32px 28px;
  position: relative;
}
.step-card-image {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 20px;
  opacity: .9;
}
.step-number {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--gradient-brand);
  color: var(--color-white);
  font-size: 1.1rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.step-card h3 { font-size: 1.15rem; font-weight: 700; margin-bottom: 10px; color: var(--color-text); }
.step-card p { font-size: var(--fs-small); color: var(--color-text-light); line-height: 1.6; }
@media (max-width: 768px) { .steps-grid { grid-template-columns: 1fr; } }

/* --- FAQ Section --- */
.faq-section {
  padding: var(--section-py) 0;
  background: var(--color-off-white);
}
.faq-section h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 48px; text-align: center; }
.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}
.faq-item {
  background: var(--color-white);
  border-radius: var(--radius-card);
  padding: 28px 24px;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
}
.faq-item h4 { font-size: 1rem; font-weight: 700; margin-bottom: 10px; color: var(--color-text); }
.faq-item p { font-size: var(--fs-small); color: var(--color-text-light); line-height: 1.6; }
@media (max-width: 640px) { .faq-grid { grid-template-columns: 1fr; } }

/* --- Contact --- */
.contact {
  padding: var(--section-py) 0 40px;
  background: var(--color-white);
  text-align: center;
}
.contact h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 16px; }
.contact .contact-intro {
  color: var(--color-text-light);
  max-width: 560px;
  margin: 0 auto 48px;
}
.contact-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.6fr);
  gap: 48px;
  align-items: start;
  text-align: left;
  max-width: 960px;
  margin: 0 auto;
}
.contact-info h3 {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted, #7a7a9a);
  margin: 0 0 12px;
}
.contact-email {
  display: inline-block;
  font-size: 22px;
  font-weight: 600;
  color: var(--color-text, #1a1a2e);
  text-decoration: none;
  margin-bottom: 16px;
  transition: color 0.2s;
}
.contact-email:hover { color: var(--color-primary-dark, #0080B8); }
.contact-info-sub {
  color: var(--color-text-light);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.contact-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.contact-field label {
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text, #1a1a2e);
  letter-spacing: 0.02em;
}
.contact-field input,
.contact-field textarea {
  font: inherit;
  font-size: 15px;
  color: var(--color-text, #1a1a2e);
  background: var(--color-off-white, #f7f8fb);
  border: 1px solid var(--color-border, #dde0ea);
  border-radius: 10px;
  padding: 12px 14px;
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
}
.contact-field textarea { min-height: 120px; }
.contact-field input:focus,
.contact-field textarea:focus {
  outline: none;
  border-color: var(--color-primary, #009FE3);
  background: var(--color-white);
  box-shadow: 0 0 0 3px rgba(0,159,227,0.12);
}
.contact-submit {
  align-self: flex-start;
  max-width: 100%;
  margin-top: 4px;
  border: none;
  cursor: pointer;
  white-space: normal;
  text-align: center;
  transition: background 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}
.contact-submit:disabled { cursor: default; }
.contact-submit--sending { opacity: 0.85; }
.contact-submit--success,
.contact-submit--success:hover {
  background: #2a9d58;
  color: #fff;
  opacity: 1;
  transform: none;
  box-shadow: none;
}
.contact-submit--error,
.contact-submit--error:hover {
  background: #c62828;
  color: #fff;
  transform: none;
  box-shadow: none;
}
.contact-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 720px) {
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .contact-email { font-size: 20px; }
}

/* --- Booking / Calendly --- */
.booking {
  padding: 40px 0 var(--section-py);
  background: var(--color-off-white);
  text-align: center;
}
.booking h2 { font-size: var(--fs-h2); line-height: var(--lh-heading); margin-bottom: 16px; }
.booking > .container > p { color: var(--color-text-light); max-width: 560px; margin: 0 auto 40px; }
.booking-cta {
  display: inline-block;
  font-size: 1.1rem;
  padding: 16px 40px;
  margin-top: 8px;
}

/* --- Footer --- */
.footer {
  background: var(--color-dark);
  color: rgba(255,255,255,.8);
  padding: 64px 0 40px;
}
.footer .container {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 40px;
}
.footer-brand p {
  color: rgba(255,255,255,.5);
  font-size: var(--fs-small);
  margin-top: 16px;
  max-width: 280px;
  line-height: 1.6;
}
.footer-brand img { height: 32px; width: auto; }
.footer-logo-animated {
  width: 70px;
  height: 38px;
  background: linear-gradient(135deg, #66D4FF, #a78bfa, #ff6eb4, #a78bfa, #66D4FF);
  background-size: 300% 300%;
  animation: nav-logo-gradient 8s ease infinite;
  -webkit-mask-image: var(--lad-logo-mask);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-image: var(--lad-logo-mask);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}
.footer-col h4 {
  font-size: var(--fs-small);
  font-weight: 600;
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: rgba(255,255,255,.5);
}
.footer-col a {
  display: block;
  font-size: var(--fs-small);
  color: rgba(255,255,255,.7);
  margin-bottom: 10px;
  transition: color 0.2s;
}
.footer-col a:hover { color: var(--color-white); }
.footer-bottom {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-small);
  color: rgba(255,255,255,.4);
  grid-column: 1 / -1;
  text-align: center;
}
.footer-sep { color: rgba(255,255,255,.3); }
.footer-email {
  color: rgba(255,255,255,.55);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-email:hover { color: var(--color-white); }

/* --- Cookie Consent Banner --- */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  padding: 0 var(--container-px) 24px;
  display: flex;
  justify-content: center;
  animation: cookie-slide-up 0.4s ease;
}
@keyframes cookie-slide-up {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
.cookie-inner {
  max-width: 720px;
  width: 100%;
  background: var(--color-white);
  border-radius: var(--radius-card);
  box-shadow: 0 -4px 40px rgba(27,43,107,.12), 0 0 0 1px rgba(27,43,107,.06);
  padding: 24px 28px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.cookie-inner p {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--color-text-light);
  margin: 0;
}
.cookie-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.cookie-decline {
  background: transparent;
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  padding: 10px 20px;
  font-size: 0.875rem;
}
.cookie-accept {
  padding: 10px 20px;
  font-size: 0.875rem;
}
@media (max-width: 640px) {
  .cookie-inner {
    flex-direction: column;
    text-align: center;
    gap: 16px;
  }
  .cookie-actions { width: 100%; justify-content: center; }
}

/* --- Scroll Reveal Animations ---
   Gated on html.js-reveal: if the reveal JS never runs or is slow on a
   poor connection, content stays visible by default instead of stuck at
   opacity:0 (the cause of the long blank screen on slow mobile links).
   .js-reveal is set synchronously in <head>; a safety timer in <body>
   force-reveals everything if init is delayed. */
.js-reveal .reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-reveal .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered children: headings, paragraphs, cards etc. */
.js-reveal .reveal [data-reveal] {
  opacity: 0;
  transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-reveal .reveal.visible [data-reveal] {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

/* Reveal directions */
.js-reveal [data-reveal="up"] { transform: translateY(40px); }
.js-reveal [data-reveal="down"] { transform: translateY(-30px); }
.js-reveal [data-reveal="left"] { transform: translateX(-40px); }
.js-reveal [data-reveal="right"] { transform: translateX(40px); }
.js-reveal [data-reveal="scale"] { transform: scale(0.85); }
.js-reveal [data-reveal="fade"] { transform: none; }
.js-reveal .reveal.visible [data-reveal="fade"] { transform: none; }

/* Stagger delays via CSS custom property */
.js-reveal [data-reveal-delay="1"] { transition-delay: 0.15s; }
.js-reveal [data-reveal-delay="2"] { transition-delay: 0.3s; }
.js-reveal [data-reveal-delay="3"] { transition-delay: 0.45s; }
.js-reveal [data-reveal-delay="4"] { transition-delay: 0.6s; }
.js-reveal [data-reveal-delay="5"] { transition-delay: 0.75s; }
.js-reveal [data-reveal-delay="6"] { transition-delay: 0.9s; }

/* Counter animation for stats */
.stat-value[data-count] {
  display: inline-block;
}

/* --- Responsive --- */
@media (max-width: 968px) {
  .hero-columns,
  .trends-inner,
  .dark-section .container,
  .use-cases-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .footer .container { grid-template-columns: 1fr 1fr; }
  .automate-mockup-sidebar { width: 120px; }
  .automate-mockup-body { min-height: 260px; }
  .hero-text { max-width: 100%; }
}

@media (max-width: 640px) {
  .nav-links { display: none; }
  .nav-toggle { display: flex; }

  .nav.menu-open .nav-links {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: var(--color-white);
    padding: 24px var(--container-px);
    box-shadow: 0 8px 24px rgba(0,0,0,.08);
    gap: 16px;
  }

  .hero-columns { grid-template-columns: 1fr; }
  .hero h1 { font-size: 2rem; }
  .hero-text {
    max-width: 100%;
    padding: 0 var(--container-px);
  }
  .hero-visual { width: 240px; height: 180px; }
  .hero-logo { max-width: 180px; }
  .hero-mockup { min-height: 260px; }

  .footer .container { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
  .footer-bottom .footer-sep { display: none; }

  .logo-grid { gap: 24px; }
  .logo-placeholder { width: 100px; height: 40px; }
}

/* ================================================================
   Team / Über uns Section
   ================================================================ */
.team-section { padding: 96px 0; }
.team-section h2 {
    text-align: center;
    margin-bottom: 12px;
    font-size: clamp(1.75rem, 3vw + 1rem, 2.75rem);
    line-height: 1.2;
}
.team-sub {
    text-align: center;
    color: var(--color-text-light, #aaa);
    margin-bottom: 8px;
}
.team-address {
    text-align: center;
    color: var(--color-text-light, #aaa);
    font-size: .95rem;
    margin-top: 40px;
}
.team-address a {
    color: inherit;
    opacity: .6;
    text-decoration: underline;
}
.team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.team-card {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 20px;
    padding: 32px 24px;
    text-align: center;
}
.team-photo {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 20px;
    display: block;
}
.team-name {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 6px;
}
.team-role {
    display: block;
    font-size: .82rem;
    font-weight: 600;
    color: var(--color-purple, #544495);
    margin-bottom: 2px;
}
.team-degree {
    display: block;
    font-size: .78rem;
    color: var(--color-text-light, #6b7280);
    letter-spacing: .02em;
    margin-bottom: 12px;
}
.team-bio {
    font-size: .85rem;
    color: var(--color-text-light, #6b7280);
    line-height: 1.5;
    max-width: 260px;
    margin: 0 auto;
}
.team-tech-panel {
    margin-top: 32px;
    padding: 40px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 20px;
    text-align: center;
}
.team-tech-panel h3 {
    font-size: 1.25rem;
    margin-bottom: 16px;
}
.team-tech-panel p {
    color: var(--color-text-light, #aaa);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Tech Features Grid */
.tech-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin: 48px 0 8px;
    text-align: center;
}
.tech-feature {
    padding: 32px 24px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    transition: transform .3s ease, box-shadow .3s ease;
}
.tech-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,159,227,.12);
    border-color: rgba(0,159,227,.25);
}
.tech-feature__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(0,159,227,.15), rgba(84,68,149,.15));
    color: var(--color-cyan, #009FE3);
}
.tech-feature h4 {
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}
.tech-feature p {
    font-size: .88rem;
    color: rgba(255,255,255,.6);
    line-height: 1.6;
    max-width: none;
}
@media (max-width: 768px) {
    .tech-features { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 768px) {
    .team-grid { grid-template-columns: 1fr; }
}

/* ================================================================
   Tech logos marquee (Personio-style)
   ================================================================ */
.tech-logos {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 32px;
    padding: 24px 32px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
}
.tech-logos-label {
    flex: 0 0 auto;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text-light, #aaa);
    white-space: nowrap;
}
.tech-logos-marquee {
    flex: 1 1 auto;
    overflow: hidden;
    position: relative;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 60px, #000 calc(100% - 60px), transparent 100%);
}
.tech-logos-track {
    display: flex;
    align-items: center;
    gap: 56px;
    width: max-content;
    animation: techLogoScroll 40s linear infinite;
}
.tech-logos-track img {
    height: 32px;
    width: auto;
    opacity: .7;
    filter: brightness(0) invert(.15);
    transition: opacity .2s, filter .2s;
    user-select: none;
}
.tech-logos-track img:hover {
    opacity: 1;
    filter: brightness(0) invert(.95);
}
.tech-logos:hover .tech-logos-track {
    animation-play-state: paused;
}
@keyframes techLogoScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (max-width: 768px) {
    .tech-logos {
        flex-direction: column;
        gap: 20px;
        padding: 20px 16px;
    }
    .tech-logos-label {
        text-align: center;
        white-space: normal;
        font-size: 1.2rem;
    }
    .tech-logos-track { gap: 40px; }
    .tech-logos-track img { height: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .tech-logos-track {
        animation: none;
        flex-wrap: wrap;
        justify-content: center;
    }
    .tech-logos-marquee {
        -webkit-mask-image: none;
        mask-image: none;
    }
}

/* ================================================================
   ROI Calculator
   ================================================================ */
.roi-section { padding: 96px 0; }

/* frame wrapping inputs + results */
.roi-calc-frame {
    background: rgba(255,255,255,.22);
    border: 2px solid rgba(255,255,255,.7);
    border-radius: 20px;
    padding: 32px 36px;
}
.roi-calc-frame h2 {
    font-size: var(--fs-h2);
    line-height: var(--lh-heading);
    margin-bottom: 8px;
}
.roi-frame-sub {
    color: var(--color-text-light, #aaa);
    font-size: .9rem;
    margin-bottom: 28px;
}

/* recommendation badge — full-width inside results list */
.roi-abo-badge {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #009FE3;
    border-radius: 12px;
    padding: 10px 16px;
    font-size: .85rem;
    font-weight: 700;
    color: #fff;
    width: 100%;
    box-sizing: border-box;
}
.roi-abo-badge.enterprise {
    background: #009FE3;
}
/* outer two-column layout: left panel | image */
.roi-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 40px;
}
.roi-left {
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.roi-inputs {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
/* horizontal input row: label-hint left, number input right */
.roi-field {
    display: flex;
    align-items: center;
    gap: 20px;
}
.roi-field-text {
    flex: 1;
}
.roi-field label {
    display: block;
    font-weight: 600;
    font-size: .95rem;
    margin-bottom: 2px;
}
.roi-field-hint {
    font-size: .8rem;
    color: var(--color-text-light, #aaa);
    margin: 0;
}
.roi-field input {
    width: 110px;
    flex-shrink: 0;
    padding: 12px 14px;
    background: linear-gradient(135deg, #1a2250 0%, #1e2d6b 100%);
    border: 1px solid rgba(102,180,255,.25);
    border-radius: 10px;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    transition: border-color .2s, box-shadow .2s;
}
.roi-field input:focus {
    outline: none;
    border-color: rgba(102,180,255,.6);
    box-shadow: 0 0 0 3px rgba(102,180,255,.12);
}
/* Hide native number spinners across all browsers */
.roi-field input {
    -moz-appearance: textfield;
    padding-right: 36px;
}
.roi-field input::-webkit-inner-spin-button,
.roi-field input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Custom spinner wrapper */
.roi-input-wrap {
    position: relative;
    display: inline-flex;
}
.roi-spin {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    background: rgba(255,255,255,.08);
    border-radius: 6px;
    padding: 5px 6px;
    pointer-events: none;
}
.roi-spin button {
    pointer-events: auto;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: 0;
    display: block;
    width: 16px;
    height: 12px;
    position: relative;
}
.roi-spin button::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 7px;
    height: 7px;
    border-right: 2px solid rgba(255,255,255,.7);
    border-top: 2px solid rgba(255,255,255,.7);
}
.roi-spin button:first-child::after {
    transform: translate(-50%, -25%) rotate(-45deg);
}
.roi-spin button:last-child::after {
    transform: translate(-50%, -75%) rotate(135deg);
}
.roi-spin button:hover::after {
    border-color: #fff;
}
.roi-results {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 28px;
}
/* right column image placeholder */
.roi-image-col {
    position: sticky;
    top: 80px;
}
.roi-image-placeholder {
    background: rgba(255,255,255,.05);
    border: 1.5px dashed rgba(255,255,255,.2);
    border-radius: 20px;
    aspect-ratio: 3/4;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.25);
    font-size: .9rem;
    letter-spacing: .05em;
}
.roi-image {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
}
.roi-result-card {
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 16px;
    padding: 20px 24px;
}
.roi-result-card--saving {
    background: linear-gradient(135deg, #1a2250 0%, #1e2d6b 100%);
    border-color: rgba(102,180,255,.25);
}
.roi-result-card--saving .roi-result-label { color: #66D4FF; }
.roi-result-card--saving .roi-result-value { color: #fff; }
.roi-result-card--saving .roi-result-sub   { color: rgba(255,255,255,.6); }
.roi-result-label {
    display: block;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--color-text-light, #aaa);
    margin-bottom: 4px;
}
.roi-result-value {
    display: block;
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 2px;
}
.roi-result-card--lambda .roi-result-value { color: #66D4FF; }
.roi-result-sub {
    font-size: .8rem;
    color: var(--color-text-light, #aaa);
}
.roi-cost-breakdown {
    font-size: .78rem;
    color: var(--color-text-light, #aaa);
    margin-top: 6px;
}
.roi-cta {
    display: block;
    width: fit-content;
    margin: 32px auto 0;
}
.roi-enterprise-msg {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    padding: 28px;
    text-align: center;
    display: none;
}
.roi-enterprise-msg h4 { font-size: 1.1rem; margin-bottom: 8px; }
.roi-enterprise-msg p {
    color: var(--color-text-light, #aaa);
    font-size: .9rem;
    margin-bottom: 20px;
}
.roi-impl-note {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 32px;
}
.roi-impl-card {
    text-align: center;
    padding: 16px 24px;
    background: rgba(255,255,255,.11);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 12px;
    min-width: 180px;
}
.roi-impl-label {
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--color-text-light, #aaa);
    margin-bottom: 4px;
}
.roi-impl-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: #66D4FF;
}
.roi-impl-sub {
    font-size: .75rem;
    color: var(--color-text-light, #aaa);
    margin-top: 2px;
}
@media (max-width: 768px) {
    .roi-layout { grid-template-columns: 1fr; }
    .roi-image-col { display: none; }
    .roi-field input { width: 90px; }
}

/* ================================================================
   Contact address & footer address
   ================================================================ */
.contact-address-label { margin-top: 32px; }
.contact-address { line-height: 1.7; }
.contact-imprint-link {
    font-size: .85rem;
    opacity: .6;
    text-decoration: underline;
}
.footer-company {
    font-size: .85rem;
    opacity: .5;
    margin: 12px 0 0;
    padding: 0;
    letter-spacing: .04em;
    line-height: 1.4;
}
.footer-address {
    font-size: .8rem;
    opacity: .45;
    margin: 0 !important;
    padding: 0;
    line-height: 1.6;
}

/* ================================================================
   Process Comparison Infographic
   ================================================================ */
.process-compare {
  margin-top: 48px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: left;
}

.process-compare__row {
  background: var(--color-white);
  border-radius: var(--radius-card, 16px);
  box-shadow: 0 4px 24px rgba(27,43,107,.08);
  padding: 28px 32px;
  border: 1px solid var(--color-border);
}
.process-compare__row--manual {
  border-left: 4px solid var(--color-text-muted);
}
.process-compare__row--ai {
  border-left: 4px solid var(--color-primary);
  background: linear-gradient(135deg, rgba(0,159,227,.03), rgba(84,68,149,.02));
}

.process-compare__label {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.process-compare__badge {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.process-compare__badge--manual {
  background: #f0f0f5;
  color: var(--color-text-muted);
}
.process-compare__badge--ai {
  background: linear-gradient(135deg, #009FE3, #544495);
  color: #fff;
}

.process-compare__time {
  font-size: 0.8125rem;
  color: var(--color-text-muted);
  font-weight: 500;
}
.process-compare__time--ai {
  color: var(--color-primary);
  font-weight: 600;
}

.process-compare__steps {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 8px;
  -webkit-overflow-scrolling: touch;
}

.process-compare__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 90px;
  max-width: 110px;
  flex-shrink: 0;
}
.process-compare__step--highlight .process-compare__icon--ai {
  box-shadow: 0 0 0 3px rgba(0,159,227,.2), 0 4px 16px rgba(0,159,227,.15);
  transform: scale(1.08);
}

.process-compare__icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: #f0f0f5;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 8px;
  flex-shrink: 0;
  transition: transform .2s;
}
.process-compare__icon svg {
  width: 28px;
  height: 28px;
}
.process-compare__icon--ai {
  background: linear-gradient(135deg, rgba(0,159,227,.12), rgba(84,68,149,.10));
  color: var(--color-primary);
}

.process-compare__text {
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--color-text);
  font-weight: 500;
}
.process-compare__text small {
  display: block;
  font-size: 0.65rem;
  color: var(--color-text-muted);
  font-weight: 400;
  margin-top: 2px;
}

.process-compare__arrow {
  color: var(--color-text-muted);
  font-size: 1.1rem;
  flex-shrink: 0;
  align-self: center;
  margin-top: -20px;
  opacity: .4;
}
.process-compare__arrow--ai {
  color: var(--color-primary);
  opacity: .7;
}

/* Responsive: stack on small screens */
@media (max-width: 768px) {
  .process-compare__row {
    padding: 20px 16px;
  }
  .process-compare__steps {
    gap: 6px;
  }
  .process-compare__step {
    min-width: 76px;
    max-width: 90px;
  }
  .process-compare__icon {
    width: 44px;
    height: 44px;
  }
  .process-compare__icon svg {
    width: 22px;
    height: 22px;
  }
  .process-compare__text {
    font-size: 0.65rem;
  }
}

/* ============================================================
   Proc-flow: animated 4-step process illustration
   ============================================================ */

.proc-graphic-title {
  position: absolute;
  top: 22px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1B2B6B;
  letter-spacing: 0.01em;
  z-index: 2;
  pointer-events: none;
}

.proc-flow {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: stretch;
  justify-content: space-evenly;
  padding: 0 32px;
}

.proc-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  flex: 1;
  max-width: 220px;
}
/* White radial glow behind each graphic — hides particles in the centre area */
.proc-cell::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%);
  width: 270px;
  height: 270px;
  border-radius: 50%;
  background: radial-gradient(circle at center, #ffffff 28%, rgba(255,255,255,0) 72%);
  z-index: 0;
  pointer-events: none;
}

/* Steps 1 & 3: person / offer illustration */
.proc-illus {
  width: auto;
  height: 190px;
  overflow: visible;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.proc-photo-circle {
  width: 190px;
  height: 190px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  box-shadow: 0 4px 24px rgba(27,43,107,.15);
}
.proc-photo-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transform: scale(1.1);
}

/* Labels pinned to the bottom of each cell — all start at identical Y */
.proc-label {
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
  min-height: 120px;
  font-size: 0.8rem;
  font-weight: 400;
  color: var(--color-text-light, #4a4a6a);
  text-align: center;
  letter-spacing: 0.01em;
  line-height: 1.5;
}
.proc-label strong {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-purple, #544495);
  margin-bottom: 4px;
  line-height: 1.5;
}

/* Steps 2 & 4: Lambda node */
.proc-lambda-node {
  position: relative;
  width: 200px;
  height: 200px;
  flex-shrink: 0;
  z-index: 1;
}

/* Aurora blob container — larger than innermost ring so rings overlap it */
.proc-aurora-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 181px;
  height: 181px;
  border-radius: 50%;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(circle at center, black 45%, transparent 80%);
  mask-image: radial-gradient(circle at center, black 45%, transparent 80%);
}

.proc-blob {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  opacity: 0.8;
  mix-blend-mode: multiply;
  will-change: transform;
}
.proc-blob--c {
  background: radial-gradient(circle, #00c8ff 0%, rgba(0,159,227,0.5) 45%, transparent 75%);
  width: 90px;
  height: 90px;
  animation: proc-blob-c 10s infinite ease-in-out;
}
.proc-blob--p {
  background: radial-gradient(circle, #b8a8e8 0%, rgba(139,120,204,0.5) 45%, transparent 75%);
  width: 62px;
  height: 62px;
  animation: proc-blob-p 8s infinite ease-in-out;
}
.proc-blob--m {
  background: radial-gradient(circle, #ff3da5 0%, rgba(230,0,126,0.5) 45%, transparent 75%);
  width: 80px;
  height: 80px;
  animation: proc-blob-m 12s infinite ease-in-out;
}

/* Second lambda node: offset blobs to different phase positions */
.proc-lambda-node--out .proc-blob--c { animation-delay: -3.7s; }  /* 10s cycle → ~37% offset */
.proc-lambda-node--out .proc-blob--p { animation-delay: -5.2s; }  /*  8s cycle → ~65% offset */
.proc-lambda-node--out .proc-blob--m { animation-delay: -8.1s; }  /* 12s cycle → ~68% offset */

@keyframes proc-blob-c {
  0%   { transform: translate(calc(-50% - 22px), calc(-50% + 14px)) scale(0.85); }
  33%  { transform: translate(calc(-50% + 18px), calc(-50% - 20px)) scale(1.15); }
  66%  { transform: translate(calc(-50% +  8px), calc(-50% + 16px)) scale(0.95); }
  100% { transform: translate(calc(-50% - 22px), calc(-50% + 14px)) scale(0.85); }
}
@keyframes proc-blob-p {
  0%   { transform: translate(calc(-50% + 16px), calc(-50% + 10px)) scale(1.0); }
  33%  { transform: translate(calc(-50% - 18px), calc(-50% -  8px)) scale(0.8); }
  66%  { transform: translate(calc(-50% +  5px), calc(-50% - 16px)) scale(1.1); }
  100% { transform: translate(calc(-50% + 16px), calc(-50% + 10px)) scale(1.0); }
}
@keyframes proc-blob-m {
  0%   { transform: translate(calc(-50% - 12px), calc(-50% + 18px)) scale(1.10); }
  25%  { transform: translate(calc(-50% + 20px), calc(-50% +  5px)) scale(0.85); }
  50%  { transform: translate(calc(-50% +  8px), calc(-50% - 18px)) scale(1.05); }
  75%  { transform: translate(calc(-50% - 18px), calc(-50% -  5px)) scale(0.90); }
  100% { transform: translate(calc(-50% - 12px), calc(-50% + 18px)) scale(1.10); }
}

/* White lambda sign centered over aurora */
.proc-lambda-sign {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
  z-index: 2;
  pointer-events: none;
}

/* Rotating ring SVG — smaller so rings overlap into the aurora center */
.proc-rings {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 150px;
  z-index: 3;
  overflow: visible;
  pointer-events: none;
}

/* Ring colors */
.proc-rings .lc-r1 path { fill: url(#plg-r1); }          /* cyan gradient CW  */
.proc-rings .lc-r2      { opacity: 0.65; }                /* purple: medium transparency */
.proc-rings .lc-r2 path { fill: url(#plg-r2); }           /* purple grad   CCW */
.proc-rings .lc-r3 path { fill: rgba(255,255,255,0.85); } /* white         CW  */
.proc-rings .lc-r4 path { fill: rgba(42,113,188,0.75); }  /* cyan+pur      CCW */
.proc-rings .lc-r5 path { fill: rgba(255,255,255,0.85); } /* white         CW  */
.proc-rings .lc-r6 path { fill: rgba(0,130,176,0.78); }   /* teal          CCW */

/* Rotate all rings around the exact SVG centre (113.385 = 226.77 / 2) */
.proc-rings .lc-r1,
.proc-rings .lc-r2,
.proc-rings .lc-r3,
.proc-rings .lc-r4,
.proc-rings .lc-r5,
.proc-rings .lc-r6 {
  transform-origin: 113.385px 113.385px;
}
/* Clockwise: rings 1, 3, 5 */
.proc-rings .lc-r1 { animation: spin-cw 130s linear infinite; }
.proc-rings .lc-r3 { animation: spin-cw  38s linear infinite; }
.proc-rings .lc-r5 { animation: spin-cw  62s linear infinite; }
/* Counter-clockwise: rings 2, 4, 6 */
.proc-rings .lc-r2 { animation: spin-ccw 45s linear infinite; }
.proc-rings .lc-r4 { animation: spin-ccw 55s linear infinite; }
.proc-rings .lc-r6 { animation: spin-ccw 29s linear infinite; }

@keyframes spin-cw {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
@keyframes spin-ccw {
  from { transform: rotate(0deg); }
  to   { transform: rotate(-360deg); }
}

/* Second lambda node: offset each ring to a different phase so they look independent */
.proc-rings--b .lc-r1 { animation-delay: -17s; }  /* 48s cycle  → ~35% offset */
.proc-rings--b .lc-r2 { animation-delay:  -5s; }  /* 13s cycle  → ~38% offset */
.proc-rings--b .lc-r3 { animation-delay:  -9s; }  /* 17s cycle  → ~53% offset */
.proc-rings--b .lc-r4 { animation-delay: -28s; }  /* 55s cycle  → ~51% offset */
.proc-rings--b .lc-r5 { animation-delay: -38s; }  /* 62s cycle  → ~61% offset */
.proc-rings--b .lc-r6 { animation-delay: -11s; }  /* 29s cycle  → ~38% offset */

/* Icon orbit container — extends 40px beyond the 200×200 node on each side */
.proc-icon-orbit {
  position: absolute;
  left: -40px;
  top: -40px;
  width: 280px;
  height: 280px;
  pointer-events: none;
  z-index: 4;
}

/* Individual icon badge */
.proc-icon-badge {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  width: 44px;
}
.proc-icon-badge svg {
  width: 36px;
  height: 36px;
  background: transparent;
  display: block;
  filter: drop-shadow(0 2px 8px rgba(42,113,188,.35));
}

/* Badge positions: orbit r=100px, container 280×280, center at (140,140)
   each badge is 44px wide → subtract 22 to place top-left corner */
.proc-icon-badge:nth-child(1) { left: 118px; top:  28px; } /* top        0° */
.proc-icon-badge:nth-child(2) { left: 182px; top:  54px; } /* top-right 45° */
.proc-icon-badge:nth-child(3) { left: 182px; top: 182px; } /* bot-right 135° */
.proc-icon-badge:nth-child(4) { left: 118px; top: 208px; } /* bottom   180° */
.proc-icon-badge:nth-child(5) { left:  54px; top: 182px; } /* bot-left 225° */
.proc-icon-badge:nth-child(6) { left:  54px; top:  54px; } /* top-left 315° */

/* pib--in: cyan glow pulse (data flowing into Lambda) */
.pib--in svg {
  animation: pib-in-pulse 9s infinite ease-in-out;
}
.pib--in:nth-child(2) svg { animation-delay: -0.83s; }
.pib--in:nth-child(3) svg { animation-delay: -1.67s; }
.pib--in:nth-child(4) svg { animation-delay: -2.50s; }
.pib--in:nth-child(5) svg { animation-delay: -3.33s; }
.pib--in:nth-child(6) svg { animation-delay: -4.17s; }

@keyframes pib-in-pulse {
  0%, 100% { filter: drop-shadow(0 0  3px rgba(0,159,227,.30)); }
  50%       { filter: drop-shadow(0 0  8px rgba(0,199,255,.80)) drop-shadow(0 0 4px rgba(0,159,227,.65)); }
}

/* pib--out: magenta glow pulse (data flowing out from Lambda) */
.pib--out svg {
  animation: pib-out-pulse 9s infinite ease-in-out;
}
.pib--out:nth-child(2) svg { animation-delay: -0.83s; }
.pib--out:nth-child(3) svg { animation-delay: -1.67s; }
.pib--out:nth-child(4) svg { animation-delay: -2.50s; }
.pib--out:nth-child(5) svg { animation-delay: -3.33s; }
.pib--out:nth-child(6) svg { animation-delay: -4.17s; }

@keyframes pib-out-pulse {
  0%, 100% { filter: drop-shadow(0 0  3px rgba(230,0,126,.30)); }
  50%       { filter: drop-shadow(0 0  8px rgba(255,60,160,.80)) drop-shadow(0 0 4px rgba(230,0,126,.65)); }
}

/* Voice wave animations (steps 1 & 3) */
.pw-a {
  animation: pw-pulse 1.8s infinite ease-in-out;
}
.pw-b {
  animation: pw-pulse 1.8s infinite ease-in-out 0.35s;
}
.pw-c {
  animation: pw-pulse 1.8s infinite ease-in-out;
}
.pw-d {
  animation: pw-pulse 1.8s infinite ease-in-out 0.35s;
}
@keyframes pw-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0.15; }
}

/* ============================================================
   Proc-flow: Mobile layout (≤ 767px) — stack vertically
   ============================================================ */
@media (max-width: 767px) {

  /* Container grows to fit stacked cells */
  .automate-graphic-placeholder {
    height: auto;
    min-height: unset;
  }

  /* Horizontal particle stream: hide on mobile (designed for horizontal flow) */
  #datastreamCanvas {
    display: none;
  }

  /* Title: pull into normal flow so it pushes content down */
  .proc-graphic-title {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    padding: 28px 20px 0;
    font-size: 1rem;
  }

  /* Flow: switch to vertical column */
  .proc-flow {
    position: relative;
    flex-direction: column;
    align-items: center;
    padding: 20px 16px 48px;
    gap: 32px;
  }

  /* Cells: full width, top-aligned, let height be natural */
  .proc-cell {
    max-width: 320px;
    width: 100%;
    justify-content: flex-start;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  /* Radial glow: re-centre vertically */
  .proc-cell::before {
    transform: translate(-50%, -50%);
  }

  /* Label: back into normal flow so it sits below the visual */
  .proc-label {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    min-height: auto;
    margin-top: 16px;
    font-size: 0.8rem;
  }

  /* Lambda node + icon orbit: scale down slightly for narrow screens */
  .proc-lambda-node {
    transform: scale(0.85);
    transform-origin: center top;
  }

  /* Photo circles: slightly smaller on mobile */
  .proc-photo-circle {
    width: 160px;
    height: 160px;
  }
}

/* ================================================================
   Voice Demo — Side Visuals (floating photos)
   ================================================================ */
.voice-demo {
  position: relative;
  overflow: hidden;
}
.voice-side-visual {
  position: absolute;
  width: 240px;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(27,43,107,.15);
  opacity: 0.55;
  z-index: 0;
  pointer-events: none;
  transition: opacity .4s;
}
.voice-side-visual--left {
  left: -20px;
  bottom: 15%;
  transform: rotate(-6deg);
}
.voice-side-visual--right {
  right: -10px;
  top: 20%;
  transform: rotate(4deg);
}
@media (max-width: 1100px) {
  .voice-side-visual { display: none; }
}

/* ================================================================
   Team Tech Panel — Image below text
   ================================================================ */
.team-tech-panel__image {
  width: 100%;
  max-width: 800px;
  margin: 32px auto 0;
  display: block;
  border-radius: var(--radius-card, 16px);
  box-shadow: 0 12px 40px rgba(27,43,107,.12);
}

/* ================================================================
   Dark Section — Background Image
   ================================================================ */
.dark-section--bg-image {
  position: relative;
  overflow: hidden;
}
.dark-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.dark-section__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.18;
  mix-blend-mode: lighten;
}
.dark-section--bg-image .container {
  position: relative;
  z-index: 2;
}

/* ================================================================
   Brand Outro — seamless full-bleed above footer with motion
   ================================================================ */
.brand-outro {
  background: var(--color-dark);
  line-height: 0;
  font-size: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  position: relative;
}
.brand-outro img {
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
  animation: outro-pulse 8s ease-in-out infinite alternate;
  transform-origin: center center;
}
/* Glow overlay that breathes */
.brand-outro::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 40% 50% at center, rgba(230,0,126,.15) 0%, transparent 70%);
  animation: outro-glow 6s ease-in-out infinite alternate;
  pointer-events: none;
  mix-blend-mode: screen;
}

@keyframes outro-pulse {
  0%   { transform: scale(1); filter: brightness(1); }
  50%  { transform: scale(1.04); filter: brightness(1.15); }
  100% { transform: scale(1.02); filter: brightness(1.05); }
}
@keyframes outro-glow {
  0%   { opacity: 0.3; }
  50%  { opacity: 0.8; }
  100% { opacity: 0.5; }
}

/* ============================================================
   Voice slider (hero) — extracted from index.html inline <style>
   ============================================================ */
.voice-slider { position:relative; border-radius:24px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.45); touch-action:pan-y; cursor:grab; }
.voice-slider:active { cursor:grabbing; }
.hero-slider { width:100%; max-width:560px; aspect-ratio:1/1; }
.voice-slider-track { display:flex; width:500%; height:100%; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.voice-slide { width:20%; flex-shrink:0; height:100%; }
.voice-slide img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; -webkit-user-drag:none; user-select:none; }
.voice-slider-dots { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.voice-slider-dot { width:8px; height:8px; border-radius:50%; border:none; background:rgba(255,255,255,.4); cursor:pointer; padding:0; transition:background .2s, transform .2s; }
.voice-slider-dot.active { background:#fff; transform:scale(1.25); }
/* Prev/next arrows — fade in on hover (and keyboard focus) */
.voice-slider-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%; border:none; padding:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.40); color:#fff; cursor:pointer; z-index:3;
  opacity:0; transition:opacity .25s ease, background .2s ease;
}
.voice-slider-arrow svg { width:18px; height:18px; display:block; }
.voice-slider-arrow:hover { background:rgba(0,0,0,.62); }
.voice-slider-arrow--prev { left:12px; }
.voice-slider-arrow--next { right:12px; }
.voice-slider:hover .voice-slider-arrow,
.voice-slider-arrow:focus-visible { opacity:1; }
@media (prefers-reduced-motion: reduce) {
  .voice-slider-arrow { transition:none; }
}

/* ============================================================
   Pricing section — extracted from index.html inline <style>
   ============================================================ */
.pricing-wrap { display:flex; flex-direction:column; gap:16px; max-width:780px; margin:0 auto; }
.pricing-section-title { text-align:center; margin-bottom:12px; }
.pricing-section-sub   { text-align:center; color:var(--color-text-light,#aaa); margin-bottom:48px; }

/* Outer cards */
.po { background:#f5f5f5; border:1.5px solid #d8d8d8; border-radius:16px; padding:24px 28px; color:#111; }

/* Full-width row: title+desc left, price right */
.po-row { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.po-row-left { flex:1; }
.po-row-price { font-size:1.4rem; font-weight:800; color:#111; white-space:nowrap; }
.po-title { font-size:1.05rem; font-weight:800; margin-bottom:4px; }
.po-desc  { font-size:.85rem; color:#555; line-height:1.55; }

/* Inner 2×2 sub-card grid */
.po-subgrid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
@media(max-width:560px){ .po-subgrid { grid-template-columns:1fr; } }

.ps { background:#1B2B6B; border-radius:10px; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ps--highlight { border:1.5px solid #009FE3; background:#1B2B6B; }
.ps-left { flex:1; }
.ps-name  { font-size:.9rem; font-weight:800; color:#ffffff; margin-bottom:2px; }
.ps-credit{ font-size:.75rem; color:#66D4FF; }
.ps-limit { font-size:.78rem; color:rgba(255,255,255,.65); margin-top:4px; line-height:1.5; }
.ps-price { font-size:1.15rem; font-weight:800; color:#ffffff; white-space:nowrap; }
.ps-price--tag { font-size:.95rem; white-space:normal; text-align:right; line-height:1.3; }

.po-footnote { font-size:.75rem; color:#888; margin-top:14px; }
