/* Praxoria Startseite – v521 Warum-Bereich: Feinschliff, gezeichnete Linie,
   ruhigere Pfeiler ohne fremde Boxwirkung. */

body.homeRefinedV521{
  --why-rule: color-mix(in oklab, var(--border) 54%, transparent);
  --why-rule-soft: color-mix(in oklab, var(--border) 34%, transparent);
  --why-copy: color-mix(in oklab, var(--text) 76%, var(--muted));
  --why-muted: color-mix(in oklab, var(--text) 58%, var(--muted));
}

/* Vorherige Swoosh-Deko neutralisieren: die Linie wird nun gezielt per SVG gezeichnet. */
html body.home.homeRefinedV521 .whyBand{
  --why-line-progress: 0;
  --why-line-offset: 1;
  position: relative !important;
  isolation: isolate !important;
  margin-top: clamp(30px, 4vw, 54px) !important;
  padding-top: clamp(40px, 4.6vw, 68px) !important;
  padding-bottom: clamp(44px, 5vw, 72px) !important;
  border-top: 1px solid var(--why-rule) !important;
  background: transparent !important;
  background-image: none !important;
  overflow: clip !important;
}

html body.home.homeRefinedV521 .whyBand::before,
html body.home.homeRefinedV521 .whyBand::after{
  content: none !important;
  display: none !important;
}

html body.home.homeRefinedV521 .whyTitleBlock{
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(340px, 0.82fr) minmax(280px, 1fr) !important;
  gap: clamp(32px, 5vw, 96px) !important;
  align-items: end !important;
  margin: 0 0 clamp(26px, 3vw, 40px) !important;
  padding: 0 !important;
  border: 0 !important;
}

html body.home.homeRefinedV521 .whyTitleBlock .headBlock{
  min-width: 0 !important;
  max-width: 770px !important;
}

html body.home.homeRefinedV521 .whyTitleBlock h2{
  margin: 0 !important;
  max-width: 12ch !important;
  font-size: clamp(2.35rem, 3.9vw, 4.3rem) !important;
  line-height: .97 !important;
  letter-spacing: -.06em !important;
  text-wrap: balance !important;
}

html body.home.homeRefinedV521 .whyTitleBlock h2::after{
  content: "" !important;
  display: block !important;
  width: min(100%, 17rem) !important;
  height: 2px !important;
  margin: clamp(14px, 1.7vw, 20px) 0 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--accent), var(--accent3), transparent 88%) !important;
}

html body.home.homeRefinedV521 .whyTitleBlock .sub.homeLead{
  max-width: 72ch !important;
  margin: clamp(16px, 1.8vw, 22px) 0 0 !important;
  color: var(--why-copy) !important;
  font-size: clamp(1.02rem, 1.12vw, 1.19rem) !important;
  line-height: 1.58 !important;
  letter-spacing: -.012em !important;
}

html body.home.homeRefinedV521 .whyTitleBlock .sub.homeLead .em{
  position: relative !important;
  z-index: 1 !important;
  color: var(--text) !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

html body.home.homeRefinedV521 .whyTitleBlock .sub.homeLead .em::after{
  content: "" !important;
  position: absolute !important;
  left: -.08em !important;
  right: -.08em !important;
  bottom: .08em !important;
  height: .36em !important;
  z-index: -1 !important;
  border-radius: 999px !important;
  background: color-mix(in oklab, var(--accent) 20%, transparent) !important;
  opacity: .9 !important;
}

html body.home.homeRefinedV521 .whyTitleBlock .sub.homeLead .em:nth-of-type(2)::after{
  background: color-mix(in oklab, var(--accent3) 22%, transparent) !important;
}

html body.home.homeRefinedV521 .whyTitleBlock .sub.homeLead .em:nth-of-type(3)::after{
  background: color-mix(in oklab, var(--accent2) 20%, transparent) !important;
}

html body.home.homeRefinedV521 .whyLineStage{
  position: relative !important;
  min-height: clamp(80px, 9vw, 132px) !important;
  align-self: center !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity .42s ease, transform .42s ease !important;
  pointer-events: none !important;
}

html body.home.homeRefinedV521 .whyBand.isFlowComplete .whyLineStage{
  opacity: .84 !important;
  transform: translateY(0) !important;
}

html body.home.homeRefinedV521 .whyDrawLine{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  filter: drop-shadow(0 14px 18px rgba(18, 33, 52, .07)) !important;
}

html body.home.homeRefinedV521 .whyDrawLine path{
  fill: none !important;
  stroke: url(#whyLineGradientV521) !important;
  stroke-width: 14 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-dasharray: 1 !important;
  stroke-dashoffset: var(--why-line-offset, 1) !important;
  opacity: .52 !important;
}

/* Die drei Qualitätsmerkmale bleiben offen, aber werden präziser rhythmisiert. */
html body.home.homeRefinedV521 .whyPillars{
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--why-rule) !important;
  border-bottom: 1px solid var(--why-rule) !important;
  background: linear-gradient(180deg,
    color-mix(in oklab, white 72%, transparent),
    color-mix(in oklab, white 46%, transparent)) !important;
  box-shadow: none !important;
}

html body.home.homeRefinedV521 .whyPillars .pillar{
  --pillar-accent: var(--accent);
  position: relative !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: clamp(26px, 3vw, 42px) clamp(24px, 3vw, 44px) clamp(30px, 3.4vw, 48px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body.home.homeRefinedV521 .whyPillars .pillar + .pillar{
  border-left: 1px solid var(--why-rule-soft) !important;
}

html body.home.homeRefinedV521 .whyPillars .pillar.p1{ --pillar-accent: var(--accent); }
html body.home.homeRefinedV521 .whyPillars .pillar.p2{ --pillar-accent: var(--accent3); }
html body.home.homeRefinedV521 .whyPillars .pillar.p3{ --pillar-accent: var(--accent2); }

html body.home.homeRefinedV521 .whyPillars .pillar::before,
html body.home.homeRefinedV521 .whyPillars .pillar::after{
  content: none !important;
  display: none !important;
}

html body.home.homeRefinedV521 .pillar .k{
  margin: 0 0 clamp(18px, 2vw, 24px) !important;
  color: color-mix(in oklab, var(--pillar-accent) 80%, var(--text)) !important;
  font-size: .74rem !important;
  line-height: 1 !important;
  font-weight: 880 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}

html body.home.homeRefinedV521 .pillar h3{
  max-width: 18ch !important;
  margin: 0 !important;
  color: var(--text) !important;
  font-size: clamp(1.28rem, 1.55vw, 1.76rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance !important;
}

html body.home.homeRefinedV521 .pillar > p{
  max-width: 32rem !important;
  margin: clamp(14px, 1.6vw, 18px) 0 0 !important;
  color: var(--why-copy) !important;
  font-size: clamp(1rem, 1.06vw, 1.12rem) !important;
  line-height: 1.58 !important;
}

html body.home.homeRefinedV521 .pillarMeta{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .42rem .58rem !important;
  align-items: center !important;
  margin: clamp(18px, 2vw, 26px) 0 0 !important;
  padding: 0 !important;
  color: color-mix(in oklab, var(--text) 62%, var(--muted)) !important;
  font-size: .78rem !important;
  line-height: 1.4 !important;
  font-weight: 780 !important;
  letter-spacing: -.005em !important;
}

html body.home.homeRefinedV521 .pillarMeta span{
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}

html body.home.homeRefinedV521 .pillarMeta span + span::before{
  content: "·" !important;
  display: inline-block !important;
  margin: 0 .58rem 0 0 !important;
  color: color-mix(in oklab, var(--pillar-accent) 72%, var(--border-strong)) !important;
}

html body.home.homeRefinedV521 .pillarPreview{
  position: relative !important;
  margin: clamp(24px, 2.5vw, 32px) 0 0 !important;
  padding: 0 0 0 clamp(16px, 1.6vw, 22px) !important;
  border: 0 !important;
  border-left: 4px solid color-mix(in oklab, var(--pillar-accent) 75%, white) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.home.homeRefinedV521 .pillarPreview .pk{
  margin: 0 0 .8rem !important;
  color: color-mix(in oklab, var(--pillar-accent) 72%, var(--text)) !important;
  font-size: .72rem !important;
  line-height: 1.1 !important;
  font-weight: 760 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}

html body.home.homeRefinedV521 .pillarPreview .pv{
  max-width: 31rem !important;
  margin: 0 !important;
  color: var(--text) !important;
  font-size: clamp(1.02rem, 1.18vw, 1.28rem) !important;
  line-height: 1.36 !important;
  font-weight: 820 !important;
  letter-spacing: -.032em !important;
}

html body.home.homeRefinedV521 .pillarPreview .pd{
  max-width: 30rem !important;
  margin: .82rem 0 0 !important;
  color: var(--why-muted) !important;
  font-size: clamp(.94rem, 1vw, 1.04rem) !important;
  line-height: 1.5 !important;
}

/* Anschluss zum Demo-Bereich ruhiger, damit der Abschnitt nicht zu schwer wird. */
html body.home.homeRefinedV521 .whyAfter{
  margin-top: clamp(28px, 3.4vw, 48px) !important;
}

@media (prefers-reduced-motion: reduce){
  html body.home.homeRefinedV521 .whyLineStage,
  html body.home.homeRefinedV521 .whyDrawLine path{
    transition: none !important;
  }
  html body.home.homeRefinedV521 .whyBand.isFlowComplete{
    --why-line-progress: 1 !important;
  }
}

@media (max-width: 1100px){
  html body.home.homeRefinedV521 .whyTitleBlock{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  html body.home.homeRefinedV521 .whyLineStage{
    max-width: 620px !important;
    min-height: 72px !important;
  }
  html body.home.homeRefinedV521 .whyPillars{
    grid-template-columns: 1fr !important;
  }
  html body.home.homeRefinedV521 .whyPillars .pillar + .pillar{
    border-left: 0 !important;
    border-top: 1px solid var(--why-rule-soft) !important;
  }
}

@media (max-width: 720px){
  html body.home.homeRefinedV521 .whyBand{
    margin-top: 28px !important;
    padding-top: 34px !important;
    padding-bottom: 48px !important;
    overflow: visible !important;
  }
  html body.home.homeRefinedV521 .whyTitleBlock h2{
    font-size: clamp(2.2rem, 11vw, 3rem) !important;
  }
  html body.home.homeRefinedV521 .whyTitleBlock .sub.homeLead .em{
    white-space: normal !important;
  }
  html body.home.homeRefinedV521 .whyLineStage{
    display: none !important;
  }
  html body.home.homeRefinedV521 .whyPillars .pillar{
    padding: 24px 0 28px !important;
  }
  html body.home.homeRefinedV521 .whyPillars{
    background: transparent !important;
  }
}
