/* ===========================
   PIXELWEISE LEISTUNGSSEITE V2.1
=========================== */
/* ===========================
   STARTSEITE HERO V2 – wie Leistungsseite
=========================== */

/* ==========================================
   HERO HEADLINE FIX
========================================== */

.pw-lp-hero h1,
.pw-story-hero h1,
.pw-service-hero h1,
.pw-lp-hero-title {

    font-size: clamp(54px, 4.8vw, 78px) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    color: #111 !important;
    margin: 0 0 28px;
}

@media (max-width: 959px){

    .pw-lp-hero h1,
    .pw-story-hero h1,
    .pw-service-hero h1,
    .pw-lp-hero-title{

        font-size: clamp(40px,6vw,54px)!important;
    }

}

@media (max-width:570px){

    .pw-lp-hero h1,
    .pw-story-hero h1,
    .pw-service-hero h1,
    .pw-lp-hero-title{

        font-size:42px!important;
        line-height:1!important;
    }

}
.pw-rotate{
    position:relative;
    display:inline-block;
    min-width:320px;
    height:1.1em;
}

.pw-word{
    position:absolute;
    left:0;
    top:0;
    opacity:0;
    transform:translateY(18px);
    transition:
        opacity .45s ease,
        transform .45s ease;
    color:#5B4EE3;
    white-space:nowrap;
}

.pw-word.active{
    opacity:1;
    transform:translateY(0);
}
.pw-home-hero-html {
  padding: 50px 0 120px;
  overflow: hidden;
}

.pw-home-hero-inner {
  width: min(1600px, calc(100% - 80px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 80px;
  align-items: center;
}

.pw-home-kicker {
  display: block;
  margin-bottom: 18px;
  color: #5B4EE3;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pw-home-hero-copy h1 {
  margin: 0;
  font-size: clamp(58px, 5.8vw, 92px);
  line-height: .98;
  letter-spacing: -0.045em;
  font-weight: 800;
  color: #111;
}

.pw-home-hero-copy h1 span {
  color: #5B4EE3;
}

.pw-home-hero-copy p {
  max-width: 560px;
  margin: 32px 0 38px;
  font-size: 19px;
  line-height: 1.75;
  color: #5F6573;
}

.pw-home-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 34px;
  background: #111;
  color: #fff !important;
  border-radius: 14px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 18px 45px rgba(15,17,21,.18);
}

.pw-home-trust {
  margin-top: 38px;
  font-size: 15px;
  color: #111;
}

.pw-home-trust span {
  display: inline-flex;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  border-radius: 50%;
  border: 1px solid #111;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.pw-home-hero-visual {
  position: relative;
  width: 100%;
  max-width: 820px;
  min-height: 500px;
  margin-left: auto;
  perspective: 1000px;
}

.pw-home-browser {
  position: absolute;
  right: 0;
  top: 55px;
  width: min(760px, 100%);
  height: 430px;
  border: 3px solid #6D5EF8;
  border-radius: 30px;
  background: rgba(255,255,255,.78);
  box-shadow:
    0 45px 120px rgba(91,78,227,.20),
    0 0 120px rgba(91,78,227,.14);
  overflow: hidden;
  transform: rotate(1deg);
  animation: pwHomeBrowserFloat 6s ease-in-out infinite;
}

@media (max-width: 959px) {
  .pw-home-hero-inner {
    width: min(100% - 32px, 1600px);
    grid-template-columns: 1fr;
  }

  .pw-home-hero-copy h1 {
    font-size: clamp(44px, 11vw, 68px);
  }
}

.pw-home-hero-v2 {
  padding-top: 130px !important;
  padding-bottom: 120px !important;
  overflow: hidden !important;
}

.pw-home-hero-v2 .row-inner {
  max-width: 1600px !important;
  margin: 0 auto !important;
  align-items: center !important;
}

/* Linke Spalte */
.pw-home-hero-v2 .vc_column_container:first-child {
  width: 42% !important;
  max-width: 42% !important;
  flex: 0 0 42% !important;
}

.pw-home-hero-v2 .vc_column_container:first-child .uncol {
  max-width: 640px !important;
}

/* Rechte Spalte */
.pw-home-hero-v2 .vc_column_container:nth-child(2) {
  width: 58% !important;
  max-width: 58% !important;
  flex: 0 0 58% !important;
}

/* Kicker */
.pw-home-hero-v2 .vc_custom_heading_wrap:first-child * {
  text-align: left !important;
  color: #5B4EE3 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Hero Headline */
.pw-home-hero-v2 .my-rotating-text,
.pw-home-hero-v2 .my-rotating-text *,
.pw-home-hero-v2 h1,
.pw-home-hero-v2 .heading-text {
  text-align: left !important;
}

.pw-home-hero-v2 .my-rotating-text .heading-text,
.pw-home-hero-v2 .my-rotating-text h1,
.pw-home-hero-v2 .my-rotating-text span {
  font-size: clamp(58px, 5.8vw, 92px) !important;
  line-height: .98 !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
}

/* Subheadline */
.pw-home-hero-v2 .my-rotating-text .heading-text + p,
.pw-home-hero-v2 .my-rotating-text .subheading,
.pw-home-hero-v2 .my-rotating-text .heading-text p {
  max-width: 560px !important;
  font-size: 19px !important;
  line-height: 1.75 !important;
  color: #5F6573 !important;
  text-align: left !important;
}

/* Button Abstand */
.pw-home-hero-v2 .btn-container {
  margin-top: 34px !important;
  text-align: left !important;
}

/* Trust Text */
.pw-home-hero-v2 .icon-box {
  margin-top: 38px !important;
}

/* Browser Visual */
.pw-home-hero-v2 .pw-home-hero-visual {
  max-width: 820px !important;
  min-height: 500px !important;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.pw-home-hero-v2 .pw-home-browser {
  position: absolute !important;
  right: 0 !important;
  top: 55px !important;
  width: min(760px, 100%) !important;
  height: 430px !important;
  border-radius: 30px !important;
}

.pw-home-hero-v2 .pw-home-icon-badge {
  right: -10px !important;
  top: 315px !important;
  width: 112px !important;
  height: 112px !important;
}

.pw-home-hero-v2 .pw-home-icon-badge i {
  font-size: 52px !important;
}

/* Mobile */
@media (max-width: 959px) {
  .pw-home-hero-v2 {
    padding-top: 90px !important;
    padding-bottom: 80px !important;
  }

  .pw-home-hero-v2 .vc_column_container:first-child,
  .pw-home-hero-v2 .vc_column_container:nth-child(2) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .pw-home-hero-v2 .my-rotating-text .heading-text,
  .pw-home-hero-v2 .my-rotating-text h1,
  .pw-home-hero-v2 .my-rotating-text span {
    font-size: clamp(44px, 11vw, 68px) !important;
  }

  .pw-home-hero-v2 .pw-home-hero-visual {
    max-width: 620px !important;
    min-height: 390px !important;
    margin: 50px auto 0 !important;
  }

  .pw-home-hero-v2 .pw-home-browser {
    width: 100% !important;
    height: 340px !important;
    top: 20px !important;
  }

  .pw-home-hero-v2 .pw-home-icon-badge {
    width: 86px !important;
    height: 86px !important;
    top: 265px !important;
    right: 16px !important;
  }

  .pw-home-hero-v2 .pw-home-icon-badge i {
    font-size: 40px !important;
  }
}

/* ===========================
   STARTSEITE HERO BROWSER – größer
=========================== */

.pw-home-hero-visual {
  position: relative;
  width: 100%;
  max-width: 920px;
  min-height: 460px;
  margin: 0 auto;
  perspective: 1000px;
}

.pw-home-browser {
  position: absolute;
  right: 0;
  top: 35px;
  width: min(760px, 100%);
  height: 430px;
  border: 3px solid #6D5EF8;
  border-radius: 30px;
  background: rgba(255,255,255,.78);
  box-shadow:
    0 45px 120px rgba(91,78,227,.20),
    0 0 120px rgba(91,78,227,.14);
  overflow: hidden;
  transform: rotate(1deg);
  animation: pwHomeBrowserFloat 6s ease-in-out infinite;
}

.pw-home-browser-bar {
  height: 62px;
  border-bottom: 3px solid #6D5EF8;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 28px;
}

.pw-home-browser-bar span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #6D5EF8;
}

.pw-home-browser-body {
  padding: 42px;
}

.pw-home-browser-hero {
  height: 145px;
  border-radius: 20px;
  background: linear-gradient(135deg, #EDE9FE, #C4B5FD);
  margin-bottom: 34px;
}

.pw-home-browser-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.pw-home-browser-row span {
  height: 62px;
  border-radius: 15px;
  background: #EDE9FE;
}

.pw-home-browser-lines {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 22px;
}

.pw-home-browser-lines i {
  height: 8px;
  border-radius: 999px;
  background: #B7A8FF;
}

.pw-home-icon-badge {
  position: absolute;
  right: -10px;
  top: 315px;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: #fff;
  color: #5B4EE3;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 90px rgba(91,78,227,.22);
  z-index: 5;
}

.pw-home-icon-badge i {
  font-size: 52px;
  color: #5B4EE3;
}

@keyframes pwHomeBrowserFloat {
  0%, 100% {
    transform: translateY(0) rotate(1deg);
  }

  50% {
    transform: translateY(-12px) rotate(1deg);
  }
}

@media (max-width: 959px) {
  .pw-home-hero-visual {
    max-width: 620px;
    min-height: 420px;
    margin-top: 40px;
  }

  .pw-home-browser {
    width: 100%;
    height: 340px;
    top: 20px;
  }

  .pw-home-browser-body {
    padding: 34px;
  }

  .pw-home-browser-hero {
    height: 110px;
  }

  .pw-home-browser-row span {
    height: 48px;
  }

  .pw-home-icon-badge {
    width: 88px;
    height: 88px;
    top: 265px;
    right: 16px;
  }

  .pw-home-icon-badge i {
    font-size: 42px;
  }
}

@media (max-width: 569px) {
  .pw-home-hero-visual {
    min-height: 310px;
  }

  .pw-home-browser {
    height: 245px;
  }

  .pw-home-browser-body {
    padding: 26px;
  }

  .pw-home-browser-hero {
    height: 78px;
    margin-bottom: 22px;
  }

  .pw-home-browser-row span {
    height: 36px;
  }

  .pw-home-icon-badge {
    width: 70px;
    height: 70px;
    top: 190px;
  }

  .pw-home-icon-badge i {
    font-size: 32px;
  }
}
.pw-service-page-v2 {
  --pw-purple: #5B4EE3;
  --pw-purple-2: #6D5EF8;
  --pw-purple-soft: #EFEEFD;
  --pw-green: #22C55E;
  --pw-green-soft: #EDF9F0;
  --pw-yellow: #F2B426;
  --pw-yellow-soft: #FFF8E9;
  --pw-pink: #FF4F93;
  --pw-pink-soft: #FFF0F7;
  --pw-blue: #4F8EF7;
  --pw-blue-soft: #EEF6FF;
  --pw-dark: #111111;
  --pw-muted: #5F6573;
  --pw-border: #F1F2F5;
  background: #fff;
  color: var(--pw-dark);
}

.pw-lp-container {
  width: min(1440px, calc(100% - 80px));
  margin: 0 auto;
}

.pw-lp-kicker,
.pw-journey-head span {
  display: block;
  margin-bottom: 16px;
  color: var(--pw-purple);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pw-lp-section {
  padding: 125px 0;
  position: relative;
}

.pw-lp-soft {
  background: linear-gradient(180deg, #ffffff, #FAFAFF);
}

.pw-lp-section-head {
  max-width: 820px;
}

.pw-lp-hero h1,
.pw-lp-section h2,
.pw-journey-head h2,
.pw-lp-cta-box h2 {
  margin: 0;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: var(--pw-dark);
}

.pw-lp-hero h1 {
  max-width: 720px;
  font-size: clamp(54px, 5.6vw, 86px);
}

.pw-lp-section h2,
.pw-journey-head h2 {
  max-width: 780px;
  margin-bottom: 52px;
  font-size: clamp(42px, 4.2vw, 60px);
}

.pw-lp-hero p,
.pw-journey-head p {
  max-width: 560px;
  margin: 30px 0 38px;
  font-size: 18px;
  line-height: 1.7;
  color: var(--pw-muted);
}

.pw-journey-head p {
  margin: 0 auto;
}

/* Hero */

.pw-lp-hero {
  position: relative;
  padding: 145px 0 125px;
  overflow: hidden;
}

.pw-lp-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 90px;
  align-items: center;
}

.pw-lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 18px 34px;
  background: #111;
  color: #fff !important;
  border-radius: 14px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 18px 45px rgba(15,17,21,.18);
  transition: transform .3s ease, box-shadow .3s ease;
}

.pw-lp-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 65px rgba(15,17,21,.24);
}

.pw-lp-btn span { transition: transform .3s ease; }
.pw-lp-btn:hover span { transform: translateX(6px); }
.pw-lp-btn-light { background: #fff !important; color: var(--pw-purple) !important; }

/* Browser */

.pw-lp-visual {
  position: relative;
  min-height: 450px;
  perspective: 1000px;
}

.pw-lp-browser {
  position: absolute;
  right: 0;
  top: 42px;
  width: min(690px, 100%);
  height: 390px;
  border: 3px solid var(--pw-purple-2);
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 40px 110px rgba(91,78,227,.18), 0 0 90px rgba(91,78,227,.12);
  overflow: hidden;
  transform: rotate(1deg);
  animation: pwLpFloat 6s ease-in-out infinite;
}

.pw-lp-browser-bar {
  height: 58px;
  border-bottom: 3px solid var(--pw-purple-2);
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 28px;
}

.pw-lp-browser-bar span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--pw-purple-2);
}

.pw-lp-browser-body { padding: 38px; }

.pw-lp-browser-hero {
  height: 130px;
  border-radius: 18px;
  background: linear-gradient(135deg, #EDE9FE, #C4B5FD);
  margin-bottom: 30px;
}

.pw-lp-browser-row,
.pw-lp-browser-lines {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.pw-lp-browser-row span {
  height: 58px;
  border-radius: 14px;
  background: #EDE9FE;
}

.pw-lp-browser-lines { margin-top: 20px; }
.pw-lp-browser-lines i {
  height: 8px;
  border-radius: 999px;
  background: #B7A8FF;
}

.pw-lp-icon-badge {
  position: absolute;
  right: -8px;
  top: 285px;
  width: 102px;
  height: 102px;
  border-radius: 50%;
  background: #fff;
  color: var(--pw-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 90px rgba(91,78,227,.22);
  z-index: 5;
}

.pw-lp-icon-badge i {
  font-size: 48px;
  color: var(--pw-purple);
}

/* Layout */

.pw-lp-two {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 90px;
  align-items: center;
}

.pw-lp-card-grid,
.pw-lp-benefits,
.pw-lp-results {
  display: grid;
  gap: 24px;
}

.pw-lp-card-grid { grid-template-columns: repeat(2, 1fr); }
.pw-lp-benefits { grid-template-columns: repeat(4, 1fr); }
.pw-lp-results { grid-template-columns: repeat(3, 1fr); }

/* Cards + Icons */

.pw-lp-mini-card,
.pw-lp-benefit,
.pw-lp-results div {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(15,17,21,.055);
}

.pw-lp-mini-card { padding: 28px; }
.pw-lp-benefit { padding: 34px; transition: transform .3s ease, box-shadow .3s ease; }
.pw-lp-results div { padding: 30px; }

.pw-lp-benefit:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 80px rgba(15,17,21,.085);
}

.pw-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  flex-shrink: 0;
}

.pw-card-icon i { font-size: 24px; }

.pw-purple .pw-card-icon { background: var(--pw-purple-soft); color: var(--pw-purple); }
.pw-green .pw-card-icon { background: var(--pw-green-soft); color: var(--pw-green); }
.pw-yellow .pw-card-icon { background: var(--pw-yellow-soft); color: var(--pw-yellow); }
.pw-pink .pw-card-icon { background: var(--pw-pink-soft); color: var(--pw-pink); }

.pw-lp-mini-card strong,
.pw-lp-results strong {
  display: block;
  margin-bottom: 10px;
  font-size: 19px;
  line-height: 1.25;
}

.pw-lp-benefit h3,
.pw-lp-results h3 {
  margin: 0 0 12px;
  font-size: 23px;
  line-height: 1.2;
}

.pw-lp-mini-card p,
.pw-lp-benefit p,
.pw-lp-results p {
  margin: 0;
  color: var(--pw-muted);
  line-height: 1.65;
  font-size: 16px;
}

/* Journey override: nur Breite passend zur Leistungsseite, Stil bleibt Startseite */

.pw-service-page-v2 .pw-journey {
  padding: 125px 0;
  background: linear-gradient(180deg, #ffffff, #FAFAFF);
}

.pw-service-page-v2 .pw-journey-head {
  max-width: 760px;
  margin: 0 auto 90px;
  text-align: center;
}

/* FAQ */

.pw-lp-faq details {
  background: #FAFAFF;
  border-radius: 18px;
  padding: 22px 26px;
  margin-bottom: 14px;
}

.pw-lp-faq summary {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
  position: relative;
}

.pw-lp-faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  color: var(--pw-purple);
}

.pw-lp-faq details[open] summary::after { content: "–"; }
.pw-lp-faq p { margin: 16px 0 0; color: var(--pw-muted); line-height: 1.65; }

.pw-lp-question {
  width: 270px;
  height: 220px;
  margin: 0 auto;
  border-radius: 34px;
  background: var(--pw-purple-soft);
  color: var(--pw-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 115px;
  font-weight: 900;
  box-shadow: 0 35px 90px rgba(91,78,227,.16);
}

/* CTA */

.pw-lp-cta { padding: 120px 0; }

.pw-lp-cta-box {
  background: linear-gradient(135deg, var(--pw-purple-2), var(--pw-purple));
  border-radius: 36px;
  padding: 64px;
  color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: center;
  overflow: hidden;
}

.pw-lp-cta-box h2 {
  max-width: 720px;
  color: #fff;
  font-size: clamp(42px, 4.2vw, 60px);
}

.pw-lp-cta-box p {
  margin: 18px 0 0;
  max-width: 560px;
  color: rgba(255,255,255,.82);
  font-size: 18px;
  line-height: 1.65;
}

@keyframes pwLpFloat {
  0%, 100% { transform: translateY(0) rotate(1deg); }
  50% { transform: translateY(-12px) rotate(1deg); }
}

/* Responsive */

@media (max-width: 1180px) {
  .pw-lp-hero-grid,
  .pw-lp-two {
    grid-template-columns: 1fr;
    gap: 70px;
  }

  .pw-lp-benefits,
  .pw-lp-results { grid-template-columns: repeat(2, 1fr); }
  .pw-lp-visual { min-height: 430px; }
  .pw-lp-browser { left: 0; right: auto; }
  .pw-lp-cta-box { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .pw-lp-container { width: min(100% - 32px, 1440px); }
  .pw-lp-hero,
  .pw-lp-section,
  .pw-lp-cta,
  .pw-service-page-v2 .pw-journey { padding: 85px 0; }

  .pw-lp-hero h1 { font-size: clamp(43px, 13vw, 62px); }
  .pw-lp-section h2,
  .pw-journey-head h2,
  .pw-lp-cta-box h2 { font-size: clamp(35px, 10vw, 48px); }

  .pw-lp-card-grid,
  .pw-lp-benefits,
  .pw-lp-results { grid-template-columns: 1fr; }

  .pw-lp-visual { min-height: 320px; }
  .pw-lp-browser {
    position: relative;
    width: 100%;
    height: 250px;
    top: 0;
  }
  .pw-lp-browser-body { padding: 26px; }
  .pw-lp-browser-hero { height: 78px; }
  .pw-lp-browser-row span { height: 40px; }
  .pw-lp-icon-badge { width: 74px; height: 74px; top: 198px; right: 18px; }
  .pw-lp-icon-badge i { font-size: 34px; }
  .pw-lp-cta-box { padding: 38px; border-radius: 28px; }
}

/* ==========================================
   FINAL HERO SIZE FIX
========================================== */

.pw-home-hero-copy h1,
.pw-lp-hero h1 {
  font-size: clamp(64px, 6vw, 92px) !important;
  line-height: .95 !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  margin: 0 !important;
}

.pw-home-hero-copy h1 .pw-rotate,
.pw-home-hero-copy h1 .pw-word {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  color: #5B4EE3 !important;
}

.pw-lp-section h2,
.pw-journey-head h2,
.pw-lp-cta-box h2 {
  font-size: clamp(42px, 4.2vw, 60px) !important;
  line-height: 1.05 !important;
}

@media (max-width: 959px) {
  .pw-home-hero-copy h1,
  .pw-lp-hero h1 {
    font-size: clamp(46px, 9vw, 68px) !important;
  }
}

@media (max-width: 570px) {
  .pw-home-hero-copy h1,
  .pw-lp-hero h1 {
    font-size: 44px !important;
    line-height: 1 !important;
  }
}
