/* =========================================================
   ABOUT PNFLOW
========================================================= */


/* =========================================================
   HERO
========================================================= */

.page-about-hero {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: clamp(105px, 7vw, 150px) 0 !important;
  background-color: var(--bg-section-soft);
  overflow: hidden;
}

.page-about-hero-inner {
  width: min(var(--container-xl), calc(100% - 120px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(70px, 6vw, 110px) !important;
  align-items: center !important;
}

.page-about-hero-copy {
  width: 100% !important;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

.page-about-hero-title {
  width: 100% !important;
  margin: clamp(24px, 2vw, 32px) 0 0 !important;
  padding: 0 !important;
}

.page-about-hero-title .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-hero-title .elementor-heading-title {
  width: 100% !important;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(56px, 4.4vw, 78px) !important;
  line-height: 1.02 !important;
  font-weight: 500 !important;
  letter-spacing: -0.047em !important;
  text-wrap: balance;
}

.page-about-hero-lead {
  width: min(100%, 720px) !important;
  margin: clamp(30px, 2.5vw, 40px) 0 0 !important;
  padding: 0 !important;
}

.page-about-hero-lead .elementor-widget-container,
.page-about-hero-lead p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  font-family: var(--font-secondary) !important;
  font-size: clamp(22px, 1.5vw, 27px) !important;
  line-height: 1.48 !important;
  font-weight: 500 !important;
}

.page-about-hero-text {
  width: min(100%, 690px) !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
}

.page-about-hero-text .elementor-widget-container,
.page-about-hero-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--primary-rgb), 0.68) !important;
}

.page-about-hero-text p + p {
  margin-top: 14px !important;
}

.page-about-hero-image {
  position: relative;
  width: 100% !important;
  max-width: 620px;
  min-height: 0;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
}

.page-about-hero-image::before,
.page-about-hero-image::after {
  display: none !important;
  content: none !important;
}

.page-about-hero-image .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-hero-image img {
  display: block;
  width: 100% !important;
  height: clamp(520px, 38vw, 650px) !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: 56% center;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(var(--primary-rgb), 0.09);
}

/* =========================================================
   PATH + ROLE
========================================================= */

.page-about-path {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: clamp(110px, 7vw, 150px) 0 !important;
  background: linear-gradient(180deg, rgba(var(--secondary-green-rgb), 0.055) 0%, rgba(var(--soft-green-rgb), 0.035) 100%);
  overflow: hidden;
}

.page-about-path-inner {
  width: min(var(--container-xl), calc(100% - 120px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
  gap: clamp(70px, 6vw, 110px) !important;
  align-items: start !important;
}

.page-about-path-main {
  width: 100% !important;
  max-width: 800px;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.page-about-path-title {
  width: 100% !important;
  margin: clamp(24px, 2vw, 30px) 0 0 !important;
  padding: 0 !important;
}

.page-about-path-title .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-path-title.pnflow-section-title,
.page-about-path-title.pnflow-section-title .elementor-heading-title,
.page-about-path-title .elementor-heading-title {
  width: 100% !important;
  max-width: 760px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  text-align: left !important;
}

.page-about-path-text {
  width: 100% !important;
  max-width: 760px;
  margin: 36px 0 0 !important;
  padding: 0 !important;
}

.page-about-path-text .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-path-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--primary-rgb), 0.72) !important;
}

.page-about-path-text p + p {
  margin-top: 20px !important;
}

.page-about-path-text strong {
  color: var(--primary) !important;
  font-weight: 600 !important;
}

.page-about-path-text .about-path-keyword {
  margin: 12px 0 20px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.page-about-path-text .about-path-keyword::before {
  content: "→";
  display: inline-block;
  flex: 0 0 auto;
  color: var(--accent);
  font-family: var(--font-primary);
  font-size: clamp(32px, 2.3vw, 44px);
  line-height: 1;
  font-weight: 500;
  transform: translateY(-1px);
}

.page-about-path-text .about-path-keyword em {
  display: inline-block;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--accent) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(36px, 2.7vw, 50px) !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  font-style: italic !important;
}

.page-about-path-text .about-path-statement {
  position: relative;
  margin: clamp(34px, 2.8vw, 46px) 0 !important;
  padding: 22px 0 22px 30px !important;
  color: var(--primary) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(20px, 1.35vw, 24px) !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.page-about-path-text .about-path-statement::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background-color: var(--accent);
  border-radius: 999px;
}

.page-about-path-text .about-path-statement strong {
  color: var(--primary) !important;
  font-weight: 600 !important;
}


/* =========================================================
   ROLE
========================================================= */

.page-about-role {
  position: relative;
  width: 100% !important;
  max-width: 520px;
  margin: 58px 0 0 auto !important;
  padding: clamp(46px, 3.8vw, 62px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(var(--primary-rgb), 1) 0%, rgba(var(--primary-rgb), 0.97) 58%, rgba(var(--secondary-blue-rgb), 0.94) 100%) !important;
  border: 1px solid rgba(var(--cream-rgb), 0.08);
  border-radius: 28px;
  box-shadow: 0 26px 65px rgba(var(--primary-rgb), 0.13);
}

.page-about-role::after {
  content: "";
  position: absolute;
  top: -130px;
  right: -100px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--cream-rgb), 0.09) 0%, rgba(var(--cream-rgb), 0) 72%);
  pointer-events: none;
}

.page-about-role-title {
  position: relative;
  z-index: 1;
  width: 100% !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
}

.page-about-role-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--cream) !important;
  font-size: clamp(28px, 2vw, 36px) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}

.page-about-role-text {
  position: relative;
  z-index: 1;
  width: 100% !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
}

.page-about-role-text .elementor-widget-container,
.page-about-role-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--cream-rgb), 0.82) !important;
}

.page-about-role-text p + p {
  margin-top: 17px !important;
}

.page-about-role-quote {
  position: relative;
  z-index: 1;
  width: 100% !important;
  margin: 40px 0 0 !important;
  padding: 20px 28px !important;
  border-left: 3px solid var(--accent);
  border-right: 3px solid var(--accent);
}

.page-about-role-quote .elementor-widget-container,
.page-about-role-quote p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--cream) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(21px, 1.45vw, 25px) !important;
  line-height: 1.4 !important;
  font-weight: 600 !important;
  text-align: center !important;
}


/* =========================================================
   APPROACH
========================================================= */

.page-about-approach {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: clamp(110px, 7vw, 150px) 0 !important;
  background-color: var(--pnflow-page-bg);
  overflow: hidden;
}

.page-about-approach-inner {
  width: min(var(--container-xl), calc(100% - 120px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.page-about-approach-inner > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.page-about-approach-heading {
  width: min(100%, var(--container-lg)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  text-align: center !important;
}

.page-about-approach-title {
  width: 100% !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
}

.page-about-approach-title.pnflow-section-title,
.page-about-approach-title.pnflow-section-title .elementor-heading-title,
.page-about-approach-title .elementor-heading-title {
  width: 100% !important;
  max-width: 950px;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--primary) !important;
  text-align: center !important;
}

.page-about-approach-intro {
  width: min(100%, 850px) !important;
  margin: 28px auto 0 !important;
  padding: 0 !important;
}

.page-about-approach-intro .elementor-widget-container,
.page-about-approach-intro p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--primary-rgb), 0.68) !important;
  text-align: center !important;
}

.page-about-approach-grid {
  width: 100% !important;
  margin: clamp(62px, 5vw, 84px) 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 2.2vw, 34px) !important;
  align-items: stretch !important;
}

.page-about-approach-card {
  position: relative;
  z-index: 1;
  width: 100% !important;
  min-width: 0;
  height: 100% !important;
  min-height: 280px;
  margin: 0 !important;
  padding: clamp(36px, 3vw, 46px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 20px !important;
  background: linear-gradient(180deg, rgba(var(--cream-rgb), 0.78) 0%, rgba(var(--white-rgb), 0.58) 100%);
  border: 1px solid rgba(var(--primary-rgb), 0.085);
  border-radius: var(--radius-l);
  box-shadow: 0 16px 40px rgba(var(--black-rgb), 0.06);
}

.page-about-approach-card::before {
  content: "";
  position: relative;
  inset: auto;
  flex: 0 0 auto;
  width: 32px;
  height: 3px;
  margin-bottom: 4px;
  background-color: var(--accent);
  border-radius: 999px;  
}

.page-pnflow-erleben-approach-card .elementor-widget-heading {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-approach-card-title .elementor-heading-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(23px, 1.7vw, 28px) !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  text-align: left !important;
  text-wrap: balance;
}

.page-about-approach-card-text {
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

.page-about-approach-card-text .elementor-widget-container,
.page-about-approach-card-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--primary-rgb), 0.70) !important;
}

.page-about-approach-card-text p + p {
  margin-top: 16px !important;
}

.page-about-values {
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 28px 0 0 !important;
  border-top: 1px solid rgba(var(--primary-rgb), 0.10);
}

.page-about-values .elementor-widget-container,
.page-about-values p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--accent) !important;
  font-family: var(--font-primary) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}

.page-about-method-list {
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

.page-about-method-list .elementor-widget-container,
.page-about-method-list .elementor-icon-list-items {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-method-list .elementor-icon-list-icon {
  display: none !important;
}

.page-about-method-list .elementor-icon-list-item {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 0 32px !important;
}

.page-about-method-list .elementor-icon-list-item + .elementor-icon-list-item {
  margin-top: 12px !important;
}

.page-about-method-list .elementor-icon-list-item::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: var(--accent);
  font-family: var(--font-primary);
  font-size: 19px;
  line-height: 1.4;
}

.page-about-method-list .elementor-icon-list-text {
  display: block !important;
  width: 100% !important;
  color: var(--primary) !important;
  font-weight: 500 !important;
}


/* =========================================================
   MUSIC
========================================================= */

.page-about-music {
  position: relative;
  width: 100% !important;
  margin: clamp(70px, 5.5vw, 95px) 0 0 !important;
  padding: clamp(56px, 4.5vw, 76px) clamp(60px, 5vw, 86px) !important;
  background: linear-gradient(135deg, rgba(var(--soft-gold-rgb), 0.17) 0%, rgba(var(--cream-rgb), 0.92) 44%, rgba(var(--soft-green-rgb), 0.16) 100%);
  border: 1px solid rgba(var(--accent-rgb), 0.08);
  border-radius: 28px;
  overflow: hidden;
}

.page-about-music-copy {
  width: 100% !important;
  max-width: 1100px;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.page-about-music-title {
  width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

.page-about-music-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  font-size: clamp(34px, 2.4vw, 44px) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em !important;
}

.page-about-music-text {
  width: min(100%, var(--container-md)) !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
}

.page-about-music-text .elementor-widget-container,
.page-about-music-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--primary-rgb), 0.70) !important;
}

.page-about-music-text p + p {
  margin-top: 15px !important;
}


/* =========================================================
   BACKGROUND / BERUFLICHER HINTERGRUND
========================================================= */

.page-about-background {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: 0 !important;
  padding: clamp(110px, 7vw, 150px) 0 !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(var(--soft-gold-rgb), 0.28) 0%, rgba(var(--soft-gold-rgb), 0) 32%),
    radial-gradient(circle at 82% 14%, rgba(var(--secondary-green-rgb), 0.15) 0%, rgba(var(--secondary-green-rgb), 0) 36%),
    radial-gradient(circle at 92% 92%, rgba(var(--secondary-blue-rgb), 0.09) 0%, rgba(var(--secondary-blue-rgb), 0) 38%),
    linear-gradient(135deg, rgba(var(--cream-rgb), 0.96) 0%, rgba(var(--white-rgb), 0.82) 48%, rgba(var(--soft-green-rgb), 0.15) 100%);
  overflow: hidden;
}

.page-about-background::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.12;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.32'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  mix-blend-mode: soft-light;
}

.page-about-background-inner > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

/* =========================================================
   BACKGROUND COPY
========================================================= */

.page-about-background-copy {
  width: min(100%, var(--container-lg)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  text-align: center !important;
}

/* =========================================================
   BACKGROUND TITLE
========================================================= */

.page-about-background-title {
  width: 100% !important;
  margin: 26px 0 0 !important;
  padding: 0 !important;
}

.page-about-background-title .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-background-title.pnflow-section-title,
.page-about-background-title.pnflow-section-title .elementor-heading-title,
.page-about-background-title .elementor-heading-title {
  width: 100% !important;
  max-width: 950px;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--primary) !important;
  text-align: center !important;
}


/* =========================================================
   BACKGROUND TEXT
========================================================= */

.page-about-background-text {
  width: min(100%, 820px) !important;
  max-width: none !important;
  margin: 30px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.page-about-background-text .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-background-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--primary-rgb), 0.70) !important;
  text-align: center !important;
}

.page-about-background-text p + p {
  margin-top: 17px !important;
}

.page-about-background-text p:last-child {
  position: relative;
  width: fit-content;
  max-width: 680px;
  margin: 30px auto 0 !important;
  padding: 20px 28px 0 !important;
  color: var(--primary) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(20px, 1.35vw, 24px) !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  text-align: center !important;
}

.page-about-background-text p:last-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 54px;
  height: 3px;
  transform: translateX(-50%);
  background-color: var(--accent);
  border-radius: 999px;
}



/* =========================================================
   QUALIFIKATIONEN + BILD ROW
========================================================= */

.page-about-background-inner {
  position: relative;
  z-index: 1;
  width: min(var(--container-xl), calc(100% - 120px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 0.65fr) minmax(0, 1.35fr);
  column-gap: clamp(40px, 4vw, 64px) !important;
  row-gap: clamp(64px, 5vw, 84px) !important;
  align-items: start !important;
}

.page-about-background-copy {
  grid-column: 1 / -1;
}


/* =========================================================
   QUALIFICATIONS PANEL
========================================================= */

.page-about-qualifications {
  grid-column: 2;
  grid-row: 2;
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  padding: clamp(42px, 3.5vw, 58px) clamp(42px, 3.8vw, 62px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  background: linear-gradient(145deg, rgba(var(--cream-rgb), 0.96) 0%, rgba(var(--white-rgb), 0.88) 58%, rgba(var(--soft-green-rgb), 0.10) 100%);
  border: 1px solid rgba(var(--primary-rgb), 0.08);
  border-radius: 28px;
  box-shadow: 0 18px 48px rgba(var(--primary-rgb), 0.055);
}


.page-about-qualifications-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 26px !important;
  border-bottom: 1px solid rgba(var(--primary-rgb), 0.10);
}

.page-about-qualifications-title .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-qualifications-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(29px, 1.9vw, 35px) !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}

.page-about-qualifications-list {
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

.page-about-qualifications-list .elementor-widget-container,
.page-about-qualifications-list .elementor-icon-list-items {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-qualifications-list .elementor-icon-list-icon {
  display: none !important;
}

.page-about-qualifications-list .elementor-icon-list-item {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 0 0 36px !important;
}

.page-about-qualifications-list .elementor-icon-list-item + .elementor-icon-list-item {
  margin-top: 19px !important;
}

.page-about-qualifications-list .elementor-icon-list-item::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0.05em;
  color: var(--accent);
  font-family: var(--font-primary);
  font-size: 20px;
  line-height: 1.4;
}

.page-about-qualifications-list .elementor-icon-list-text {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}


/* =========================================================
   ZERTIFIKAT (INTESOMA)
   Steht im Qualifikationen-Panel unter der Liste:
   links das Badge, rechts ein Sticker „Traumasensibel
   ausgebildet“ und optional ein kurzer Satz darunter.

   In Elementor (Klassen ohne Punkt):
     Container   page-about-certificate          Richtung: Zeile
     Bild        page-about-certificate-badge
     Container   page-about-certificate-copy
     Text        page-about-certificate-sticker
     Text        page-about-certificate-text     optional
========================================================= */

.page-about-certificate {
  width: 100% !important;
  margin: var(--space-lg) 0 0 !important;
  padding: var(--space-lg) 0 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: var(--space-md) !important;
  border-top: 1px solid rgba(var(--primary-rgb), 0.10);
}

.page-about-certificate-badge {
  flex: 0 0 auto;
  width: 120px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-certificate-badge img {
  display: block;
  width: 100% !important;
  height: auto !important;
}

.page-about-certificate-copy {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: var(--space-sm) !important;
}


/* Sticker: leicht gedreht, damit er wie aufgeklebt wirkt.
   Gold-Text auf --bg-section-gold erreicht 4.7:1. */

.page-about-certificate-sticker {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-certificate-sticker p,
.page-about-certificate-sticker .elementor-heading-title {
  display: inline-block;
  margin: 0 !important;
  padding: var(--space-xs) var(--space-sm) !important;
  color: var(--accent-text) !important;
  font-family: var(--font-primary) !important;
  font-size: var(--kicker-size) !important;
  line-height: 1.2 !important;
  font-weight: var(--kicker-weight) !important;
  letter-spacing: var(--kicker-tracking) !important;
  text-transform: uppercase !important;
  background-color: var(--bg-section-gold);
  border: 1px solid rgba(var(--accent-rgb), var(--alpha-medium));
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-soft);
  transform: rotate(-2deg);
}

.page-about-certificate-text p {
  margin: 0 !important;
  color: var(--text-body) !important;
  font-size: var(--fs-body-sm) !important;
  line-height: 1.5 !important;
  text-wrap: pretty;
}


/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.page-about-background-image {
  position: relative;
  grid-column: 1;
  grid-row: 2;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible;
  align-self: start !important;
}

.page-about-background-image .elementor-widget-container {
  position: relative;
  z-index: 1;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.page-about-background-image img {
  display: block;
  width: 100% !important;
  height: clamp(420px, 34vw, 560px) !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
  border-radius: 28px;
  box-shadow: 0 20px 52px rgba(var(--primary-rgb), 0.08);
}




/* =========================================================
   CTA
========================================================= */

.page-about-cta {
  position: relative;
  width: 100%;
  margin: 0 !important;
  padding: clamp(120px, 8vw, 165px) 0 !important;
  background: linear-gradient(135deg, rgba(var(--primary-rgb), 1) 0%, rgba(var(--deep-blue-rgb), 0.98) 35%, rgba(var(--secondary-blue-rgb), 0.94) 72%, rgba(var(--secondary-blue-rgb), 0.88) 100%) !important;
  overflow: hidden;
}

.page-about-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 12% 16%, rgba(var(--cream-rgb), 0.05) 0%, rgba(var(--cream-rgb), 0) 34%), radial-gradient(circle at 86% 78%, rgba(var(--secondary-green-rgb), 0.10) 0%, rgba(var(--secondary-green-rgb), 0) 42%);
  pointer-events: none;
}

.page-about-cta-inner {
  position: relative;
  z-index: 1;
  width: min(var(--container-lg), calc(100% - 120px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  text-align: center !important;
}

.page-about-cta-title {
  width: 100% !important;
  margin: 30px 0 0 !important;
  padding: 0 !important;
}

.page-about-cta-title .elementor-heading-title {
  width: 100% !important;
  max-width: 950px;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--cream) !important;
  font-family: var(--font-primary) !important;
  font-size: clamp(52px, 4vw, 74px) !important;
  line-height: 1.04 !important;
  font-weight: 500 !important;
  letter-spacing: -0.045em !important;
  text-align: center !important;
  text-wrap: balance;
}

.page-about-cta-text {
  width: min(100%, 850px) !important;
  margin: 34px auto 0 !important;
  padding: 0 !important;
}

.page-about-cta-text .elementor-widget-container,
.page-about-cta-text p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(var(--cream-rgb), 0.78) !important;
  text-align: center !important;
}

.page-about-cta-text p + p {
  margin-top: 13px !important;
}

.page-about-cta-button {
  width: auto !important;
  margin: 42px 0 0 !important;
  padding: 0 !important;
}

.page-about-cta-button .elementor-widget-container,
.page-about-cta-button .elementor-button-wrapper {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  .page-about-hero,
  .page-about-path,
  .page-about-approach,
  .page-about-background {
    padding: 90px 0 !important;
  }

  .page-about-hero-inner,
  .page-about-path-inner,
  .page-about-approach-inner,
  .page-about-background-inner {
    width: calc(100% - 64px) !important;
  }

  .page-about-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
    gap: 48px !important;
  }

  .page-about-hero-title .elementor-heading-title {
    font-size: clamp(48px, 6vw, 62px) !important;
  }

  .page-about-hero-lead .elementor-widget-container,
  .page-about-hero-lead p {
    font-size: clamp(20px, 2.4vw, 24px) !important;
  }

  .page-about-hero-image {
    max-width: 480px;
  }

  .page-about-hero-image img {
    height: clamp(440px, 52vw, 560px) !important;
  }

  .page-about-path-inner {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
    gap: 48px !important;
  }

  .page-about-role {
    margin-top: 40px !important;
    padding: 38px !important;
  }

  .page-about-approach-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px !important;
  }

  .page-about-approach-card:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 11px) !important;
    justify-self: center !important;
  }

  .page-about-music {
    margin-top: 64px !important;
    padding: 50px 46px !important;
  }

  .page-about-background-image::before {
    left: -12px;
    bottom: -12px;
  }
  .page-about-background-inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.85fr);
    gap: 30px !important;
  }

 .page-about-background-copy {
    width: min(100%, 900px) !important;
    padding: 50px 48px !important;
  }

  .page-about-background-title .elementor-heading-title {
    max-width: 780px;
    font-size: clamp(40px, 5vw, 52px) !important;
  }

  .page-about-background-text {
    width: min(100%, 760px) !important;
    max-width: 780px;
  }

  .page-about-qualifications {
    padding: 38px 34px !important;
  }

  .page-about-background-image img {
    min-height: 500px;
  }

  .page-about-cta {
    padding: 100px 0 !important;
  }

  .page-about-cta-inner {
    width: calc(100% - 64px) !important;
  }

  .page-about-cta-title .elementor-heading-title {
    font-size: clamp(46px, 6vw, 60px) !important;
  }
}


/* =========================================================
   FOTO + QUALIFIKATIONEN ALS EINHEIT (ab Tablet)
   Foto und Kasten sitzen ohne Abstand nebeneinander und
   sind gleich hoch. Das Foto ist absolut positioniert,
   damit seine Originalhöhe die Zeile nicht aufbläht. Die
   Mindesthöhe greift, falls der Kasten einmal kürzer ist.
   Mobile bleibt unverändert: dort stehen beide untereinander.
========================================================= */

@media (min-width: 768px) {
  .page-about-background-inner {
    column-gap: 0 !important;
  }

  .page-about-background-image {
    align-self: stretch !important;
    min-height: clamp(420px, 34vw, 560px);
  }

  /* Zweiter Selektor für Elementors optimiertes Markup,
     bei dem das Bild ohne widget-container ausgegeben wird */
  .page-about-background-image .elementor-widget-container,
  .page-about-background-image > img {
    position: absolute;
    inset: 0;
    height: 100%;
  }

  .page-about-background-image img {
    height: 100% !important;
    min-height: 0;
    border-radius: var(--radius-lg) 0 0 var(--radius-lg);
    box-shadow: 0 18px 48px rgba(var(--primary-rgb), 0.055);
  }

  .page-about-qualifications {
    border-left-width: 0;
    border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .page-about-hero,
  .page-about-path,
  .page-about-approach,
  .page-about-background {
    padding: 72px 0 !important;
  }

  .page-about-hero-inner,
  .page-about-path-inner,
  .page-about-approach-inner,
  .page-about-background-inner {
    width: calc(100% - 40px) !important;
  }

  .page-about-hero-inner {
    grid-template-columns: 1fr;
    gap: 42px !important;
  }

  .page-about-hero-copy {
    max-width: none;
  }

  .page-about-hero-title {
    margin-top: 20px !important;
  }

  .page-about-hero-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(42px, 11vw, 54px) !important;
    line-height: 1.03 !important;
  }

  .page-about-hero-lead {
    margin-top: 26px !important;
  }

  .page-about-hero-lead .elementor-widget-container,
  .page-about-hero-lead p {
    font-size: 20px !important;
    line-height: 1.45 !important;
  }

  .page-about-hero-text {
    margin-top: 24px !important;
  }

  .page-about-hero-image {
    max-width: none;
    margin: 0 !important;
  }

  .page-about-hero-image img {
    height: clamp(360px, 108vw, 500px) !important;
    object-position: 56% center;
    border-radius: 22px;
  }

  .page-about-path-inner {
    grid-template-columns: 1fr;
    gap: 46px !important;
  }

  .page-about-path-main {
    max-width: none;
  }

  .page-about-path-text {
    max-width: none;
    margin-top: 28px !important;
  }

  .page-about-path-text .about-path-keyword {
    gap: 10px !important;
  }

  .page-about-path-text .about-path-keyword::before {
    font-size: 30px;
  }

  .page-about-path-text .about-path-keyword em {
    font-size: clamp(32px, 9vw, 40px) !important;
  }

  .page-about-path-text .about-path-statement {
    margin: 30px 0 !important;
    padding: 18px 0 18px 22px !important;
    font-size: 19px !important;
    line-height: 1.5 !important;
  }

  .page-about-role {
    max-width: none;
    margin: 0 !important;
    padding: 34px 28px !important;
    border-radius: 24px;
  }

  .page-about-role-title {
    margin-top: 22px !important;
  }

  .page-about-role-title .elementor-heading-title {
    font-size: clamp(27px, 7.5vw, 34px) !important;
  }

  .page-about-role-text {
    margin-top: 24px !important;
  }

  .page-about-role-quote {
    margin-top: 30px !important;
    padding: 18px 20px !important;
  }

  .page-about-role-quote .elementor-widget-container,
  .page-about-role-quote p {
    font-size: 20px !important;
  }

  .page-about-approach-title {
    margin-top: 22px !important;
  }

  .page-about-approach-intro {
    margin-top: 22px !important;
  }

  .page-about-approach-grid {
    margin-top: 46px !important;
    grid-template-columns: 1fr;
    gap: 18px !important;
  }

  .page-about-approach-card,
  .page-about-approach-card:last-child {
    grid-column: auto;
    width: 100% !important;
    padding: 30px 26px !important;
  }

  .page-about-approach-card::before {
    margin-bottom: 22px;
  }

  .page-about-approach-card-title .elementor-heading-title {
    font-size: 27px !important;
  }

  .page-about-approach-card-text {
    margin-top: 20px !important;
  }

  .page-about-values {
    padding-top: 24px !important;
  }

  .page-about-method-list {
    margin-top: 24px !important;
  }

  .page-about-music {
    margin-top: 48px !important;
    padding: 36px 26px !important;
    border-radius: 24px;
  }

  .page-about-music-title {
    margin-top: 20px !important;
  }

  .page-about-music-title .elementor-heading-title {
    font-size: clamp(30px, 8vw, 38px) !important;
  }

  .page-about-music-text {
    margin-top: 24px !important;
  }

  .page-about-background-inner {
    grid-template-columns: 1fr;
    gap: 24px !important;
  }

  .page-about-background-copy,
  .page-about-qualifications,
  .page-about-background-image {
    grid-column: 1;
    grid-row: auto;
  }

  .page-about-background-copy {
    padding: 40px 28px !important;
    border-radius: 24px;
  }

  .page-about-background-title {
    margin-top: 20px !important;
  }

  .page-about-background-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 42px) !important;
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: normal;
    word-break: normal;
  }

  .page-about-background-text {
    width: 100% !important;
    margin-top: 26px !important;
  }

  .page-about-background-text p:last-child {
    max-width: 100%;
    margin-top: 26px !important;
    padding: 18px 0 0 !important;
    font-size: 18px !important;
    }

  .page-about-qualifications {
    padding: 32px 26px !important;
    border-radius: 24px;
  }

  .page-about-qualifications-title {
    padding-bottom: 22px !important;
  }

  .page-about-qualifications-title .elementor-heading-title {
    font-size: 28px !important;
  }

  .page-about-qualifications-list {
    margin-top: 24px !important;
  }

  .page-about-qualifications-list .elementor-icon-list-item {
    padding-left: 30px !important;
  }

  .page-about-qualifications-list .elementor-icon-list-item + .elementor-icon-list-item {
    margin-top: 16px !important;
  }

  .page-about-background-image {
    margin-top: 12px !important;
  }

  .page-about-background-image::before {
    left: -8px;
    bottom: -8px;
    border-radius: 24px;
  }

  .page-about-background-image img {
    height: clamp(360px, 108vw, 500px) !important;
    min-height: 0;
    border-radius: 24px;
  }

  .page-about-cta {
    padding: 84px 0 !important;
  }

  .page-about-cta-inner {
    width: calc(100% - 40px) !important;
  }

  .page-about-cta-title {
    margin-top: 24px !important;
  }

  .page-about-cta-title .elementor-heading-title {
    max-width: 100%;
    font-size: clamp(40px, 10.5vw, 52px) !important;
    line-height: 1.05 !important;
  }

  .page-about-cta-text {
    margin-top: 26px !important;
  }

  .page-about-cta-button {
    margin-top: 34px !important;
  }

  .page-about-certificate {
    margin-top: var(--space-md) !important;
    padding-top: var(--space-md) !important;
    gap: var(--space-sm) !important;
  }

  .page-about-certificate-badge {
    width: 96px !important;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */
@media (max-width: 480px) {
  .page-about-hero,
  .page-about-path,
  .page-about-approach,
  .page-about-background {
    padding: 64px 0 !important;
  }

  .page-about-hero-inner,
  .page-about-path-inner,
  .page-about-approach-inner,
  .page-about-background-inner,
  .page-about-cta-inner {
    width: calc(100% - 32px) !important;
  }

  .page-about-hero-title .elementor-heading-title {
    font-size: clamp(38px, 10.8vw, 48px) !important;
  }

  .page-about-hero-lead .elementor-widget-container,
  .page-about-hero-lead p {
    font-size: 19px !important;
  }

  .page-about-hero-image img {
    height: clamp(330px, 110vw, 440px) !important;
  }

  .page-about-role {
    padding: 30px 22px !important;
  }

  .page-about-role-quote {
    padding: 16px !important;
  }

  .page-about-approach-card {
    padding: 28px 22px !important;
  }

  .page-about-music {
    padding: 32px 22px !important;
  }

  .page-about-background-copy {
    padding: 34px 22px !important;
  }

  .page-about-background-title .elementor-heading-title {
    font-size: clamp(31px, 8.8vw, 38px) !important;
  }

  .page-about-qualifications {
    padding: 28px 22px !important;
  }

  .page-about-qualifications-title .elementor-heading-title {
    font-size: 26px !important;
  }

  .page-about-background-image img {
    height: clamp(330px, 105vw, 430px) !important;
  }

  .page-about-cta {
    padding: 74px 0 !important;
  }

  .page-about-cta-title .elementor-heading-title {
    font-size: clamp(36px, 10.5vw, 46px) !important;
  }
}


/* =========================================================
   REDUZIERTE BEWEGUNG
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .page-about-hero *,
  .page-about-path *,
  .page-about-approach *,
  .page-about-background *,
  .page-about-cta *,
  .page-about-hero *::before,
  .page-about-hero *::after,
  .page-about-path *::before,
  .page-about-path *::after,
  .page-about-approach *::before,
  .page-about-approach *::after,
  .page-about-background *::before,
  .page-about-background *::after,
  .page-about-cta *::before,
  .page-about-cta *::after,
  .page-about-partner-logo img {
    transition: none !important;
    animation: none !important;
  }
}