/* =========================================================
   HOME-ZENITH.CSS  ·  Zenith Transformation Layer
   -----------------------------------------------------------
   Transformative final layer that restructures the visual
   experience: hero simplification, diagonal section bridges,
   horizontal process layout, guarantee comparison grid,
   enhanced atmospheric effects, and dramatic scroll reveals.

   Load after: home-apex.css · Cascade wins by source order
   ========================================================= */

body.page-home {
  --zen-deep: #051620;
  --zen-navy: #0a2431;
  --zen-warm-dark: #1a1410;
  --zen-cream: #faf5ec;
  --zen-paper: #f5efe5;
  --zen-gold: #d4a24e;
  --zen-gold-dim: rgba(212, 162, 78, 0.15);
  --zen-teal: #5eb8cc;
  --zen-teal-dim: rgba(94, 184, 204, 0.12);
  --zen-success: #34d399;
  --zen-warn: #f59e0b;
  --zen-danger: #ef4444;
  --zen-ease: cubic-bezier(0.16, 0.84, 0.24, 1);
  --zen-ease-out: cubic-bezier(0.0, 0.0, 0.2, 1);
  --zen-dur: 0.55s;
  --zen-stagger: 100ms;
}


/* ═══════════════════════════════════════════════════════════
   1. HERO — Cinematic simplification
   Remove bench cards clutter, tighten hero-copy, and
   create a more focused first viewport experience.
   The hero-stage panel becomes a floating secondary element.
   ═══════════════════════════════════════════════════════════ */

/* Hide hero-bench — info is redundant with impact strip */
body.page-home .hero-bench {
  display: none;
}

/* Proofband styles now defined in hero-locale block below */

/* Hero background: richer atmospheric layers */
body.page-home .hero {
  background:
    radial-gradient(ellipse 900px 600px at 20% 30%, rgba(212, 162, 78, 0.06), transparent 60%),
    radial-gradient(ellipse 800px 500px at 80% 60%, rgba(94, 184, 204, 0.05), transparent 60%),
    radial-gradient(ellipse 1200px 800px at 50% 40%, rgba(11, 39, 53, 0.9), transparent),
    linear-gradient(175deg, #041018 0%, #072435 35%, #0b2f45 55%, #061822 100%);
}

/* Hero watermark: push it further back for cleaner focus */
body.page-home .hero-watermark {
  opacity: 0.018;
  font-size: clamp(300px, 45vw, 620px);
  right: -5%;
  top: 10%;
}

/* Stage panel: more glass depth, softer presence */
body.page-home .hero-stage-panel {
  background:
    linear-gradient(
      145deg,
      rgba(15, 40, 55, 0.85),
      rgba(10, 30, 45, 0.92) 40%,
      rgba(8, 24, 36, 0.95)
    );
  border: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow:
    0 32px 80px rgba(0, 0, 0, 0.4),
    0 8px 24px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Hero copy: tighter, more focused spacing */
body.page-home .hero-copy {
  gap: 20px;
}

body.page-home .hero-story {
  gap: 16px;
}

/* CTA note: subtler */
body.page-home .hero-cta-note {
  font-size: 12.5px;
  opacity: 0.55;
  letter-spacing: 0.02em;
}

/* Hero locale badge — geographic trust signal */
body.page-home .hero-locale {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.03em;
  margin-top: 2px;
}

body.page-home .hero-locale svg {
  color: var(--zen-gold);
  opacity: 0.8;
  flex-shrink: 0;
}

/* Proofband: restore visibility as primary trust signal */
body.page-home .hero-proofband {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin-top: 12px;
}

body.page-home .hero-proofitem strong {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

body.page-home .hero-proof-k {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.4);
}


/* ═══════════════════════════════════════════════════════════
   2. SECTION BRIDGES — Enhanced visual transitions
   Refined dividers with a geometric diamond motif that
   reinforces the precision/measurement brand theme.
   ═══════════════════════════════════════════════════════════ */

/* Replace sig-dividers with geometric diamond separator */
body.page-home .sig-divider {
  height: 40px;
  background: none;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-home .sig-divider::before {
  content: '';
  position: absolute;
  left: 10%;
  right: 10%;
  top: 50%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(212, 162, 78, 0.25) 25%,
    rgba(94, 184, 204, 0.2) 50%,
    rgba(212, 162, 78, 0.25) 75%,
    transparent
  );
}

/* Diamond beacon at center of divider — signature "radar ping" motif */
body.page-home .sig-divider::after {
  content: '';
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg, var(--zen-gold), var(--zen-teal));
  transform: rotate(45deg);
  position: relative;
  z-index: 1;
  box-shadow: 0 0 16px rgba(212, 162, 78, 0.25);
  animation: zen-beacon 4s ease-out infinite;
}

@keyframes zen-beacon {
  0%, 55% {
    box-shadow:
      0 0 16px rgba(212, 162, 78, 0.25),
      0 0 0 0 rgba(94, 184, 204, 0.28);
  }
  100% {
    box-shadow:
      0 0 16px rgba(212, 162, 78, 0.15),
      0 0 0 16px rgba(94, 184, 204, 0);
  }
}


/* ═══════════════════════════════════════════════════════════
   3. IMPACT STRIP — Giant counters with animated entry
   Numbers grow dramatically larger and get a gradient-text
   treatment that feels like data visualization.
   ═══════════════════════════════════════════════════════════ */

body.page-home .apex-strip {
  padding: 72px 0;
  background:
    radial-gradient(600px 350px at 30% 50%, rgba(212, 162, 78, 0.06), transparent),
    radial-gradient(500px 300px at 70% 50%, rgba(94, 184, 204, 0.05), transparent),
    linear-gradient(180deg, #041a27, #061f30, #041a27);
}

body.page-home .apex-strip-num {
  font-size: clamp(60px, 10vw, 108px);
  background: linear-gradient(
    180deg,
    #fff 0%,
    rgba(212, 162, 78, 0.9) 50%,
    rgba(94, 184, 204, 0.7) 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

body.page-home .apex-strip-label {
  font-size: 14.5px;
  color: rgba(255, 255, 255, 0.5);
  max-width: 18ch;
  margin-inline: auto;
}


/* ═══════════════════════════════════════════════════════════
   4. OFFER SECTION — Visual path differentiation
   Each path gets a stronger visual identity through
   distinct accent colors and card treatments.
   ═══════════════════════════════════════════════════════════ */

/* Fit path: warm success glow */
body.page-home .offer-path-fit {
  border-left: 3px solid var(--zen-success);
  background:
    linear-gradient(135deg, rgba(52, 211, 153, 0.04), transparent 60%),
    var(--offer-path-bg, rgba(255, 255, 255, 0.03));
}

body.page-home .offer-path-fit .offer-path-index {
  color: var(--zen-success);
}

/* No path: warm caution accent */
body.page-home .offer-path-no {
  border-left: 3px solid var(--zen-warn);
  background:
    linear-gradient(135deg, rgba(245, 158, 11, 0.04), transparent 60%),
    var(--offer-path-bg, rgba(255, 255, 255, 0.03));
}

body.page-home .offer-path-no .offer-path-index {
  color: var(--zen-warn);
}

/* Alt path: cool teal accent */
body.page-home .offer-path-alt {
  border-left: 3px solid var(--zen-teal);
  background:
    linear-gradient(135deg, rgba(94, 184, 204, 0.04), transparent 60%),
    var(--offer-path-bg, rgba(255, 255, 255, 0.03));
}

body.page-home .offer-path-alt .offer-path-index {
  color: var(--zen-teal);
}

/* Offer stage: single-column layout — diagnostic is hidden by earlier layer,
   so override the 2-column grid to prevent empty column + cramped paths */
body.page-home .offer-stage {
  grid-template-columns: 1fr !important;
}

/* Offer paths: full width with more breathing room */
body.page-home .offer-paths {
  gap: 20px;
}

/* Alt path: ensure readable dark text on light background */
body.page-home .offer-path-alt,
body.page-home .offer-path-alt .offer-path-main h3,
body.page-home .offer-path-alt .offer-path-main p,
body.page-home .offer-path-alt .offer-path-foot strong,
body.page-home .offer-path-alt .offer-path-foot span,
body.page-home .offer-path-alt .offer-inline-link {
  color: var(--vision-ink, #0f2536);
}

body.page-home .offer-path-alt .offer-inline-link {
  text-decoration: underline;
  text-decoration-color: rgba(15, 37, 54, 0.3);
  text-underline-offset: 2px;
}

body.page-home .offer-path-alt .bullets li {
  color: rgba(15, 37, 54, 0.72);
}

body.page-home .offer-path-alt .offer-path-k {
  color: rgba(15, 37, 54, 0.55);
}

/* Offer diagnostic panel: frosted glass with gold accent */
body.page-home .offer-diagnostic {
  border-top: 2px solid rgba(212, 162, 78, 0.3);
  background:
    linear-gradient(
      180deg,
      rgba(212, 162, 78, 0.05),
      transparent 40%
    ),
    rgba(10, 30, 45, 0.6);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}


/* ═══════════════════════════════════════════════════════════
   5. PROCESS — Horizontal 4-column layout on desktop
   Transforms the vertical timeline into a horizontal
   journey that reads left-to-right like a progress bar.
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 1100px) {
  body.page-home .timeline.timeline-compact {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0 !important;
    position: relative;
    border-radius: 24px !important;
    overflow: hidden;
  }

  /* Remove vertical timeline line and replace with horizontal */
  body.page-home .timeline.timeline-compact::before {
    display: none !important;
  }

  /* Horizontal connector line */
  body.page-home .timeline.timeline-compact::after {
    content: '' !important;
    position: absolute !important;
    top: 78px !important;
    left: 24px !important;
    right: 24px !important;
    height: 2px !important;
    background: linear-gradient(90deg,
      var(--zen-gold),
      var(--zen-teal) 50%,
      var(--zen-gold)
    ) !important;
    opacity: 0.25 !important;
    z-index: 0;
    inset: auto !important;
  }

  /* Step meta: stack vertically in horizontal layout */
  body.page-home .timeline.timeline-compact .step-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin-bottom: 20px;
  }

  body.page-home .timeline.timeline-compact .step-index {
    font-size: clamp(40px, 4vw, 56px) !important;
    font-family: "Newsreader", Georgia, serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: rgba(15, 37, 54, 0.08) !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    position: relative;
    z-index: 1;
  }

  body.page-home .timeline.timeline-compact .step-week {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: var(--zen-gold) !important;
    background: linear-gradient(135deg, var(--home-gold), rgba(134, 202, 212, 0.82)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent;
  }

  body.page-home .timeline.timeline-compact .step-body h3 {
    font-size: 16.5px !important;
    margin-bottom: 10px;
    color: var(--vision-ink, #0f2536) !important;
  }

  body.page-home .timeline.timeline-compact .step-body p {
    font-size: 14px !important;
    line-height: 1.65 !important;
    color: rgba(15, 37, 54, 0.6) !important;
  }

  /* Step highlight: warm accent */
  body.page-home .timeline.timeline-compact .step-highlight {
    background: linear-gradient(180deg, rgba(212, 162, 78, 0.05), transparent 60%) !important;
  }

  /* Step dark: cool accent */
  body.page-home .timeline.timeline-compact .step-dark {
    background: linear-gradient(180deg, rgba(94, 184, 204, 0.04), transparent 60%) !important;
  }

  /* Hide apex-step-icon in horizontal — show them for visual weight */
  body.page-home .timeline.timeline-compact .apex-step-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(212, 162, 78, 0.1), rgba(94, 184, 204, 0.08));
    color: var(--zen-gold);
    margin-top: 4px;
  }

  body.page-home .timeline.timeline-compact .apex-step-icon svg {
    width: 18px;
    height: 18px;
  }

  /* Step: more vertical padding and colored top accent */
  body.page-home .timeline.timeline-compact .step {
    border-radius: 0 !important;
    border: none !important;
    border-right: 1px solid rgba(15, 37, 54, 0.06) !important;
    border-top: 3px solid transparent !important;
    padding: 40px 28px 44px !important;
    background: transparent !important;
    position: relative;
    box-shadow: none !important;
    min-height: auto !important;
  }

  body.page-home .timeline.timeline-compact .step:last-child {
    border-right: none !important;
  }

  /* Remove nth-child borders from redesign layer */
  body.page-home .step:nth-child(odd),
  body.page-home .step:nth-child(even) {
    border-right: 1px solid rgba(15, 37, 54, 0.06) !important;
  }

  body.page-home .step:nth-child(4) {
    border-right: none !important;
  }

  body.page-home .step:nth-child(-n + 2) {
    border-bottom: none !important;
  }

  body.page-home .timeline.timeline-compact .step-highlight {
    border-top-color: var(--zen-gold) !important;
  }

  body.page-home .timeline.timeline-compact .step-dark {
    border-top-color: var(--zen-teal) !important;
  }
  body.page-home .timeline.timeline-compact .step:hover {
    background: rgba(255, 255, 255, 0.5) !important;
    box-shadow: none !important;
    border-color: rgba(196, 148, 74, 0.12) !important;
  }

  /* Step node dot: hidden in horizontal */
  body.page-home .timeline.timeline-compact .step::before {
    display: none !important;
  }

  /* Connecting arm: hidden in horizontal (replaced by ::after line) */
  body.page-home .timeline.timeline-compact .step::after {
    display: none !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   6. GUARANTEE — Horizontal tier comparison
   Side-by-side comparison on desktop lets the visitor
   see all three outcomes at once, enabling instant
   comparison and building confidence.
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 981px) {
  /* Guarantee tiers: centered vertical layout with prominent numbers */
  body.page-home .guarantee-lane {
    text-align: center !important;
    padding: 36px 24px 32px !important;
    min-height: 280px;
    justify-items: center;
  }

  body.page-home .guarantee-lane-main {
    flex-direction: column !important;
    gap: 12px !important;
    align-items: center !important;
  }

  body.page-home .guarantee-lane-step {
    margin: 0 auto 8px;
  }

  body.page-home .guarantee-lane-main > div {
    text-align: center;
  }

  body.page-home .guarantee-lane-main h3 {
    font-size: 19px !important;
  }

  body.page-home .guarantee-lane-copy {
    text-align: center;
    max-width: 26ch;
    margin-inline: auto;
  }

  body.page-home .guarantee-lane-rule {
    margin-top: auto;
    text-align: center;
  }

  /* Tier number magnets: centered prominent display */
  body.page-home .guarantee-lane .apex-tier-num {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    font-size: clamp(48px, 6vw, 72px) !important;
    margin-bottom: 12px;
    display: block;
    text-align: center;
  }

  /* Success tier: elevated with green accent */
  body.page-home .guarantee-lane-success {
    border: 1px solid rgba(52, 211, 153, 0.2) !important;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(52, 211, 153, 0.06), transparent 70%),
      rgba(255, 252, 247, 0.6) !important;
    transform: scale(1.02);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08) !important;
  }

  body.page-home .guarantee-lane-success .apex-tier-num {
    color: rgba(52, 211, 153, 0.25) !important;
  }

  /* Partial tier: amber accent */
  body.page-home .guarantee-lane-partial {
    border: 1px solid rgba(245, 158, 11, 0.15) !important;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(245, 158, 11, 0.04), transparent 70%),
      rgba(255, 252, 247, 0.45) !important;
  }

  body.page-home .guarantee-lane-partial .apex-tier-num {
    color: rgba(245, 158, 11, 0.2) !important;
  }

  /* Full tier: red accent with readable dark text */
  body.page-home .guarantee-lane-full {
    border: 1px solid rgba(239, 68, 68, 0.12) !important;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(239, 68, 68, 0.03), transparent 70%),
      rgba(255, 252, 247, 0.35) !important;
  }

  body.page-home .guarantee-lane-full .apex-tier-num {
    color: rgba(239, 68, 68, 0.18) !important;
  }

  /* Guarantee-lane-full: ensure readable text on light bg (non-hover state) */
  body.page-home .guarantee-lane-full h3 {
    color: var(--vision-ink, #0f2536) !important;
  }

  body.page-home .guarantee-lane-full .guarantee-lane-copy {
    color: rgba(15, 37, 54, 0.72) !important;
  }

  body.page-home .guarantee-lane-full .guarantee-lane-k {
    color: rgba(15, 37, 54, 0.55) !important;
  }

  body.page-home .guarantee-lane-full .guarantee-lane-rule {
    color: rgba(15, 37, 54, 0.65) !important;
  }

  /* Hover: subtle elevation per tier */
  body.page-home .guarantee-lane-success:hover {
    transform: scale(1.02) translateY(-4px);
  }

  body.page-home .guarantee-lane-partial:hover {
    transform: translateY(-4px);
  }

  body.page-home .guarantee-lane-full:hover {
    transform: translateY(-4px);
  }
}


/* ═══════════════════════════════════════════════════════════
   7. MEASUREMENT — Distinct visual identity
   The messung section gets a cooler color temperature
   to differentiate it from the hero and offer sections.
   ═══════════════════════════════════════════════════════════ */

body.page-home #messung {
  background:
    radial-gradient(800px 400px at 70% 30%, rgba(94, 184, 204, 0.08), transparent),
    radial-gradient(600px 400px at 20% 70%, rgba(212, 162, 78, 0.04), transparent),
    linear-gradient(175deg, #061822 0%, #082a3d 45%, #0a3350 60%, #072435 100%);
}

/* Measurement lane cards: stronger glass treatment */
body.page-home .measure-lane {
  border-radius: 16px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.page-home .measure-lane-highlight {
  border-left: 3px solid var(--zen-gold);
}


/* ═══════════════════════════════════════════════════════════
   8. FAQ — Refined accordion treatment
   Cleaner FAQ styling with more distinctive group headers
   and smoother accordion transitions.
   ═══════════════════════════════════════════════════════════ */

body.page-home .faq-group-head {
  position: relative;
}

body.page-home .faq-group-index {
  font-family: "Newsreader", Georgia, serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
  color: rgba(15, 37, 54, 0.07);
}

body.page-home .faq-item summary {
  transition: color 0.3s var(--zen-ease);
}

body.page-home .faq-item[open] summary {
  color: var(--zen-navy);
  font-weight: 600;
}

body.page-home .faq-body {
  animation: zen-faq-open 0.4s var(--zen-ease-out);
}

body.page-home .faq-inline-link {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--zen-navy, #0f2536);
  opacity: 0.55;
  text-decoration: none;
  transition: opacity 0.3s var(--zen-ease);
}

body.page-home .faq-inline-link:hover {
  opacity: 1;
}

body.page-home .faq-body a:not(.faq-inline-link) {
  color: var(--zen-navy, #0f2536);
  text-decoration: underline;
  text-decoration-color: rgba(15, 37, 54, 0.25);
  text-underline-offset: 2px;
  transition: text-decoration-color 0.3s var(--zen-ease);
}

body.page-home .faq-body a:not(.faq-inline-link):hover {
  text-decoration-color: var(--zen-navy, #0f2536);
}

@keyframes zen-faq-open {
  from {
    opacity: 0;
    transform: translateY(-8px);
    max-height: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    max-height: 300px;
  }
}


/* ═══════════════════════════════════════════════════════════
   8b. VERTIEFEN — Cross-link bridge cards
   Compact card grid linking to core content pages.
   Placed between FAQ and CTA final.
   ═══════════════════════════════════════════════════════════ */

body.page-home .deepen-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 32px;
}

body.page-home .deepen-card {
  display: flex;
  flex-direction: column;
  padding: 24px 20px;
  border-radius: 20px;
  border: 1px solid rgba(15, 37, 54, 0.08);
  background: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  color: inherit;
  transition: transform 0.4s var(--zen-ease), box-shadow 0.4s var(--zen-ease), border-color 0.4s var(--zen-ease);
}

body.page-home .deepen-k {
  display: block;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(15, 37, 54, 0.45);
  margin-bottom: 8px;
}

body.page-home .deepen-card .deepen-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--vision-ink, #0f2536);
  margin-bottom: 6px;
}

body.page-home .deepen-card p {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(15, 37, 54, 0.65);
  margin: 0;
}

@media (hover: hover) {
  body.page-home .deepen-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
    border-color: rgba(15, 37, 54, 0.16);
  }
}


/* ═══════════════════════════════════════════════════════════
   9. CTA FINAL — Full cinematic pressure
   The final CTA becomes a full-width dramatic moment with
   a pulsing glow halo and maximum visual weight.
   ═══════════════════════════════════════════════════════════ */

body.page-home .cta-final {
  position: relative;
  overflow: hidden;
}

body.page-home .cta-final::before {
  content: '';
  position: absolute;
  top: -100px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 800px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(212, 162, 78, 0.08) 0%,
    rgba(94, 184, 204, 0.04) 40%,
    transparent 70%
  );
  pointer-events: none;
  animation: zen-cta-glow 8s ease-in-out infinite alternate;
}

@keyframes zen-cta-glow {
  0% { opacity: 0.6; transform: translateX(-50%) scale(1); }
  100% { opacity: 1; transform: translateX(-50%) scale(1.15); }
}

/* CTA button: enhanced pulse ring */
body.page-home .cta-final .btn-primary.btn-lg {
  position: relative;
}

body.page-home .cta-final .btn-primary.btn-lg::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: inherit;
  border: 2px solid rgba(94, 184, 204, 0.2);
  animation: zen-ring-pulse 3s ease-in-out infinite;
  pointer-events: none;
}

@keyframes zen-ring-pulse {
  0%, 100% { opacity: 0; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}


/* ═══════════════════════════════════════════════════════════
   10. SCROLL REVEAL — Clip-path entry animation
   Elements reveal with a vertical clip-path wipe instead
   of simple fade, creating a more cinematic feel.
   ═══════════════════════════════════════════════════════════ */

body.page-home [data-vision-reveal]:not(.vision-visible) {
  clip-path: inset(15% 0 0 0);
  opacity: 0;
  transform: translateY(28px);
  transition:
    clip-path 0.7s var(--zen-ease),
    opacity 0.6s var(--zen-ease),
    transform 0.7s var(--zen-ease);
}

body.page-home [data-vision-reveal].vision-visible {
  clip-path: inset(0 0 0 0);
  opacity: 1;
  transform: translateY(0);
}


/* ═══════════════════════════════════════════════════════════
   11. SECTION HEAD DECORATION
   Section headers get a geometric accent that reinforces
   the measurement/precision theme.
   ═══════════════════════════════════════════════════════════ */

body.page-home .section-kicker {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

body.page-home .section-kicker::before {
  content: '';
  width: 24px;
  height: 2px;
  background: linear-gradient(90deg, var(--zen-gold), var(--zen-teal));
  border-radius: 1px;
  flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════
   12. FOOTER — Refined presence
   Footer gets a warmer bottom glow to create a sense of
   grounding and completion.
   ═══════════════════════════════════════════════════════════ */

body.page-home .footer {
  position: relative;
}

body.page-home .footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(212, 162, 78, 0.2) 30%,
    rgba(94, 184, 204, 0.15) 70%,
    transparent
  );
}


/* ═══════════════════════════════════════════════════════════
   13. TYPOGRAPHY — Headline emphasis treatment
   Section H2s get subtle gradient text for the most
   important words, creating scan-stopping moments.
   ═══════════════════════════════════════════════════════════ */

body.page-home .section-head h2 em,
body.page-home .guarantee-editorial-copy h2 em,
body.page-home .mapcheck-editorial-copy h2 em {
  font-style: normal;
  background: linear-gradient(135deg, var(--zen-gold), var(--zen-teal));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Light gradient for dark sections */
body.page-home #messung .section-head h2 em,
body.page-home #messung .measure-editorial-copy h2 em,
body.page-home #angebot .section-head h2 em {
  background: linear-gradient(135deg, #e8c07a, #a8dbe6);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}


/* ═══════════════════════════════════════════════════════════
   14. CARD HOVER — 3D perspective tilt
   Cards respond to hover with a subtle 3D perspective
   shift, creating a sense of physical depth.
   ═══════════════════════════════════════════════════════════ */

@media (hover: hover) {
  body.page-home .offer-path {
    transition:
      transform 0.5s var(--zen-ease),
      box-shadow 0.5s var(--zen-ease),
      border-color 0.4s var(--zen-ease);
  }

  body.page-home .offer-path:hover {
    transform: translateY(-6px) perspective(800px) rotateX(-1deg);
    box-shadow:
      0 24px 64px rgba(0, 0, 0, 0.2),
      0 8px 24px rgba(0, 0, 0, 0.1);
  }

  body.page-home .measure-lane:hover {
    transform: translateY(-5px) perspective(800px) rotateX(-0.5deg);
    box-shadow:
      0 20px 48px rgba(0, 0, 0, 0.15),
      0 6px 16px rgba(0, 0, 0, 0.08);
  }

  body.page-home .method-card:hover {
    transform: translateY(-4px);
    box-shadow:
      0 16px 40px rgba(0, 0, 0, 0.1),
      0 4px 12px rgba(0, 0, 0, 0.06);
    transition:
      transform 0.4s var(--zen-ease),
      box-shadow 0.4s var(--zen-ease);
  }
}


/* ═══════════════════════════════════════════════════════════
   15. PROCESS NOTE — Floating callout treatment
   The important note below the process gets a distinctive
   treatment to stand out from regular content.
   ═══════════════════════════════════════════════════════════ */

body.page-home .process-note {
  position: relative;
  border-left: 3px solid var(--zen-gold);
  border-radius: 0 12px 12px 0;
  margin-top: 32px;
}


/* ═══════════════════════════════════════════════════════════
   16. MAP CHECK — Enhanced form presence
   The form gets a floating glow treatment to draw the eye
   as the primary conversion point of the page.
   ═══════════════════════════════════════════════════════════ */

body.page-home .contact-form-wrap {
  position: relative;
}

/* Method-mini boxes: larger for readable text */
body.page-home .method-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.page-home .method-mini {
  padding: 16px 14px 14px;
}

body.page-home .method-mini-k {
  font-size: 10.5px;
  letter-spacing: 0.14em;
}

body.page-home .method-mini-v {
  font-size: 13.5px;
  line-height: 1.45;
  word-break: break-word;
  hyphens: auto;
}

body.page-home .contact-form-wrap::before {
  content: '';
  position: absolute;
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  border-radius: 40px;
  background: radial-gradient(
    ellipse at 50% 30%,
    rgba(94, 184, 204, 0.08),
    rgba(212, 162, 78, 0.04) 50%,
    transparent 80%
  );
  z-index: -1;
  pointer-events: none;
}

/* Form submit button: conversion treatment */
body.page-home .form .btn-primary.btn-block {
  position: relative;
  overflow: hidden;
}

body.page-home .form .btn-primary.btn-block::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  transform: translate(-50%, -50%);
  transition: width 0.6s var(--zen-ease), height 0.6s var(--zen-ease);
}

body.page-home .form .btn-primary.btn-block:hover::before {
  width: 300%;
  height: 300%;
}


/* ═══════════════════════════════════════════════════════════
   17. SIGNATURE — Geometric grid motif
   A subtle background grid pattern reinforces the
   "measurement" and "precision" brand themes.
   ═══════════════════════════════════════════════════════════ */

body.page-home .apex-strip::after {
  background: var(--apex-line);
}

/* Geometric dot accent on section kickers */
body.page-home .section-kicker::after {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--zen-gold);
  opacity: 0.6;
  flex-shrink: 0;
}

/* Guarantee superscript footnote links */
body.page-home sup a[href="#garantie"] {
  color: var(--zen-gold);
  text-decoration: none;
  font-weight: 700;
  font-size: 0.75em;
}

body.page-home sup a[href="#garantie"]:hover {
  text-decoration: underline;
}


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — Tablet & Mobile
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 1099px) {
  /* Process: revert to 2-column (or stacked) layout inherited from lower layers */
  body.page-home .timeline.timeline-compact .step-index {
    font-size: inherit !important;
    font-family: inherit !important;
    color: inherit !important;
  }

  body.page-home .timeline.timeline-compact .step {
    border-right: none !important;
  }
}

@media (max-width: 980px) {
  /* Vertiefen cards: 2-column on tablets */
  body.page-home .deepen-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Guarantee: revert to stacked layout on smaller screens */
  body.page-home .guarantee-lane .apex-tier-num {
    position: absolute !important;
    right: 12px !important;
  }

  body.page-home .guarantee-lane-success {
    transform: none !important;
  }

  body.page-home .guarantee-lane {
    text-align: left !important;
  }

  /* ─── Tablet performance guards (769–980px) ─── */

  /* Disable parallax depth — prevents jank on iPad */
  body.page-home [data-vision-depth] {
    transform: translateY(0) !important;
  }

  /* Beacon animation: disable on tablets + mobile */
  body.page-home .sig-divider::after {
    animation: none;
  }

  /* CTA glow: disable animation on tablets + mobile */
  body.page-home .cta-final::before {
    animation: none;
    opacity: 0.7;
  }

  /* Form glow: disable on tablets + mobile  */
  body.page-home .contact-form-wrap::before {
    display: none;
  }

  /* Ring pulse: disable on tablets + mobile */
  body.page-home .cta-final .btn-primary.btn-lg::after {
    animation: none;
    opacity: 0;
  }
}

@media (max-width: 768px) {
  /* Hero locale: slightly smaller */
  body.page-home .hero-locale {
    font-size: 11.5px;
  }

  /* Impact strip numbers: still dramatic on mobile */
  body.page-home .apex-strip-num {
    background: linear-gradient(
      180deg,
      #fff 0%,
      rgba(212, 162, 78, 0.85) 60%,
      rgba(94, 184, 204, 0.6) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }

  /* Offer paths: accent borders on mobile too */
  body.page-home .offer-path-fit,
  body.page-home .offer-path-no,
  body.page-home .offer-path-alt {
    border-left-width: 3px;
  }

  /* Section kicker decoration: smaller */
  body.page-home .section-kicker::before {
    width: 16px;
  }

  /* FAQ group index: smaller */
  body.page-home .faq-group-index {
    font-size: 28px;
  }

  /* CTA glow sphere: smaller on mobile */
  body.page-home .cta-final::before {
    width: min(400px, 90vw);
    height: min(400px, 90vw);
    top: -50px;
  }

  /* Scroll reveal: simpler on mobile */
  body.page-home [data-vision-reveal]:not(.vision-visible) {
    clip-path: none;
    transform: translateY(20px);
  }
}

@media (max-width: 480px) {
  /* Vertiefen cards: single column on small phones */
  body.page-home .deepen-grid {
    grid-template-columns: 1fr;
  }

  body.page-home .section-kicker::before {
    width: 12px;
  }

  body.page-home .section-kicker::after {
    width: 4px;
    height: 4px;
  }

  /* Method-mini boxes: stack on small phones */
  body.page-home .method-mini-grid {
    grid-template-columns: 1fr !important;
  }

  /* CTA glow sphere: clamp for very small phones */
  body.page-home .cta-final::before {
    width: min(320px, 85vw);
    height: min(320px, 85vw);
    top: -30px;
  }

  /* Section H2: ensure readable on small phones */
  body.page-home .section-head h2 {
    font-size: clamp(24px, 6.5vw, 34px);
  }
}

@media (max-width: 360px) {
  /* CTA glow: even smaller on tiny phones */
  body.page-home .cta-final::before {
    width: 260px;
    height: 260px;
    top: -20px;
  }

  /* Guarantee tier numbers: rein them in */
  body.page-home .guarantee-lane .apex-tier-num {
    font-size: clamp(32px, 10vw, 44px) !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   REDUCED MOTION — Respect user preference
   ═══════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  body.page-home [data-vision-reveal]:not(.vision-visible) {
    clip-path: none;
    transform: none;
    opacity: 1;
    transition: none;
  }

  body.page-home .cta-final::before {
    animation: none;
  }

  body.page-home .cta-final .btn-primary.btn-lg::after {
    animation: none;
    opacity: 0;
  }

  body.page-home .sig-divider::after {
    animation: none;
  }

  @keyframes zen-faq-open {
    from { opacity: 1; transform: none; max-height: 300px; }
    to { opacity: 1; transform: none; max-height: 300px; }
  }

  body.page-home .offer-path:hover,
  body.page-home .measure-lane:hover,
  body.page-home .method-card:hover {
    transform: none;
  }
}
