:root {
  --ink: #25282a;
  --navy: #15314a;
  --paper: #f7f5ee;
  --white: #fffdf8;
  --blue-1: #bfdce5;
  --blue-2: #7ea9bd;
  --yellow: #f3d978;
  --sand: #e8dcc5;
  --sage: #a9b89c;
  --line: rgba(37,40,42,.12);
  --max: 1500px;
  --gutter: clamp(22px, 4.3vw, 72px);
  --hero-home-height: clamp(680px, 52vw, 760px);
  --hero-subpage-height: clamp(600px, 44vw, 650px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.65; }
a { color:inherit; }
img { display:block; max-width:100%; }
h1,h2,.brand-name,.display-statement { font-family:Georgia,"Times New Roman",serif; font-weight:400; color:var(--navy); }
h1 { margin:0; font-size:clamp(4.2rem,7.5vw,8rem); line-height:.92; letter-spacing:-.055em; }
h2 { margin:0 0 1rem; font-size:clamp(2rem,3vw,3.45rem); line-height:1.05; letter-spacing:-.025em; }
p { margin:0 0 1rem; }
.section-shell { width:min(100%,var(--max)); margin-inline:auto; padding-inline:var(--gutter); }

.site-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:32px; min-height:86px; padding:13px var(--gutter); background:color-mix(in srgb,var(--paper) 93%,transparent); backdrop-filter:blur(12px); border-bottom:1px solid rgba(37,40,42,.05); }
.brand { display:flex; flex-direction:column; text-decoration:none; line-height:1.05; }
.brand-name { font-size:clamp(1.35rem,2vw,2.05rem); white-space:nowrap; }
.brand-tagline { margin-top:.3rem; color:var(--blue-2); font-family:Georgia,"Times New Roman",serif; font-size:clamp(.84rem,1vw,1.02rem); }
.main-nav { margin-left:auto; display:flex; gap:clamp(16px,2.4vw,40px); align-items:center; font-size:.92rem; }
.main-nav a { position:relative; text-decoration:none; }
.main-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-8px; height:1px; background:var(--blue-2); transition:.25s; }
.main-nav a:hover::after { right:0; }
.menu-toggle { display:none; margin-left:auto; border:0; background:transparent; font:inherit; color:var(--navy); }

.hero-image { position:relative; width:100%; height:clamp(500px,52vw,760px); background:var(--white); overflow:hidden; border-bottom:1px solid rgba(37,40,42,.04); }
.hero-image > img { position:absolute; inset:-34px -1.5% auto; width:103%; max-width:none; height:calc(100% + 68px); object-fit:cover; object-position:center 46%; }
.hero-overlay { position:absolute; left:clamp(34px,7vw,120px); bottom:clamp(54px,8vw,112px); z-index:2; max-width:min(580px,50vw); text-shadow:0 1px 0 rgba(255,253,248,.9); }
.hero-overlay h1 { font-size:clamp(4rem,6.8vw,7.4rem); }
.hero-overlay p { margin:.9rem 0 0; font-family:Georgia,"Times New Roman",serif; color:var(--navy); font-size:clamp(1.45rem,2.2vw,2.3rem); line-height:1.25; }
.hero-copy { text-align:center; padding-top:clamp(42px,5vw,76px); padding-bottom:clamp(72px,8vw,116px); }
.hero-pairs { margin:0 auto; max-width:1000px; display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1.45rem; color:#51636c; }
.hero-pairs span::before { content:"—"; margin-right:.55rem; color:var(--yellow); }
.threshold-copy { max-width:820px; margin:clamp(58px,6.5vw,96px) auto 0; padding-top:clamp(42px,4.5vw,66px); border-top:1px solid var(--line); }
.display-statement { display:grid; margin-bottom:1.8rem; font-size:clamp(2.3rem,4.5vw,4.7rem); line-height:1.08; }
.threshold-copy > p:not(.display-statement) { max-width:700px; margin-inline:auto; }

.services { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(18px,1.7vw,26px); padding-bottom:clamp(38px,5vw,74px); align-items:stretch; }
.services-personal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(14px,1.3vw,20px); min-width:0; }
.card { overflow:hidden; border:1px solid rgba(37,40,42,.06); min-width:0; display:flex; flex-direction:column; height:100%; }
.card-blue { background:linear-gradient(180deg,#edf6f8 0%,#dcecf1 100%); }
.card-yellow { background:linear-gradient(180deg,#fff9df 0%,#f7e59b 100%); }
.card-warm { background:linear-gradient(180deg,#fbf6e8 0%,#edf2e8 100%); }
.card-image { width:100%; aspect-ratio:16/9; object-fit:cover; mix-blend-mode:multiply; }
.service-strategy .card-image { aspect-ratio:1.75/1; }
.services-personal .card-image { aspect-ratio:1.05/1; }
.card-copy { padding:clamp(26px,3vw,46px); display:flex; flex-direction:column; flex:1; }
.services-personal .card-copy { padding:clamp(24px,2.3vw,36px); }
.services-personal h2 { font-size:clamp(1.8rem,2.4vw,2.8rem); }
.eyebrow { margin-bottom:.9rem; color:#5d7381; text-transform:uppercase; letter-spacing:.15em; font-size:.7rem; font-weight:650; }
.service-subtitle { font-family:Georgia,serif; color:var(--navy); font-size:clamp(1.15rem,1.4vw,1.48rem); line-height:1.3; }
.roles { color:#627179; font-size:.94rem; }
.text-link { display:inline-flex; align-items:center; gap:.75rem; margin-top:auto; padding-top:1.2rem; width:max-content; color:var(--navy); text-decoration:none; border-bottom:1px solid rgba(21,49,74,.25); padding-bottom:.22rem; }
.text-link span { transition:transform .2s; }
.text-link:hover span { transform:translateX(5px); }

.connection-card { padding-bottom:clamp(26px,3vw,44px); }
.connection-inner { display:grid; grid-template-columns:.85fr 1.15fr; min-height:360px; background:linear-gradient(90deg,#fbfaf5,#f4f7f6); border:1px solid rgba(37,40,42,.06); overflow:hidden; }
.connection-copy { padding:clamp(42px,5vw,76px); align-self:center; }
.connection-copy h2 { font-size:clamp(2.4rem,3.5vw,4rem); }
.connection-statement { margin-top:2rem; font-family:Georgia,"Times New Roman",serif; color:var(--navy); font-size:clamp(1.35rem,1.8vw,1.9rem); line-height:1.6; }
.connection-image-wrap { display:grid; place-items:center; padding:clamp(26px,4vw,58px); background:radial-gradient(circle at 65% 45%,rgba(243,217,120,.2),transparent 38%); }
.connection-image { width:min(680px,100%); max-height:300px; object-fit:contain; mix-blend-mode:multiply; }

.about-card { padding-bottom:clamp(80px,8vw,120px); }
.about-inner { display:grid; grid-template-columns:.92fr 1.08fr; min-height:500px; background:linear-gradient(100deg,#edf4f6 0%,#fbfaf5 55%,#fff8dc 100%); border:1px solid rgba(37,40,42,.06); overflow:hidden; }
.about-image-wrap { display:grid; place-items:center; padding:clamp(36px,5vw,72px); background:rgba(255,255,255,.18); }
.about-image { width:min(560px,100%); max-height:410px; object-fit:contain; mix-blend-mode:multiply; }
.about-copy { padding:clamp(46px,6vw,86px); align-self:center; }

.contact-band { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:linear-gradient(90deg,#f8f4eb 0%,#fff9e6 55%,#edf5f8 100%); }
.contact-copy { min-height:360px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding-block:clamp(66px,7vw,104px); }
.contact-copy h2 { font-size:clamp(2.8rem,5vw,5rem); }
.button { display:inline-block; margin-top:1rem; background:var(--navy); color:#fff; text-decoration:none; padding:14px 24px; border:1px solid var(--navy); transition:.2s; }
.button:hover { background:transparent; color:var(--navy); }

.site-footer { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:40px; padding:52px var(--gutter) 62px; background:var(--navy); color:#f7f5ee; font-size:.86rem; }
.site-footer div { display:flex; flex-direction:column; gap:.45rem; }
.site-footer a { text-decoration:none; opacity:.86; }
.site-footer span { opacity:.65; }

@media (max-width:1100px) {
  .services { grid-template-columns:1fr; }
  .services-personal { grid-template-columns:1fr 1fr; }
  .service-strategy .card-image { aspect-ratio:16/8; }
}
@media (max-width:900px) {
  .site-header { min-height:78px; }
  .menu-toggle { display:block; }
  .main-nav { display:none; position:absolute; top:78px; left:0; right:0; padding:26px var(--gutter) 32px; background:var(--paper); flex-direction:column; align-items:flex-start; box-shadow:0 12px 35px rgba(0,0,0,.06); }
  .main-nav.is-open { display:flex; }
  .hero-image { height:560px; }
  .hero-image > img { width:120%; left:-10%; height:100%; inset:0 auto auto -10%; object-position:56% center; }
  .hero-overlay { left:var(--gutter); bottom:48px; max-width:68vw; }
  .connection-inner, .about-inner { grid-template-columns:1fr; }
  .connection-image-wrap { min-height:290px; }
  .about-image-wrap { min-height:340px; order:2; }
  .site-footer { grid-template-columns:1fr 1fr; }
}
@media (max-width:650px) {
  .services-personal { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .site-header { min-height:70px; }
  .main-nav { top:70px; }
  .brand-name { font-size:1.23rem; }
  .brand-tagline { font-size:.78rem; }
  .hero-image { height:510px; }
  .hero-image > img { width:165%; left:-38%; height:100%; object-fit:cover; object-position:51% center; }
  .hero-overlay { bottom:34px; max-width:82vw; }
  .hero-overlay h1 { font-size:clamp(3.7rem,18vw,5rem); }
  .hero-overlay p { font-size:1.4rem; }
  .hero-pairs { display:grid; text-align:left; max-width:420px; }
  .display-statement { font-size:2.6rem; }
  .card-image, .service-strategy .card-image, .services-personal .card-image { aspect-ratio:4/3; }
  .connection-copy, .about-copy { padding:42px 28px; }
  .contact-copy { min-height:330px; }
  .site-footer { grid-template-columns:1fr; }
}

/* Finetuning v4 */
.hero-copy {
  padding-top: clamp(34px, 4.5vw, 64px);
  padding-bottom: clamp(58px, 6vw, 90px);
}
.hero-pairs {
  max-width: 1180px;
  gap: .85rem 2rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.15rem, 1.8vw, 1.7rem);
  line-height: 1.45;
}
.hero-pairs span::before { margin-right: .7rem; }
.hero-bridge {
  margin: clamp(30px, 3vw, 44px) auto 0;
  max-width: 900px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.services { align-items: stretch; }
.card-personal {
  background: linear-gradient(125deg, #fff8dc 0%, #fbf6e8 48%, #eef3ec 100%);
}
.personal-visuals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 260px;
}
.personal-visuals img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  object-fit: cover;
  mix-blend-mode: multiply;
}
.personal-copy { padding: clamp(26px,3vw,46px); display:flex; flex-direction:column; flex:1; }
.personal-offers { display:grid; grid-template-columns:1fr 1fr; gap:0; flex:1; }
.personal-offer { display:flex; flex-direction:column; min-width:0; padding-right:clamp(20px,2.2vw,34px); }
.personal-offer + .personal-offer {
  border-left: 1px solid rgba(37,40,42,.12);
  padding-left: clamp(20px,2.2vw,34px);
  padding-right: 0;
}
.personal-offer h2 { font-size:clamp(1.8rem,2.4vw,2.8rem); }

.about-attitude {
  margin: 1.6rem 0 2rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem,1.7vw,1.75rem);
  line-height:1.45;
}

@media (max-width:900px) {
  .personal-visuals { min-height: 220px; }
  .personal-visuals img { min-height: 220px; }
}
@media (max-width:650px) {
  .personal-offers { grid-template-columns:1fr; }
  .personal-offer { padding-right:0; }
  .personal-offer + .personal-offer { border-left:0; border-top:1px solid rgba(37,40,42,.12); padding-left:0; padding-top:30px; margin-top:30px; }
  .personal-visuals { grid-template-columns:1fr 1fr; min-height:170px; }
  .personal-visuals img { min-height:170px; }
}

/* The first homepage concept layout used separators; the final card layout does not. */
.hero-pairs span::before { content:none; }

/* Both top service cards use the same visual height */
.service-strategy .card-image,
.personal-visuals {
  height:clamp(260px,23vw,340px);
  min-height:0;
  aspect-ratio:auto;
}
.service-strategy .card-image { width:100%; object-fit:cover; }
.personal-visuals img { min-height:0; height:100%; }

.about-attitude {
  display:flex;
  flex-direction:column;
  gap:.16rem;
  margin:1.55rem 0 2.1rem;
  padding-left:1.1rem;
  border-left:2px solid rgba(243,217,120,.9);
  color:var(--navy);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.25rem,1.55vw,1.62rem);
  line-height:1.45;
}
.about-attitude span:last-child { font-weight:600; }

@media (max-width:900px) {
  .brand { width:clamp(180px,42vw,235px); }
  .hero-pairs { grid-template-columns:1fr; max-width:690px; gap:20px; }
  .hero-pair { grid-template-columns:52px 1fr; }
  .service-strategy .card-image,.personal-visuals { height:250px; }
}
@media (max-width:560px) {
  .brand { width:170px; }
  .brand-tagline { font-size:.51rem; letter-spacing:.08em; }
  .hero-pair > span:last-child { font-size:1.12rem; }
  .service-strategy .card-image,.personal-visuals { height:210px; }
}

/* v6 refinements */
.contact-card h2,
.contact h2,
#kontakt h2 {
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
}
.hero-overlay h1 {
  font-size: clamp(4rem, 9vw, 8.5rem);
}
.between-item strong,
.theme-item strong,
.zwischen-item strong {
  display: block;
  margin-bottom: .35rem;
}
.between-item span,
.theme-item span,
.zwischen-item span {
  display: block;
}


/* v7 – refined brand, "Zwischen" trio and attitude statement */

/* Brand: normal word spacing, no forced stretching between words */
.brand {
  width: auto;
}
.brand-name {
  width: auto;
}
.brand-tagline {
  width: auto;
  display: block;
  margin-top: .42rem;
  color: #74777a;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(.57rem,.72vw,.72rem);
  font-weight: 500;
  letter-spacing: .11em;
  line-height: 1;
  word-spacing: normal;
  white-space: nowrap;
}

/* Three concepts: icon above, then noun / "zwischen" / detail */
.hero-pairs {
  max-width: 1240px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 78px);
  align-items: start;
  text-align: center;
}
.hero-pair {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  min-width: 0;
  color: var(--navy);
}
.between-icon {
  width: 58px;
  height: 58px;
  display: block;
  overflow: visible;
  fill: none;
  stroke: #6f7f88;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.between-icon .icon-accent {
  stroke: #d9b94f;
}
.hero-pair-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .16rem;
  font-family: Georgia, "Times New Roman", serif;
}
.hero-pair-title {
  display: block;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(.82rem, .9vw, .95rem);
  font-weight: 400;
  letter-spacing: .14em;
  line-height: 1.2;
}
.hero-pair-between {
  display: block;
  margin-top: .15rem;
  font-size: clamp(1.05rem, 1.2vw, 1.22rem);
  line-height: 1.2;
}
.hero-pair-detail {
  display: block;
  font-size: clamp(1.25rem, 1.65vw, 1.62rem);
  line-height: 1.25;
}

/* Attitude is a standalone transition immediately before About,
   using the same visual voice as "Genau dort arbeite ich". */
.attitude-intro {
  padding-top: clamp(10px, 1.5vw, 22px);
  padding-bottom: clamp(28px, 4vw, 54px);
}
.attitude-intro p {
  margin: 0 auto;
  max-width: 900px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.45;
  text-align: center;
}

/* Keep the contact heading clearly below the hero headline in hierarchy. */
#kontakt h2 {
  font-size: clamp(2rem, 3.2vw, 3.15rem);
}

@media (max-width: 900px) {
  .brand { width: auto; }
  .hero-pairs {
    grid-template-columns: 1fr;
    max-width: 620px;
    gap: 38px;
  }
  .hero-pair {
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .brand { width: auto; }
  .brand-tagline {
    font-size: .51rem;
    letter-spacing: .08em;
  }
  .between-icon {
    width: 52px;
    height: 52px;
  }
  .attitude-intro p {
    text-align: left;
  }
}

/* v8 content refinements */
.attitude-intro strong {
  font-weight: 700;
}
.about-roles {
  font-weight: 500;
  letter-spacing: .01em;
}


/* =========================================================
   Strategische Beratung
   ========================================================= */

.main-nav [aria-current="page"] {
  color: var(--navy);
}

.main-nav [aria-current="page"]::after {
  right: 0;
}

.beratung-page {
  background: #f6f5ef;
}

.consulting-hero {
  position: relative;
  min-height: clamp(650px, 76vh, 820px);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(115deg, rgba(247,245,238,.98) 0%, rgba(239,247,249,.93) 50%, rgba(215,235,240,.76) 100%);
}

.consulting-hero-art {
  position: absolute;
  inset: 0 0 0 auto;
  width: min(58vw, 920px);
  overflow: hidden;
}

.consulting-hero-art > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .85;
  mix-blend-mode: multiply;
}

.consulting-network {
  position: absolute;
  width: min(33vw, 470px);
  right: clamp(22px, 5vw, 80px);
  top: clamp(54px, 8vw, 110px);
  opacity: .32;
  mix-blend-mode: multiply;
}

.consulting-hero-copy {
  position: relative;
  z-index: 2;
  min-height: clamp(650px, 76vh, 820px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.consulting-hero-copy .eyebrow,
.section-kicker {
  margin: 0 0 1.1rem;
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #6f7f88;
}

.consulting-hero-copy h1 {
  max-width: 760px;
  font-size: clamp(4.2rem, 7.2vw, 7.6rem);
  line-height: .94;
}

.consulting-lead {
  max-width: 650px;
  margin-top: clamp(28px, 4vw, 48px);
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2.05vw, 2rem);
  line-height: 1.42;
}

.consulting-intro {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(52px, 8vw, 130px);
  padding-top: clamp(90px, 10vw, 150px);
  padding-bottom: clamp(90px, 10vw, 150px);
}

.consulting-intro-heading h2 {
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: 1.03;
}

.consulting-intro-copy {
  max-width: 790px;
  padding-top: 2rem;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
}

.consulting-intro-copy p {
  margin-bottom: 1.45rem;
}

.consulting-fields {
  margin-top: 2.2rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 1.95rem);
  line-height: 1.45;
}

.consulting-band {
  background: linear-gradient(90deg, #dceef2 0%, #edf5f6 56%, #f7f5ee 100%);
  border-block: 1px solid rgba(37,40,42,.06);
}

.consulting-band-inner {
  position: relative;
  min-height: 300px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.consulting-band-inner > p {
  position: relative;
  z-index: 2;
  width: min(820px, 72%);
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 3.2vw, 3.2rem);
  line-height: 1.22;
}

.consulting-band-art {
  position: absolute;
  right: -3%;
  top: 0;
  bottom: 0;
  width: 45%;
  display: grid;
  place-items: center;
  opacity: .42;
}

.consulting-band-art img {
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.projects {
  padding-top: clamp(100px, 11vw, 165px);
  padding-bottom: clamp(100px, 11vw, 165px);
}

.projects-heading {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(44px, 8vw, 120px);
  align-items: start;
  margin-bottom: clamp(60px, 7vw, 100px);
}

.projects-heading h2 {
  max-width: 800px;
  font-size: clamp(3rem, 5.1vw, 5.2rem);
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.project-card {
  position: relative;
  min-height: 360px;
  padding: clamp(34px, 4.2vw, 64px);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.18);
}

.project-card-wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 90px 1fr 1.25fr;
  gap: clamp(24px, 4vw, 60px);
  align-items: start;
  min-height: 300px;
}

.project-card h3 {
  margin: 0 0 .75rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 2.4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.15;
}

.project-card p:last-child {
  max-width: 660px;
}

.project-number {
  display: block;
  margin-bottom: 2.4rem;
  color: #7b8d95;
  font-size: .78rem;
  letter-spacing: .13em;
}

.project-meta {
  margin-bottom: 1.6rem;
  color: #68757b;
  font-size: .83rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.consulting-principle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
  padding-bottom: clamp(100px, 11vw, 160px);
}

.consulting-principle-art {
  min-height: 520px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #edf4f6 0%, #fbfaf5 70%);
  border: 1px solid rgba(37,40,42,.06);
}

.consulting-principle-art img {
  width: min(600px, 90%);
  max-height: 430px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.consulting-principle-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px, 6vw, 90px);
  background: #fffdf8;
  border: 1px solid rgba(37,40,42,.06);
  border-left: 0;
}

.consulting-principle-copy h2 {
  font-size: clamp(2.8rem, 4.3vw, 4.7rem);
}

.consulting-principle-copy p:not(.section-kicker) {
  max-width: 620px;
}

.consulting-contact {
  background: linear-gradient(100deg, #edf5f7 0%, #f7f5ee 54%, #fff8dc 100%);
  border-top: 1px solid var(--line);
}

.consulting-contact-inner {
  min-height: 460px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-block: clamp(80px, 9vw, 130px);
}

.consulting-contact h2 {
  max-width: 920px;
  font-size: clamp(3rem, 5.2vw, 5.4rem);
}

.consulting-contact p:not(.section-kicker) {
  margin-top: .4rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.7vw, 1.6rem);
  color: var(--navy);
}

@media (max-width: 980px) {
  .consulting-hero-art {
    width: 70vw;
    opacity: .58;
  }
  .consulting-hero-copy h1 {
    max-width: 660px;
  }
  .consulting-intro,
  .projects-heading {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .consulting-intro-copy {
    padding-top: 0;
  }
  .project-card-wide {
    grid-template-columns: 70px 1fr;
  }
  .project-card-wide p:last-child {
    grid-column: 2;
  }
  .consulting-principle {
    grid-template-columns: 1fr;
  }
  .consulting-principle-copy {
    border-left: 1px solid rgba(37,40,42,.06);
    border-top: 0;
  }
}

@media (max-width: 700px) {
  .consulting-hero {
    min-height: 670px;
  }
  .consulting-hero-art {
    width: 100%;
    opacity: .28;
  }
  .consulting-network {
    width: 70vw;
    right: -10vw;
  }
  .consulting-hero-copy {
    min-height: 670px;
  }
  .consulting-hero-copy h1 {
    font-size: clamp(3.7rem, 16vw, 5.2rem);
  }
  .consulting-lead {
    max-width: 94%;
  }
  .consulting-band-inner > p {
    width: 100%;
  }
  .consulting-band-art {
    opacity: .2;
    width: 72%;
    right: -18%;
  }
  .project-grid {
    grid-template-columns: 1fr;
  }
  .project-card-wide {
    grid-column: auto;
    display: block;
  }
  .project-card-wide p:last-child {
    grid-column: auto;
  }
  .project-card {
    min-height: auto;
  }
}

/** =========================================================
   v72 – strategic hero, project-name artwork and legal pages
   ========================================================= */

.beratung-page .consulting-hero {
  overflow: visible;
}

.beratung-page .consulting-hero-inner {
  grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr);
  gap: clamp(24px, 3vw, 52px);
  min-height: clamp(540px, 47vw, 690px);
}

.beratung-page .consulting-hero-copy {
  min-width: 0;
}

.beratung-page .consulting-hero-copy h1 {
  width: 100%;
  max-width: 680px;
  font-size: clamp(2.8rem, 4.25vw, 5.2rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.beratung-page .consulting-hero-art {
  height: clamp(450px, 42vw, 620px);
  overflow: visible;
}

.beratung-page .consulting-hero-art > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.beratung-page .project-art {
  height: 225px;
  margin-top: -.55rem;
  margin-bottom: 1.35rem;
}

.beratung-page .project-art img {
  object-fit: contain;
}

.beratung-page .consulting-contact {
  padding-top: clamp(3.25rem, 5vw, 5rem);
}

@media (max-width: 1020px) {
  .beratung-page .consulting-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding-top: clamp(36px, 5vw, 56px);
    padding-bottom: clamp(36px, 5vw, 56px);
  }

  .beratung-page .consulting-hero-copy h1 {
    max-width: 820px;
    font-size: clamp(2.7rem, 7.3vw, 4.8rem);
  }

  .beratung-page .consulting-hero-art {
    width: min(620px, 88vw);
    height: min(560px, 76vw);
    margin: 0 auto;
  }
}

@media (max-width: 700px) {
  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.35rem, 11.5vw, 3.45rem);
    line-height: 1.02;
  }

  .beratung-page .consulting-hero-tagline {
    font-size: 1.08rem;
  }

  .beratung-page .consulting-hero-art {
    width: min(430px, 96vw);
    height: min(410px, 92vw);
  }

  .beratung-page .project-art {
    height: 195px;
  }
}

/** v73 – contained strategic hero and integrated project artwork. */
.beratung-page .consulting-hero {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #fff;
}

.beratung-page .consulting-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
  gap: clamp(28px, 4vw, 68px);
  align-items: center;
  width: min(1440px, calc(100% - 48px));
  min-height: clamp(560px, 48vw, 690px);
  padding-top: clamp(42px, 5vw, 72px);
  padding-bottom: clamp(42px, 5vw, 72px);
}

.beratung-page .consulting-hero-copy {
  position: relative;
  order: 1;
  min-width: 0;
  padding: 0;
}

.beratung-page .consulting-hero-copy h1 {
  width: auto;
  max-width: 760px;
  margin-right: 0;
  font-size: clamp(2.75rem, 4.25vw, 5.15rem);
  line-height: 1;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.beratung-page .consulting-hero-art {
  position: relative;
  order: 2;
  width: 100%;
  height: clamp(455px, 39vw, 590px);
  margin: 0;
  overflow: hidden;
}

.beratung-page .consulting-hero-art > img:first-child {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center right;
  transform: none;
}

.beratung-page .workstyle-strip {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.beratung-page .project-art {
  height: 225px;
  background: transparent;
}

.beratung-page .project-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 1100px) {
  .beratung-page .consulting-hero-inner {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: 24px;
  }

  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.55rem, 5.2vw, 4rem);
  }

  .beratung-page .consulting-hero-art {
    height: clamp(400px, 44vw, 500px);
  }
}

@media (max-width: 820px) {
  .beratung-page .consulting-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: min(100% - 40px, 720px);
    min-height: 0;
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .beratung-page .consulting-hero-copy h1 {
    max-width: 700px;
    font-size: clamp(2.55rem, 8.5vw, 4.1rem);
  }

  .beratung-page .consulting-hero-art {
    align-self: center;
    width: min(560px, 100%);
    height: min(470px, 78vw);
  }
}

@media (max-width: 520px) {
  .beratung-page .consulting-hero-inner {
    width: min(100% - 32px, 480px);
    gap: 22px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.15rem);
  }

  .beratung-page .consulting-hero-art {
    height: min(360px, 88vw);
  }

  .beratung-page .project-art {
    height: 180px;
  }
}

.legal-page {
  background: #fff;
}

.legal-hero {
  padding: clamp(64px, 8vw, 112px) 0 clamp(40px, 5vw, 72px);
  background:
    radial-gradient(circle at 82% 22%, rgba(131,186,214,.22), transparent 24%),
    radial-gradient(circle at 72% 66%, rgba(225,182,59,.18), transparent 18%),
    #fff;
}

.legal-hero h1 {
  max-width: 900px;
  margin: .35rem 0 0;
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3.1rem, 7vw, 6.2rem);
  font-weight: 400;
  line-height: 1;
}

.legal-content {
  padding: clamp(44px, 6vw, 86px) 0 clamp(80px, 9vw, 130px);
}

.legal-content-inner {
  width: min(900px, calc(100% - 48px));
  margin: 0 auto;
}

.legal-placeholder {
  margin-bottom: clamp(42px, 5vw, 66px);
  padding: 24px 28px;
  border-left: 3px solid #e1b63b;
  background: rgba(220,238,245,.44);
  color: #28485e;
  line-height: 1.6;
}

.legal-section {
  padding: clamp(28px, 3.6vw, 46px) 0;
}

.legal-section + .legal-section {
  border-top: 1px solid rgba(21,49,74,.12);
}

.legal-section h2 {
  margin: 0 0 1rem;
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1.18;
}

.legal-section h3 {
  margin: 1.8rem 0 .7rem;
  color: #15314a;
  font-size: 1.08rem;
}

.legal-section p,
.legal-section li {
  max-width: 78ch;
  color: #40535e;
  line-height: 1.72;
}

.legal-section ul {
  padding-left: 1.25rem;
}

.legal-section a {
  color: #2f6f9f;
  text-underline-offset: 3px;
}

.legal-meta {
  margin-top: 2rem;
  color: #71818a;
  font-size: .92rem;
}

/* =========================================================
   v44 – Energiearbeit: eine Session entlang der Wellen
   ========================================================= */

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.energie-page .energy-hero-image {
  background: #f5e57f;
}

.energie-page .energy-hero-bg {
  filter: saturate(.92) contrast(.98);
}

.energie-page .energy-hero-image::after {
  background: linear-gradient(90deg,
    rgba(255,254,248,.95) 0%,
    rgba(255,253,240,.76) 30%,
    rgba(255,250,218,.18) 52%,
    rgba(226,239,246,0) 68%);
}

.energie-page .energy-flow {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-bottom: 1px solid rgba(21,49,74,.12);
}

.energie-page .energy-flow-stage {
  position: relative;
  min-height: 1480px;
  padding-top: 80px;
  padding-bottom: 80px;
}

.energie-page .energy-flow-waves {
  position: absolute;
  z-index: 0;
  top: 230px;
  left: 50%;
  width: min(1520px, 112vw);
  max-width: none;
  transform: translateX(-50%);
  opacity: .82;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.energie-page .energy-flow-block {
  position: absolute;
  z-index: 1;
  width: min(470px, 42%);
  padding: 24px 26px 26px;
  background: rgba(255,255,255,.91);
  border-top: 1px solid rgba(85,111,126,.34);
}

.energie-page .energy-flow-block p {
  margin: 0;
  color: #3f515b;
  font-size: clamp(1rem, 1.08vw, 1.12rem) !important;
  line-height: 1.68;
}

.energie-page .energy-flow-block strong {
  display: block;
  margin-bottom: .55rem;
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.7vw, 1.55rem);
  font-weight: 500;
  line-height: 1.3;
}

.energie-page .energy-flow-block-1 { top: 70px; left: var(--gutter); }
.energie-page .energy-flow-block-2 { top: 310px; right: var(--gutter); }
.energie-page .energy-flow-block-3 { top: 590px; left: calc(var(--gutter) + 7%); }
.energie-page .energy-flow-block-4 { top: 875px; right: calc(var(--gutter) + 5%); }
.energie-page .energy-flow-block-5 { top: 1110px; left: calc(var(--gutter) + 19%); width: min(650px, 54%); }

.energie-page .energy-audience {
  padding: clamp(82px, 7vw, 112px) 0;
  background: #fff;
  border-bottom: 1px solid rgba(21,49,74,.12);
}

.energie-page .energy-audience-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .72fr);
  grid-template-areas: "copy title";
  gap: clamp(60px, 9vw, 140px);
  align-items: start;
}

.energie-page .energy-audience h2 {
  grid-area: title;
  margin: .1em 0 0;
  color: #15314a;
  font-size: clamp(2rem, 3vw, 3.15rem) !important;
  font-weight: 400;
  line-height: 1.12;
  text-align: right;
}

.energie-page .energy-audience-copy {
  grid-area: copy;
  max-width: 720px;
}

.energie-page .energy-audience-copy > p:not(.energy-audience-lead, .energy-audience-curiosity) {
  margin: 0;
  color: #43555f;
  font-size: clamp(1rem, 1.08vw, 1.12rem) !important;
  line-height: 1.7;
}

.energie-page .energy-audience-copy > p + p {
  margin-top: 1.3rem !important;
}

.energie-page .energy-audience-lead,
.energie-page .energy-audience-curiosity {
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 2.35vw, 2.5rem) !important;
  font-weight: 400;
  line-height: 1.2;
}

.energie-page .energy-audience-lead {
  margin: 0 0 2.2rem !important;
}

.energie-page .energy-audience-curiosity {
  position: relative;
  width: fit-content;
  margin: clamp(42px, 5vw, 68px) 0 0 24% !important;
  padding-top: 23px;
}

.energie-page .energy-audience-curiosity::before,
.energie-page .energy-audience-curiosity::after {
  content: "";
  position: absolute;
  top: 0;
  left: -18%;
  width: 136%;
  height: 8px;
  border-top: 2px solid rgba(63,151,198,.62);
  border-radius: 50%;
  transform: rotate(-2deg);
}

.energie-page .energy-audience-curiosity::after {
  top: 7px;
  left: -10%;
  width: 120%;
  border-color: rgba(238,193,23,.76);
  transform: rotate(1.5deg);
}

.energie-page .energy-faq {
  padding-top: clamp(76px, 6vw, 96px);
  padding-bottom: clamp(76px, 6vw, 96px);
  background: #fff;
}

.energie-page .energy-faq-title {
  margin-bottom: clamp(38px, 4vw, 54px);
}

.energie-page .energy-faq-title h2 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(1.8rem, 2.45vw, 2.65rem) !important;
  line-height: 1.2;
}

.energie-page .energy-faq-grid {
  gap: clamp(44px, 7vw, 96px);
}

.energie-page .energy-faq-item {
  padding-top: 26px;
  border-top: 1px solid rgba(21,49,74,.18);
}

.energie-page .energy-faq-item h3 {
  font-size: clamp(1.22rem, 1.6vw, 1.48rem) !important;
}

.energie-page .energy-faq-item p {
  font-size: clamp(1rem, 1.05vw, 1.1rem) !important;
  line-height: 1.68;
}

.energie-page .energy-practical {
  padding: clamp(72px, 6vw, 94px) 0;
  background: #fff;
  border-top: 1px solid rgba(21,49,74,.12);
}

.energie-page .energy-practical-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 34px);
  border: 0;
}

.energie-page .energy-practical-fact {
  position: relative;
  min-height: 230px;
  padding: clamp(28px, 3vw, 40px);
  background: #fff;
  border: 1px solid rgba(21,49,74,.14);
}

.energie-page .energy-practical-fact::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 42%;
  height: 3px;
  background: #ebc321;
}

.energie-page .energy-practical-fact:nth-child(2)::before {
  background: #67a9cb;
}

.energie-page .energy-practical-fact:nth-child(3)::before {
  background: linear-gradient(90deg, #ebc321 0 55%, #67a9cb 55%);
}

.energie-page .energy-practical-fact + .energy-practical-fact {
  border-left: 1px solid rgba(21,49,74,.14);
}

.energie-page .energy-fact-label {
  font-size: .76rem !important;
}

.energie-page .energy-practical-fact h3 {
  font-size: clamp(1.28rem, 1.65vw, 1.55rem) !important;
}

.energie-page .energy-practical-fact > p:last-child {
  font-size: 1rem !important;
}

.energie-page .energy-contact {
  background: #fff;
  border-top: 1px solid rgba(21,49,74,.12);
}

@media (max-width: 900px) {
  .energie-page .energy-flow-stage {
    display: grid;
    gap: 56px;
    min-height: auto;
    padding-top: 76px;
    padding-bottom: 76px;
  }

  .energie-page .energy-flow-waves {
    top: 13%;
    width: 160%;
    opacity: .42;
  }

  .energie-page .energy-flow-block {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    width: min(620px, 82%);
  }

  .energie-page .energy-flow-block:nth-of-type(even) {
    margin-left: auto;
  }

  .energie-page .energy-flow-block-5 {
    width: min(720px, 90%);
    margin-left: 7%;
  }

  .energie-page .energy-audience-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "copy";
    gap: 46px;
  }

  .energie-page .energy-audience h2 {
    max-width: 560px;
    margin-left: auto;
  }
}

@media (max-width: 700px) {
  .energie-page .energy-flow-stage {
    gap: 38px;
    padding-top: 58px;
    padding-bottom: 58px;
  }

  .energie-page .energy-flow-waves {
    top: 18%;
    width: 250%;
    opacity: .30;
  }

  .energie-page .energy-flow-block,
  .energie-page .energy-flow-block-5 {
    width: 100%;
    margin-left: 0;
    padding: 20px 0 22px;
  }

  .energie-page .energy-audience h2 {
    text-align: left;
  }

  .energie-page .energy-audience-curiosity {
    margin-left: 8% !important;
  }

  .energie-page .energy-practical-facts {
    grid-template-columns: 1fr;
  }

  .energie-page .energy-practical-fact + .energy-practical-fact {
    border-top: 1px solid rgba(21,49,74,.14);
  }
}


/* =========================================================
   v10 – Strategische Beratung with project carousel
   ========================================================= */

.project-carousel-section {
  padding-top: clamp(90px, 10vw, 150px);
  padding-bottom: clamp(90px, 10vw, 150px);
}

.carousel-heading {
  position: relative;
  display: grid;
  grid-template-columns: .7fr 1.3fr auto;
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
  margin-bottom: clamp(50px, 6vw, 84px);
}

.carousel-heading h2 {
  max-width: 760px;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1.04;
}

.carousel-controls {
  display: flex;
  gap: 10px;
}

.carousel-button {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(21,49,74,.25);
  border-radius: 50%;
  background: transparent;
  color: var(--navy);
  font-size: 1.25rem;
  cursor: pointer;
}

.carousel-button:hover {
  background: rgba(191,220,229,.25);
}

.project-carousel {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(420px, 48vw);
  gap: 20px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(21,49,74,.25) transparent;
  padding-bottom: 18px;
}

.project-slide {
  scroll-snap-align: start;
  min-height: 520px;
  padding: clamp(34px, 4vw, 58px);
  border: 1px solid rgba(21,49,74,.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,.82), rgba(234,246,249,.72));
  display: flex;
  flex-direction: column;
}

.project-slide:nth-child(3n+2) {
  background:
    linear-gradient(145deg, rgba(255,255,255,.86), rgba(247,243,225,.68));
}

.project-slide:nth-child(3n+3) {
  background:
    linear-gradient(145deg, rgba(255,255,255,.84), rgba(235,241,233,.72));
}

.project-client {
  margin: 0 0 1.8rem;
  color: #6d7d84;
  font-size: .77rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.project-slide h3 {
  margin: 0 0 2rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3vw, 3.2rem);
  font-weight: 400;
  line-height: 1.08;
}

.project-slide p:not(.project-client) {
  max-width: 680px;
  margin-bottom: 1.35rem;
}

.consulting-work {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(54px, 8vw, 130px);
  padding-top: clamp(90px, 10vw, 150px);
  padding-bottom: clamp(100px, 11vw, 165px);
}

.consulting-work-heading h2 {
  font-size: clamp(3rem, 5vw, 5.3rem);
  line-height: 1.03;
}

.consulting-work-copy {
  max-width: 820px;
}

.consulting-work-copy > p {
  margin-bottom: 1.45rem;
}

.work-principles {
  margin: 2.6rem 0 3.2rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(21,49,74,.15);
}

.work-principles p {
  margin-bottom: 1.25rem;
}

.work-principles strong {
  color: var(--navy);
}

.consulting-work-copy h3 {
  margin: 3.2rem 0 1rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
}

.consulting-list {
  margin: 1.2rem 0 2.8rem;
  padding: 0;
  list-style: none;
}

.consulting-list li {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 1.6rem;
}

.consulting-list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #7c929b;
}

.consulting-highlight {
  margin-top: 3rem !important;
  padding: 2rem 0 0;
  border-top: 1px solid rgba(21,49,74,.15);
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.42;
}

.consulting-contact-inner {
  max-width: 980px;
}

.consulting-contact-inner > p {
  max-width: 800px;
}

.consulting-contact-inner .button {
  margin-top: 1.8rem;
}

@media (max-width: 980px) {
  .carousel-heading {
    grid-template-columns: 1fr auto;
  }
  .carousel-heading .section-kicker {
    grid-column: 1 / -1;
  }
  .project-carousel {
    grid-auto-columns: minmax(360px, 76vw);
  }
  .consulting-work {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 700px) {
  .carousel-heading {
    grid-template-columns: 1fr;
  }
  .carousel-controls {
    justify-self: start;
  }
  .project-carousel {
    grid-auto-columns: 88vw;
  }
  .project-slide {
    min-height: auto;
  }
}


/* =========================================================
   v11 – revised consulting page structure
   ========================================================= */

.workstyle-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  padding-top: clamp(70px, 8vw, 110px);
  padding-bottom: clamp(70px, 8vw, 110px);
  border-bottom: 1px solid rgba(21,49,74,.12);
}

.workstyle-item {
  min-height: 300px;
  padding: clamp(28px, 4vw, 54px);
  text-align: center;
  border-right: 1px solid rgba(21,49,74,.12);
}

.workstyle-item:last-child {
  border-right: 0;
}

.workstyle-icon {
  width: 62px;
  height: 62px;
  margin: 0 auto 1.5rem;
  fill: none;
  stroke: #6f7f88;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.workstyle-item h2 {
  margin: 0 0 .9rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 2.6vw, 2.8rem);
  font-weight: 400;
}

.workstyle-item p {
  max-width: 330px;
  margin: 0 auto;
}

.carousel-heading-copy {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: end;
}

.carousel-intro {
  max-width: 900px;
}

.carousel-intro > p {
  margin-bottom: 1.2rem;
}

.carousel-intro .consulting-fields {
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}

.project-client-heading {
  margin: 0 0 2rem;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.6rem, 2.25vw, 2.35rem);
  font-weight: 400;
  line-height: 1.12;
}

.project-slide h3:not(.project-client-heading) {
  display: none;
}

.consulting-when {
  padding-top: clamp(90px, 10vw, 150px);
  padding-bottom: clamp(100px, 11vw, 165px);
}

.consulting-when-heading {
  margin-bottom: clamp(42px, 5vw, 70px);
}

.consulting-when-heading h2 {
  max-width: 920px;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1.04;
}

.when-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.when-card {
  min-height: 230px;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(21,49,74,.12);
  background: rgba(255,255,255,.45);
  display: flex;
  align-items: flex-start;
}

.when-card p {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.3rem, 1.8vw, 1.8rem);
  line-height: 1.4;
}

.when-card strong {
  font-weight: 600;
}

.consulting-when .consulting-highlight {
  max-width: 1000px;
  margin-top: clamp(46px, 6vw, 76px) !important;
}

@media (max-width: 900px) {
  .workstyle-strip {
    grid-template-columns: 1fr;
  }
  .workstyle-item {
    border-right: 0;
    border-bottom: 1px solid rgba(21,49,74,.12);
    min-height: auto;
  }
  .workstyle-item:last-child {
    border-bottom: 0;
  }
  .carousel-heading-copy {
    grid-template-columns: 1fr;
  }
  .when-grid {
    grid-template-columns: 1fr;
  }
  .when-card {
    min-height: auto;
  }
}


/* v12 refinements */
.carousel-title-block {
  max-width: 950px;
}
.carousel-title-block h2 {
  margin: 0 0 1rem;
  font-size: clamp(3rem, 5vw, 5.1rem);
  line-height: 1.04;
}
.carousel-title-block p {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.8vw, 1.75rem);
  line-height: 1.4;
}
.when-card strong {
  font-weight: inherit;
}




/* =========================================================
   v15 – consulting page aligned with homepage palette
   ========================================================= */

.beratung-page {
  background: var(--cream, #F7F5EE);
}

.beratung-page .site-header {
  background: rgba(247,245,238,.94);
}

.beratung-page .consulting-hero {
  background:
    linear-gradient(115deg,
      rgba(247,245,238,.98) 0%,
      rgba(247,245,238,.96) 34%,
      rgba(234,243,245,.90) 68%,
      rgba(191,220,229,.68) 100%);
}

.beratung-page .workstyle-strip {
  background: var(--cream, #F7F5EE);
}

.beratung-page .workstyle-item:nth-child(2) {
  background: rgba(191,220,229,.10);
}

.beratung-page .project-carousel-section {
  background: var(--cream, #F7F5EE);
}

.beratung-page .project-slide,
.beratung-page .project-slide:nth-child(3n+2),
.beratung-page .project-slide:nth-child(3n+3) {
  background:
    linear-gradient(145deg,
      rgba(255,255,255,.72),
      rgba(232,220,197,.18) 55%,
      rgba(191,220,229,.28) 100%);
  border-color: rgba(21,49,74,.12);
}

.beratung-page .project-slide:nth-child(even) {
  background:
    linear-gradient(145deg,
      rgba(255,255,255,.76),
      rgba(247,245,238,.76) 48%,
      rgba(191,220,229,.34) 100%);
}

.beratung-page .consulting-contact {
  background:
    linear-gradient(105deg,
      rgba(247,245,238,.96) 0%,
      rgba(247,245,238,.92) 48%,
      rgba(191,220,229,.30) 100%);
}

.beratung-page .workstyle-icon,
.beratung-page .carousel-button,
.beratung-page .section-kicker {
  color: #6f7f88;
  stroke: #6f7f88;
}



/* =========================================================
   v16 – stronger blue carousel cards, open workstyle row
   ========================================================= */

.beratung-page .project-slide,
.beratung-page .project-slide:nth-child(3n+2),
.beratung-page .project-slide:nth-child(3n+3),
.beratung-page .project-slide:nth-child(even) {
  background:
    linear-gradient(145deg,
      rgba(245,250,251,.96) 0%,
      rgba(216,235,240,.88) 52%,
      rgba(191,220,229,.72) 100%);
  border-color: rgba(21,49,74,.12);
}

.beratung-page .workstyle-item,
.beratung-page .workstyle-item:last-child {
  border-right: 0;
  border-bottom: 0;
}

@media (max-width: 900px) {
  .beratung-page .workstyle-item,
  .beratung-page .workstyle-item:last-child {
    border-right: 0;
    border-bottom: 0;
  }
}


/* =========================================================
   v17 – editorial refinement of strategic consulting
   Keeps the homepage visual language, with a little more blue.
   ========================================================= */

.beratung-page .consulting-hero {
  padding-top: clamp(5.5rem, 9vw, 9rem);
  padding-bottom: clamp(5.5rem, 9vw, 9rem);
  background:
    radial-gradient(circle at 82% 30%, rgba(191,220,229,.46), transparent 34%),
    linear-gradient(115deg, #F7F5EE 0%, #F7F5EE 58%, rgba(191,220,229,.22) 100%);
}

.beratung-page .consulting-hero .section-shell {
  max-width: 1180px;
}

.beratung-page .consulting-hero h1 {
  max-width: 850px;
}

.beratung-page .consulting-hero p {
  max-width: 760px;
}

/* One calm horizontal composition instead of three visible modules */
.beratung-page .workstyle-strip {
  padding-top: clamp(4.5rem, 7vw, 7rem);
  padding-bottom: clamp(5rem, 8vw, 8rem);
  background: #F7F5EE;
}

.beratung-page .workstyle-grid {
  gap: clamp(2.5rem, 6vw, 6.5rem);
  align-items: start;
}

.beratung-page .workstyle-item,
.beratung-page .workstyle-item:nth-child(2),
.beratung-page .workstyle-item:last-child {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.beratung-page .workstyle-icon {
  margin-bottom: 1.65rem;
  opacity: .78;
}

.beratung-page .workstyle-item h2,
.beratung-page .workstyle-item h3 {
  margin-bottom: .85rem;
}

.beratung-page .workstyle-item p {
  max-width: 320px;
}

/* Give the project section breathing room and keep the background continuous */
.beratung-page .project-carousel-section {
  padding-top: clamp(5.5rem, 9vw, 9rem);
  padding-bottom: clamp(6rem, 10vw, 10rem);
  background:
    linear-gradient(180deg, #F7F5EE 0%, rgba(191,220,229,.10) 100%);
}

.beratung-page .project-carousel-section .section-heading {
  max-width: 760px;
  margin-bottom: clamp(3rem, 5vw, 5rem);
}

.beratung-page .project-carousel-section .section-heading h2 {
  margin-bottom: 1rem;
}

/* Editorial cards: pale blue paper rather than dashboard tiles */
.beratung-page .project-slide,
.beratung-page .project-slide:nth-child(3n+2),
.beratung-page .project-slide:nth-child(3n+3),
.beratung-page .project-slide:nth-child(even) {
  background: rgba(220,237,241,.72);
  border: 1px solid rgba(21,49,74,.08);
  border-radius: 2px;
  box-shadow: 0 18px 50px rgba(21,49,74,.045);
  padding: clamp(2.25rem, 3.6vw, 3.5rem);
}

.beratung-page .project-slide h3 {
  margin-bottom: 1.6rem;
}

.beratung-page .project-slide p {
  line-height: 1.72;
}

.beratung-page .carousel-controls {
  gap: .65rem;
}

.beratung-page .carousel-button {
  background: transparent;
  border-color: rgba(21,49,74,.20);
  box-shadow: none;
}

.beratung-page .carousel-button:hover {
  background: rgba(191,220,229,.30);
}

/* Quiet, spacious closing section */
.beratung-page .consulting-contact {
  padding-top: clamp(6rem, 10vw, 10rem);
  padding-bottom: clamp(6rem, 10vw, 10rem);
  background:
    radial-gradient(circle at 88% 48%, rgba(191,220,229,.32), transparent 30%),
    #F7F5EE;
}

.beratung-page .consulting-contact-inner {
  max-width: 820px;
}

.beratung-page .consulting-contact h2 {
  margin-bottom: 1.8rem;
}

.beratung-page .consulting-contact p {
  max-width: 720px;
}

.beratung-page .consulting-contact .button {
  margin-top: 1.25rem;
}

@media (max-width: 760px) {
  .beratung-page .workstyle-grid {
    gap: 3.75rem;
  }

  .beratung-page .workstyle-item p {
    max-width: none;
  }

  .beratung-page .project-slide,
  .beratung-page .project-slide:nth-child(3n+2),
  .beratung-page .project-slide:nth-child(3n+3),
  .beratung-page .project-slide:nth-child(even) {
    padding: 2rem;
  }
}


/* v18 – editorial project portraits */
.beratung-page .project-portrait{
  position:relative; overflow:hidden; min-height:520px; display:flex; flex-direction:column;
  background:rgba(215,234,239,.70)!important; border:1px solid rgba(21,49,74,.07)!important;
  box-shadow:0 20px 55px rgba(21,49,74,.04)!important;
}
.beratung-page .project-art{height:140px;margin:-.8rem -1rem 1rem auto;width:min(82%,285px);opacity:.58}
.beratung-page .project-art svg{width:100%;height:100%;fill:none;stroke:#6f7f88;stroke-width:1.05;stroke-linecap:round;stroke-linejoin:round}
.beratung-page .project-number{font-size:.7rem;letter-spacing:.15em;color:rgba(21,49,74,.42);margin-bottom:1rem}
.beratung-page .project-context{max-width:440px;margin:0 0 1.4rem;font-family:Georgia,"Times New Roman",serif;font-style:italic;line-height:1.55;color:rgba(21,49,74,.78)}
.beratung-page .project-highlight{max-width:455px;font-size:.92rem;line-height:1.65;font-weight:600;color:#15314A}
.beratung-page .project-tags{display:inline-block;margin-top:.55rem;font-weight:500}
.beratung-page .project-emphasis{display:inline-block;margin-top:.28rem;font-family:Georgia,"Times New Roman",serif;font-size:1.04rem;font-weight:400}
.beratung-page .project-details{margin-top:auto;padding-top:2rem;border-top:1px solid rgba(21,49,74,.10)}
.beratung-page .project-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-size:.86rem;letter-spacing:.04em;color:#15314A}
.beratung-page .project-details summary::-webkit-details-marker{display:none}
.beratung-page .project-details summary span{transition:transform .25s ease}
.beratung-page .project-details[open] summary span{transform:rotate(180deg)}
.beratung-page .project-details-body{padding-top:1.3rem}
.beratung-page .project-details-body p{margin:0 0 1rem;font-size:.92rem;line-height:1.7}
@media(min-width:900px){.beratung-page .project-portrait{flex:0 0 min(620px,62vw)}}
@media(max-width:760px){.beratung-page .project-portrait{min-height:500px}.beratung-page .project-art{height:120px}}


/* =========================================================
   v21 – corrected project carousel
   ========================================================= */
.beratung-page .project-carousel{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(360px,42vw);
  gap:22px;
  overflow-x:auto;
  scroll-snap-type:inline mandatory;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  padding:0 0 18px;
}

.beratung-page .project-portrait{
  scroll-snap-align:start;
  min-height:610px;
  padding:clamp(30px,3.2vw,48px);
  display:grid;
  grid-template-rows:165px 82px 120px 135px auto;
  align-content:stretch;
  background:rgba(215,234,239,.72)!important;
  border:1px solid rgba(21,49,74,.08)!important;
  box-shadow:0 18px 48px rgba(21,49,74,.035)!important;
}

.beratung-page .project-art{
  width:100%;
  height:155px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.84;
}

.beratung-page .project-art svg{
  display:block!important;
  width:min(92%,300px);
  height:145px;
  fill:none;
  stroke:#557a95;
  stroke-width:1.05;
  stroke-linecap:round;
  stroke-linejoin:round;
  background:transparent;
}

.beratung-page .project-number{display:none!important}

.beratung-page .project-client-heading{
  margin:0;
  padding-top:.35rem;
  align-self:start;
}

.beratung-page .project-context{
  margin:0;
  padding-top:.8rem;
  align-self:start;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  line-height:1.52;
  color:rgba(21,49,74,.78);
}

.beratung-page .project-highlight{
  padding-top:.9rem;
  align-self:start;
  line-height:1.58;
}

.beratung-page .project-details{
  margin:0;
  padding-top:1.45rem;
  align-self:end;
  border-top:1px solid rgba(21,49,74,.11);
}

.beratung-page .project-details[open]{align-self:stretch}

@media(min-width:1200px){
  .beratung-page .project-carousel{grid-auto-columns:minmax(390px,36vw)}
}

@media(max-width:800px){
  .beratung-page .project-carousel{grid-auto-columns:86vw}
  .beratung-page .project-portrait{
    min-height:590px;
    grid-template-rows:150px auto auto auto auto;
    row-gap:1rem;
  }
  .beratung-page .project-art{height:145px}
  .beratung-page .project-art svg{height:135px}
  .beratung-page .project-context,.beratung-page .project-highlight{padding-top:0}
}


/* =========================================================
   v22 – unified typography in project highlight sections
   ========================================================= */

.beratung-page .project-highlight,
.beratung-page .project-highlight *,
.beratung-page .project-emphasis,
.beratung-page .project-tags {
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  line-height: 1.58 !important;
  color: #15314A !important;
}



/* =========================================================
   v23 – transition from project history to the visitor
   ========================================================= */

.beratung-page .consulting-next {
  margin: 0 0 clamp(2rem, 3.5vw, 3.25rem);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 3.2vw, 3rem);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -.02em;
  color: #15314A;
}

.beratung-page .consulting-next + h2 {
  margin-top: 0;
}



/* =========================================================
   v24 – Energiearbeit
   Shared visual system, warmer weighting
   ========================================================= */

.energie-page {
  background: #F7F5EE;
  color: #25282A;
}

.energy-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 30%, rgba(243,217,120,.34), transparent 28%),
    linear-gradient(120deg,#fbfaf5 0%,#fff8dd 58%,#eef4ee 100%);
  border-bottom: 1px solid rgba(37,40,42,.055);
}

.energy-hero-copy {
  min-height: clamp(590px, 64vw, 790px);
  display: grid;
  grid-template-columns: minmax(0,1.03fr) minmax(420px,.97fr);
  align-items: center;
  gap: clamp(30px,5vw,90px);
  position: relative;
}

.energy-hero-text {
  position: relative;
  z-index: 3;
  padding-block: clamp(70px,8vw,120px);
}

.energy-hero h1 {
  max-width: 800px;
  font-size: clamp(3.6rem,6.2vw,7rem);
  line-height: .99;
  letter-spacing: -.045em;
}

.energy-intro {
  max-width: 610px;
  margin-top: 2rem;
  font-family: Georgia,"Times New Roman",serif;
  color: #15314A;
  font-size: clamp(1.35rem,1.8vw,1.85rem);
  line-height: 1.5;
}

.energy-hero-art {
  position: relative;
  min-height: 520px;
  align-self: stretch;
}

.energy-hero-art img {
  position: absolute;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.energy-sun {
  width: min(410px,75%);
  right: 5%;
  top: 10%;
  opacity: .72;
}

.energy-waves {
  width: min(520px,96%);
  right: -6%;
  top: 38%;
  opacity: .58;
}

.energy-fern {
  width: min(380px,67%);
  right: 11%;
  bottom: -4%;
  opacity: .72;
  transform: rotate(-5deg);
}

.energy-opening {
  padding-top: clamp(84px,9vw,138px);
  padding-bottom: clamp(90px,10vw,150px);
}

.energy-opening-copy {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px,7vw,120px);
  max-width: 1080px;
}

.energy-opening-copy p {
  font-size: clamp(1.06rem,1.25vw,1.23rem);
  line-height: 1.85;
}

.energy-opening-statement {
  max-width: 980px;
  margin: clamp(64px,7vw,100px) 0 0 auto;
  padding-left: clamp(28px,4vw,58px);
  border-left: 1px solid rgba(21,49,74,.2);
  font-family: Georgia,"Times New Roman",serif;
  color:#15314A;
  font-size: clamp(1.6rem,2.55vw,2.8rem);
  line-height: 1.45;
}

.energy-section {
  padding: clamp(90px,9vw,140px) 0;
}

.energy-section-soft {
  background:
    linear-gradient(110deg, rgba(243,217,120,.17), rgba(232,220,197,.32) 43%, rgba(169,184,156,.14));
  border-block:1px solid rgba(37,40,42,.045);
}

.energy-split {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(55px,8vw,130px);
  align-items:center;
}

.energy-split-reverse {
  grid-template-columns:1.18fr .82fr;
}

.energy-section-copy {
  max-width: 720px;
}

.energy-section-copy h2,
.energy-people-heading h2,
.energy-experience-copy h2,
.energy-faq-title h2,
.energy-practical-heading h2,
.energy-contact-copy h2 {
  font-size:clamp(2.7rem,4.6vw,5rem);
  line-height:1.04;
  letter-spacing:-.035em;
}

.energy-section-copy p,
.energy-experience-copy p,
.energy-faq-item p,
.energy-practical-card p,
.energy-contact-copy p {
  line-height:1.82;
}

.energy-section-art {
  display:grid;
  place-items:center;
  min-height:380px;
}

.energy-section-art img {
  width:min(470px,100%);
  max-height:390px;
  object-fit:contain;
  mix-blend-mode:multiply;
  opacity:.72;
}

.energy-emphasis {
  margin-top:1.8rem;
  font-family:Georgia,"Times New Roman",serif;
  color:#15314A;
  font-size:clamp(1.28rem,1.55vw,1.65rem);
  line-height:1.55 !important;
  font-weight:600;
}

.energy-people {
  padding:clamp(100px,10vw,155px) 0;
  background:#fbfaf5;
}

.energy-people-heading {
  display:grid;
  grid-template-columns:.45fr 1.55fr;
  gap:clamp(30px,5vw,80px);
  align-items:start;
  margin-bottom:clamp(55px,6vw,88px);
}

.energy-people-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(45px,7vw,120px);
  max-width:1120px;
  margin-left:auto;
}

.energy-people-grid p {
  font-size:clamp(1.04rem,1.2vw,1.18rem);
  line-height:1.85;
}

.energy-curiosity {
  margin-top:.5rem;
  font-family:Georgia,"Times New Roman",serif;
  color:#15314A;
  font-size:clamp(2rem,3vw,3.4rem) !important;
  line-height:1.1 !important;
}

.energy-experiences {
  padding:clamp(90px,9vw,145px) 0;
  background:
    radial-gradient(circle at 20% 40%,rgba(243,217,120,.23),transparent 27%),
    linear-gradient(115deg,#f8f4e9,#f6f7ef 62%,#edf4f2);
  border-block:1px solid rgba(37,40,42,.045);
}

.energy-experience-inner {
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:clamp(50px,8vw,125px);
  align-items:center;
}

.energy-experience-art {
  min-height:480px;
  display:grid;
  place-items:center;
}

.energy-experience-art img {
  width:min(540px,100%);
  max-height:500px;
  object-fit:contain;
  mix-blend-mode:multiply;
  opacity:.66;
}

.energy-faq {
  padding-top:clamp(100px,10vw,155px);
  padding-bottom:clamp(100px,10vw,155px);
}

.energy-faq-title {
  max-width:860px;
  margin-bottom:clamp(56px,6vw,88px);
}

.energy-faq-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(24px,3vw,44px);
}

.energy-faq-item {
  padding:clamp(34px,4vw,56px);
  background:rgba(255,255,255,.38);
  border-top:1px solid rgba(21,49,74,.15);
}

.energy-faq-item h3 {
  font-family:Georgia,"Times New Roman",serif;
  color:#15314A;
  font-size:clamp(1.55rem,2vw,2.1rem);
  font-weight:400;
  line-height:1.25;
  margin-bottom:1.5rem;
}

.energy-practical {
  padding:clamp(90px,9vw,140px) 0;
  background:linear-gradient(125deg,#fff9df 0%,#f9f3df 42%,#edf3ed 100%);
  border-block:1px solid rgba(37,40,42,.045);
}

.energy-practical-heading {
  max-width:850px;
  margin-bottom:clamp(55px,6vw,86px);
}

.energy-practical-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(22px,2.5vw,38px);
}

.energy-practical-card {
  min-height:430px;
  padding:clamp(36px,4vw,58px);
  background:rgba(255,255,255,.34);
  border:1px solid rgba(37,40,42,.07);
}

.energy-practical-icon {
  width:78px;
  height:78px;
  margin-bottom:clamp(38px,4vw,55px);
}

.energy-practical-icon svg {
  width:100%;
  height:100%;
  fill:none;
  stroke:#6f7f88;
  stroke-width:1.15;
}

.energy-practical-card h3 {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.7rem,2.2vw,2.3rem);
  font-weight:400;
  color:#15314A;
  margin-bottom:1.6rem;
}

.energy-contact {
  overflow:hidden;
  background:#F7F5EE;
}

.energy-contact-inner {
  min-height:600px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:clamp(45px,7vw,110px);
  align-items:center;
  padding-top:clamp(80px,8vw,120px);
  padding-bottom:clamp(80px,8vw,120px);
}

.energy-contact-art {
  display:grid;
  place-items:center;
  min-height:380px;
}

.energy-contact-art img {
  width:min(420px,100%);
  max-height:420px;
  object-fit:contain;
  mix-blend-mode:multiply;
  opacity:.65;
}

.energy-contact-copy {
  max-width:770px;
}

.energy-contact-copy .button {
  margin-top:1.6rem;
}

@media (max-width: 980px) {
  .energy-hero-copy {
    grid-template-columns:1fr;
    min-height:auto;
  }
  .energy-hero-text {
    padding-bottom:20px;
  }
  .energy-hero-art {
    min-height:390px;
  }
  .energy-sun { right:12%; top:0; }
  .energy-waves { right:1%; top:24%; }
  .energy-fern { right:18%; }
  .energy-split,
  .energy-split-reverse,
  .energy-experience-inner,
  .energy-contact-inner {
    grid-template-columns:1fr;
  }
  .energy-split-reverse .energy-section-art { order:-1; }
  .energy-section-art { min-height:300px; }
  .energy-experience-art { min-height:340px; }
  .energy-contact-art { min-height:260px; }
}

@media (max-width: 720px) {
  .energy-hero h1 {
    font-size:clamp(3rem,13vw,4.6rem);
  }
  .energy-hero-art { min-height:320px; }
  .energy-opening-copy,
  .energy-people-grid,
  .energy-faq-grid,
  .energy-practical-grid,
  .energy-people-heading {
    grid-template-columns:1fr;
  }
  .energy-opening-statement {
    margin-left:0;
  }
  .energy-people-grid {
    margin-left:0;
  }
  .energy-faq-item,
  .energy-practical-card {
    padding:30px 24px;
  }
}


/* =========================================================
   v25 – Energiearbeit hero using the exact homepage asset
   ========================================================= */

.energie-page .energy-hero-image {
  position: relative;
  min-height: clamp(520px, 57vw, 760px);
  overflow: hidden;
  background: #F3E8B8;
  border-bottom: 1px solid rgba(37,40,42,.055);
}

.energie-page .energy-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
  opacity: .92;
}

.energie-page .energy-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg,
      rgba(247,245,238,.94) 0%,
      rgba(247,245,238,.76) 31%,
      rgba(247,245,238,.20) 58%,
      rgba(247,245,238,.02) 100%);
  pointer-events: none;
}

.energie-page .energy-hero-overlay {
  position: relative;
  z-index: 2;
  min-height: clamp(520px, 57vw, 760px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: clamp(70px, 8vw, 110px);
  padding-bottom: clamp(70px, 8vw, 110px);
}

.energie-page .energy-hero-overlay .eyebrow {
  margin: 0 0 1.45rem;
  color: #15314A;
}

.energie-page .energy-hero-overlay h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(3.5rem, 6vw, 6.8rem);
  line-height: .99;
  letter-spacing: -.045em;
  color: #15314A;
}

.energie-page .energy-hero-overlay > p:last-child {
  max-width: 570px;
  margin: 2rem 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.2rem, 1.55vw, 1.55rem);
  line-height: 1.55;
  color: #15314A;
}

/* Neutralize the old v24 composed-hero rules for this hero. */
.energie-page .energy-hero-image .energy-hero-copy,
.energie-page .energy-hero-image .energy-hero-text,
.energie-page .energy-hero-image .energy-hero-art {
  display: none;
}

@media (max-width: 720px) {
  .energie-page .energy-hero-image,
  .energie-page .energy-hero-overlay {
    min-height: 570px;
  }

  .energie-page .energy-hero-image::after {
    background:
      linear-gradient(90deg,
        rgba(247,245,238,.92) 0%,
        rgba(247,245,238,.76) 55%,
        rgba(247,245,238,.25) 100%);
  }

  .energie-page .energy-hero-overlay h1 {
    font-size: clamp(3rem, 13vw, 4.6rem);
  }
}


/* =========================================================
   v26 – refined opening sequence for Energiearbeit
   ========================================================= */

.energie-page .energy-hero-overlay {
  justify-content: center;
}

.energie-page .energy-hero-overlay h1 {
  max-width: 860px;
}

.energie-page .energy-first-section {
  padding-top: clamp(95px, 10vw, 150px);
}

.energie-page .energy-perception-section {
  background: #F7F5EE;
}

.energie-page .energy-perception-lead {
  margin: 0;
  max-width: 760px;
  font-family: Georgia, "Times New Roman", serif;
  color: #15314A;
  font-size: clamp(1.75rem, 2.8vw, 3rem);
  line-height: 1.46 !important;
  letter-spacing: -.018em;
}

.energie-page .energy-art-flow img {
  width: min(500px, 100%);
  opacity: .66;
}



/* =========================================================
   v27 – clearer image logic on Energiearbeit
   ========================================================= */

/* Images now have one role each:
   Hero = resonance/water
   Arrival = quiet room
   Perception = head/profile
   Openness = waves
   Experiences = sun/light
   People = mostly text, only a very subtle botanical watermark
*/

.energie-page .energy-section-art {
  min-height: 330px;
  display: grid;
  place-items: center;
}

.energie-page .energy-section-art img {
  width: min(420px, 88%);
  max-height: 340px;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: multiply;
  opacity: .62;
}

.energie-page .energy-perception-section .energy-section-art img {
  width: min(360px, 82%);
  opacity: .56;
}

.energie-page .energy-art-flow img {
  width: min(470px, 94%);
  opacity: .58;
}

.energie-page .energy-experience-art img {
  width: min(360px, 78%);
  max-height: 360px;
  opacity: .58;
}

/* "Wer zu mir kommt" becomes a calmer editorial section */
.energie-page .energy-people {
  position: relative;
  overflow: hidden;
  padding: clamp(100px, 10vw, 155px) 0;
  background: #fbfaf5;
}

.energie-page .energy-people-simple {
  position: relative;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(50px, 8vw, 135px);
  align-items: start;
}

.energie-page .energy-people-heading {
  display: block;
  margin: 0;
}

.energie-page .energy-people-heading h2 {
  margin: 0;
  max-width: 420px;
  font-size: clamp(2.7rem, 4.6vw, 5rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.energie-page .energy-people-text {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.energie-page .energy-people-text p {
  font-size: clamp(1.04rem, 1.2vw, 1.18rem);
  line-height: 1.85;
}

.energie-page .energy-people-text p + p {
  margin-top: 1.35rem;
}

.energie-page .energy-people-text .energy-emphasis {
  margin-top: 2.4rem;
  font-size: clamp(1.28rem, 1.55vw, 1.65rem);
}

.energie-page .energy-people-text .energy-curiosity {
  margin-top: .45rem;
}

.energie-page .energy-people-watermark {
  position: absolute;
  right: -4%;
  bottom: -20%;
  width: min(360px, 31vw);
  opacity: .12;
  pointer-events: none;
}

.energie-page .energy-people-watermark img {
  width: 100%;
  height: auto;
  display: block;
  mix-blend-mode: multiply;
}

@media (max-width: 820px) {
  .energie-page .energy-people-simple {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .energie-page .energy-people-watermark {
    width: 260px;
    right: -80px;
    bottom: -70px;
  }
}


/* =========================================================
   v28 – Energiearbeit editorial redesign
   ========================================================= */

/* The middle of the page is intentionally no longer a repeated
   image-left / text-right sequence. */
.energie-page .energy-editorial {
  position: relative;
  overflow: hidden;
}

.energie-page .energy-narrow {
  max-width: 1050px;
}

.energie-page .energy-arrive {
  padding: clamp(88px, 8vw, 128px) 0;
  background: #F7F5EE;
}

.energie-page .energy-arrive h2,
.energie-page .energy-open h2,
.energie-page .energy-people-calm h2,
.energie-page .energy-experience-calm h2 {
  margin: 0;
  max-width: 900px;
  color: #15314A;
  font-size: clamp(2.8rem, 4.8vw, 5.2rem);
  line-height: 1.06;
  letter-spacing: -.038em;
}

.energie-page .energy-body-copy {
  max-width: 690px;
  margin: clamp(58px, 6vw, 90px) 0 0 auto;
}

.energie-page .energy-body-copy p,
.energie-page .energy-people-calm-copy p,
.energie-page .energy-experience-calm-copy p {
  font-size: clamp(1.05rem, 1.18vw, 1.18rem);
  line-height: 1.86;
}

.energie-page .energy-body-copy p + p,
.energie-page .energy-people-calm-copy p + p,
.energie-page .energy-experience-calm-copy p + p {
  margin-top: 1.45rem;
}

/* One large atmospheric drawing, partly outside the page. */
.energie-page .energy-perception {
  min-height: clamp(560px, 58vw, 760px);
  display: flex;
  align-items: center;
  background:
    linear-gradient(105deg, rgba(243,217,120,.13), rgba(247,245,238,.94) 52%, rgba(169,184,156,.09));
  border-block: 1px solid rgba(37,40,42,.04);
}

.energie-page .energy-background-drawing {
  position: absolute;
  pointer-events: none;
}

.energie-page .energy-background-clarity {
  width: min(720px, 54vw);
  right: -7%;
  top: 50%;
  transform: translateY(-50%);
  opacity: .20;
}

.energie-page .energy-background-clarity img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

.energie-page .energy-perception-copy {
  position: relative;
  z-index: 2;
  width: min(760px, 62%);
}

.energie-page .energy-perception-copy p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  color: #15314A;
  font-size: clamp(1.85rem, 3vw, 3.25rem);
  line-height: 1.45;
  letter-spacing: -.02em;
}

/* Openness: almost purely typographic; waves only skim the bottom edge. */
.energie-page .energy-open {
  padding: clamp(96px, 9vw, 144px) 0 clamp(112px, 10vw, 160px);
  background: #fbfaf5;
}

.energie-page .energy-open-inner {
  position: relative;
  z-index: 2;
}

.energie-page .energy-open-waves {
  position: absolute;
  left: -4%;
  right: -4%;
  bottom: -100px;
  height: 270px;
  opacity: .13;
  pointer-events: none;
}

.energie-page .energy-open-waves img {
  width: 108%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
}

/* No image at all here: a deliberate visual pause. */
.energie-page .energy-people-calm {
  padding: clamp(96px, 9vw, 144px) 0;
  background: #F7F5EE;
}

.energie-page .energy-people-calm-inner {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(70px, 9vw, 150px);
  align-items: start;
}

.energie-page .energy-people-calm h2 {
  max-width: 430px;
}

.energie-page .energy-people-calm-copy {
  max-width: 710px;
  padding-top: .55rem;
}

.energie-page .energy-belief {
  margin-top: 2.7rem !important;
  font-family: Georgia, "Times New Roman", serif;
  color: #15314A;
  font-size: clamp(1.3rem, 1.6vw, 1.7rem) !important;
  font-weight: 600;
}

.energie-page .energy-people-calm .energy-curiosity {
  margin-top: .65rem !important;
  font-family: Georgia, "Times New Roman", serif;
  color: #15314A;
  font-size: clamp(2.7rem, 4.6vw, 5rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -.035em;
}

/* Second and final large visual moment. */
.energie-page .energy-experience-calm {
  min-height: 720px;
  display: flex;
  align-items: center;
  padding: clamp(88px, 8vw, 132px) 0;
  background:
    radial-gradient(circle at 18% 45%, rgba(243,217,120,.34), transparent 26%),
    linear-gradient(115deg, #faf6e8 0%, #f8f7ef 58%, #edf3ed 100%);
  border-block: 1px solid rgba(37,40,42,.04);
}

.energie-page .energy-experience-light {
  position: absolute;
  left: -7%;
  top: 50%;
  width: min(650px, 48vw);
  transform: translateY(-50%);
  opacity: .22;
  pointer-events: none;
}

.energie-page .energy-experience-light img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

.energie-page .energy-experience-calm-inner {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
}

.energie-page .energy-experience-calm-copy {
  width: min(720px, 58%);
}

.energie-page .energy-experience-calm-copy h2 {
  margin-bottom: clamp(42px, 5vw, 70px);
}

/* FAQ: editorial columns, less card-like. */
.energie-page .energy-faq-grid {
  gap: clamp(55px, 7vw, 110px);
}

.energie-page .energy-faq-item {
  padding: 36px 0 0;
  background: transparent;
  border-top: 1px solid rgba(21,49,74,.16);
}

/* Practical section: no decorative icons, just two calm information columns. */
.energie-page .energy-practical {
  background: linear-gradient(120deg, rgba(243,217,120,.12), rgba(247,245,238,.9), rgba(169,184,156,.08));
}

.energie-page .energy-practical-grid {
  gap: clamp(55px, 7vw, 110px);
}

.energie-page .energy-practical-card {
  min-height: 0;
  padding: 38px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(21,49,74,.15);
}

/* Closing CTA: no illustration, generous typographic space. */
.energie-page .energy-contact-inner {
  min-height: 570px;
  display: block;
  padding-top: clamp(88px, 8vw, 132px);
  padding-bottom: clamp(88px, 8vw, 132px);
}

.energie-page .energy-contact-copy {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.energie-page .energy-contact-copy .eyebrow {
  margin-bottom: 1.5rem;
}

@media (max-width: 850px) {
  .energie-page .energy-perception-copy,
  .energie-page .energy-experience-calm-copy {
    width: 100%;
  }

  .energie-page .energy-background-clarity {
    width: 520px;
    right: -220px;
    opacity: .12;
  }

  .energie-page .energy-people-calm-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .energie-page .energy-experience-light {
    width: 500px;
    left: -250px;
    opacity: .12;
  }
}

@media (max-width: 650px) {
  .energie-page .energy-arrive,
  .energie-page .energy-open,
  .energie-page .energy-people-calm {
    padding-top: 76px;
    padding-bottom: 84px;
  }

  .energie-page .energy-body-copy {
    margin-top: 46px;
  }

  .energie-page .energy-perception {
    min-height: 610px;
  }

  .energie-page .energy-open-waves {
    bottom: -125px;
  }

  .energie-page .energy-experience-calm {
    min-height: auto;
    padding: 84px 0;
  }
}

/* Homepage hero positioning statement */
.hero-overlay p.hero-kicker {
  max-width: 46rem;
  margin: 0 0 .9rem;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(.68rem, .82vw, .88rem);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media (max-width: 560px) {
  .hero-overlay p.hero-kicker {
    max-width: 19rem;
    margin-bottom: .65rem;
    font-size: .65rem;
    line-height: 1.55;
    letter-spacing: .09em;
  }
}


/* =========================================================
   v29 – Wegbegleitung
   Same visual family, with paths / thresholds / perspective.
   ========================================================= */

.weg-page {
  background: #F7F5EE;
  color: #25282A;
}

.weg-page .weg-hero {
  position: relative;
  min-height: clamp(540px, 58vw, 780px);
  overflow: hidden;
  background:
    linear-gradient(115deg, #f4e8bd 0%, #f8f5e9 48%, #e7eee5 100%);
}

.weg-page .weg-hero-bg {
  position: absolute;
  inset: -4% -3% -5% 22%;
  width: 82%;
  height: 110%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: multiply;
  opacity: .64;
}

.weg-page .weg-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(247,245,238,.94) 0%,
    rgba(247,245,238,.75) 34%,
    rgba(247,245,238,.18) 65%,
    rgba(247,245,238,.02) 100%);
}

.weg-page .weg-hero-overlay {
  position: relative;
  z-index: 2;
  min-height: clamp(540px, 58vw, 780px);
  display: flex;
  align-items: center;
}

.weg-page .weg-hero h1 {
  max-width: 920px;
  margin: 0;
  color: #15314A;
  font-size: clamp(3.6rem, 6.1vw, 7rem);
  line-height: .99;
  letter-spacing: -.047em;
}

.weg-page .weg-editorial {
  position: relative;
  overflow: hidden;
}

.weg-page .weg-narrow {
  max-width: 1060px;
}

.weg-page .weg-threshold {
  padding: clamp(88px, 8vw, 132px) 0;
}

.weg-page .weg-threshold h2,
.weg-page .weg-story h2,
.weg-page .weg-own-way h2,
.weg-page .weg-boundary h2,
.weg-page .weg-offers h2 {
  margin: 0;
  color: #15314A;
  font-size: clamp(2.8rem, 4.7vw, 5.1rem);
  line-height: 1.06;
  letter-spacing: -.038em;
}

.weg-page .weg-body-copy {
  max-width: 700px;
  margin: clamp(58px, 6vw, 90px) 0 0 auto;
}

.weg-page .weg-body-copy p,
.weg-page .weg-story-copy p,
.weg-page .weg-perspective-copy > p,
.weg-page .weg-boundary-grid > div p,
.weg-page .weg-offer p,
.weg-page .weg-offers-note p {
  font-size: clamp(1.05rem, 1.18vw, 1.18rem);
  line-height: 1.86;
}

.weg-page .weg-body-copy p + p,
.weg-page .weg-story-copy p + p,
.weg-page .weg-perspective-copy > p + p,
.weg-page .weg-boundary-grid > div p + p {
  margin-top: 1.45rem;
}

.weg-page .weg-emphasis {
  margin-top: 2.4rem !important;
  font-family: Georgia, "Times New Roman", serif;
  color: #15314A;
  font-size: clamp(1.35rem, 1.7vw, 1.8rem) !important;
  font-weight: 600;
}

/* Perspective: one atmospheric drawing, not an illustration card. */
.weg-page .weg-perspective {
  min-height: clamp(610px, 61vw, 800px);
  display: flex;
  align-items: center;
  background:
    linear-gradient(105deg, rgba(191,220,229,.28), rgba(247,245,238,.96) 58%, rgba(243,217,120,.09));
  border-block: 1px solid rgba(37,40,42,.04);
}

.weg-page .weg-background-drawing {
  position: absolute;
  right: -8%;
  top: 50%;
  width: min(720px, 54vw);
  transform: translateY(-50%);
  opacity: .17;
  pointer-events: none;
}

.weg-page .weg-background-drawing img {
  width: 100%;
  display: block;
  mix-blend-mode: multiply;
}

.weg-page .weg-perspective-copy {
  position: relative;
  z-index: 2;
  width: min(760px, 62%);
}

.weg-page .weg-perspective-copy h2 {
  margin: 0 0 clamp(45px, 5vw, 72px);
  max-width: 750px;
  color: #15314A;
  font-size: clamp(2.7rem, 4.5vw, 4.9rem);
  line-height: 1.07;
  letter-spacing: -.038em;
}

/* The long conceptual section is purely editorial. */
.weg-page .weg-story {
  padding: clamp(96px, 9vw, 144px) 0;
  background: #fbfaf5;
}

.weg-page .weg-story-grid {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(70px, 9vw, 150px);
}

.weg-page .weg-story-heading h2 {
  max-width: 500px;
}

.weg-page .weg-story-copy {
  max-width: 720px;
}

/* Own way: almost text only, with a line movement at the bottom. */
.weg-page .weg-own-way {
  padding: clamp(96px, 9vw, 144px) 0 clamp(112px, 10vw, 160px);
  background:
    linear-gradient(115deg, rgba(232,220,197,.38), rgba(247,245,238,.95) 54%, rgba(169,184,156,.10));
}

.weg-page .weg-own-way-inner {
  position: relative;
  z-index: 2;
}

.weg-page .weg-own-way h2 {
  max-width: 900px;
}

.weg-page .weg-lines {
  position: absolute;
  left: -3%;
  right: -3%;
  bottom: -120px;
  height: 290px;
  opacity: .12;
}

.weg-page .weg-lines img {
  width: 106%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

/* Boundary intentionally sober and quiet. */
.weg-page .weg-boundary {
  padding: clamp(84px, 8vw, 124px) 0;
  background: #eef3f2;
  border-block: 1px solid rgba(21,49,74,.06);
}

.weg-page .weg-boundary-grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(70px, 9vw, 145px);
  align-items: start;
}

.weg-page .weg-boundary h2 {
  font-size: clamp(2.3rem, 3.8vw, 4.1rem);
}

.weg-page .weg-boundary-grid > div {
  max-width: 730px;
}

/* Offers: two restrained editorial columns, not product cards. */
.weg-page .weg-offers {
  padding: clamp(96px, 9vw, 144px) 0;
  background: #F7F5EE;
}

.weg-page .weg-offers-heading {
  margin-bottom: clamp(75px, 8vw, 120px);
}

.weg-page .weg-offers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(55px, 8vw, 125px);
}

.weg-page .weg-offer {
  padding-top: 34px;
  border-top: 1px solid rgba(21,49,74,.17);
}

.weg-page .weg-offer h3 {
  margin: 0;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.8rem, 2.5vw, 2.65rem);
  font-weight: 400;
  line-height: 1.15;
}

.weg-page .weg-price {
  margin: 1.15rem 0 2rem;
  color: #15314A;
  font-size: .93rem !important;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.weg-page .weg-offer .text-link {
  display: inline-flex;
  margin-top: 1.4rem;
}

.weg-page .weg-offers-note {
  max-width: 770px;
  margin: clamp(95px, 10vw, 145px) auto 0;
  padding-top: clamp(65px, 7vw, 95px);
  border-top: 1px solid rgba(21,49,74,.12);
  text-align: center;
}

.weg-page .weg-offers-note .button {
  margin-top: 2rem;
}

@media (max-width: 850px) {
  .weg-page .weg-perspective-copy {
    width: 100%;
  }

  .weg-page .weg-background-drawing {
    width: 520px;
    right: -230px;
    opacity: .10;
  }

  .weg-page .weg-story-grid,
  .weg-page .weg-boundary-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .weg-page .weg-offers-grid {
    grid-template-columns: 1fr;
    gap: 65px;
  }
}

@media (max-width: 650px) {
  .weg-page .weg-hero,
  .weg-page .weg-hero-overlay {
    min-height: 570px;
  }

  .weg-page .weg-hero-bg {
    inset: 0 -30% 0 10%;
    width: 120%;
  }

  .weg-page .weg-threshold,
  .weg-page .weg-story,
  .weg-page .weg-own-way,
  .weg-page .weg-offers {
    padding-top: 76px;
    padding-bottom: 84px;
  }

  .weg-page .weg-body-copy {
    margin-top: 48px;
  }

  .weg-page .weg-perspective {
    min-height: 650px;
  }

  .weg-page .weg-lines {
    bottom: -145px;
  }
}


/* =========================================================
   v30 – Über mich
   ========================================================= */

.about-page {
  background: #F7F5EE;
  color: #25282A;
}

.about-page .about-hero {
  padding: clamp(90px, 9vw, 140px) 0 clamp(110px, 11vw, 170px);
  background:
    radial-gradient(circle at 78% 18%, rgba(243,217,120,.20), transparent 30%),
    linear-gradient(115deg, #f8f6ef 0%, #f7f5ee 58%, #edf2eb 100%);
  border-bottom: 1px solid rgba(37,40,42,.045);
}

.about-page .about-hero-grid {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: clamp(70px, 9vw, 145px);
  align-items: center;
}

.about-page .about-hero-copy {
  padding-top: 30px;
}

.about-page .about-hero-copy .eyebrow {
  margin-bottom: 1.6rem;
}

.about-page .about-hero h1 {
  margin: 0 0 clamp(45px, 5vw, 72px);
  max-width: 760px;
  color: #15314A;
  font-size: clamp(4rem, 6.2vw, 7rem);
  line-height: .98;
  letter-spacing: -.048em;
}

.about-page .about-hero-copy > p:not(.eyebrow) {
  max-width: 700px;
  font-size: clamp(1.08rem, 1.25vw, 1.22rem);
  line-height: 1.82;
}

.about-page .about-hero-statement {
  margin-top: 2.3rem;
  font-family: Georgia, "Times New Roman", serif;
  color: #15314A;
  font-size: clamp(1.35rem, 1.75vw, 1.85rem) !important;
  line-height: 1.55 !important;
  font-weight: 600;
}

.about-page .about-portrait {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 48% 48% 4px 4px;
}

.about-page .about-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(21,49,74,.05);
  pointer-events: none;
}

.about-page .about-portrait img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 43%;
}

/* Long-form sections use the same calm editorial rhythm as the other pages. */
.about-page .about-journey {
  padding: clamp(96px, 9vw, 144px) 0;
  background: #fbfaf5;
}

.about-page .about-editorial-grid,
.about-page .about-thinking-inner,
.about-page .about-networks-grid {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(75px, 9vw, 150px);
  align-items: start;
}

.about-page .about-journey h2,
.about-page .about-thinking h2,
.about-page .about-publications h2,
.about-page .about-networks h2 {
  margin: 0;
  color: #15314A;
  font-size: clamp(2.8rem, 4.7vw, 5rem);
  line-height: 1.06;
  letter-spacing: -.038em;
}

.about-page .about-long-copy {
  max-width: 750px;
}

.about-page .about-long-copy p {
  margin: 0;
  font-size: clamp(1.05rem, 1.18vw, 1.18rem);
  line-height: 1.88;
}

.about-page .about-long-copy p + p {
  margin-top: 1.65rem;
}

/* Only one abstract image moment after the portrait. */
.about-page .about-thinking {
  position: relative;
  overflow: hidden;
  padding: clamp(96px, 9vw, 144px) 0;
  background:
    linear-gradient(110deg, rgba(191,220,229,.24), rgba(247,245,238,.97) 56%, rgba(243,217,120,.10));
  border-block: 1px solid rgba(37,40,42,.04);
}

.about-page .about-thinking-inner {
  position: relative;
  z-index: 2;
}

.about-page .about-thinking-art {
  position: absolute;
  right: -9%;
  bottom: -17%;
  width: min(680px, 49vw);
  opacity: .10;
  pointer-events: none;
}

.about-page .about-thinking-art img {
  width: 100%;
  display: block;
  mix-blend-mode: multiply;
}

/* Publications are typographic, not card-heavy. */
.about-page .about-publications {
  padding: clamp(96px, 9vw, 144px) 0;
  background: #F7F5EE;
}

.about-page .about-publications h2 {
  margin-bottom: clamp(75px, 8vw, 115px);
}

.about-page .publication-list {
  border-top: 1px solid rgba(21,49,74,.16);
}

.about-page .publication-item {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: clamp(35px, 5vw, 80px);
  padding: 34px 0 38px;
  border-bottom: 1px solid rgba(21,49,74,.13);
}

.about-page .publication-year {
  padding-top: .2rem;
  color: #6d777b;
  font-size: .83rem;
  letter-spacing: .09em;
}

.about-page .publication-item p {
  margin: 0;
  line-height: 1.65;
}

.about-page .publication-item a {
  display: inline-block;
  max-width: 950px;
  margin: .45rem 0 .55rem;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 1.7vw, 1.65rem);
  line-height: 1.35;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.about-page .publication-meta {
  max-width: 930px;
  color: #666b6c;
  font-size: .95rem;
}

/* Networks finish the page simply and quietly. */
.about-page .about-networks {
  padding: clamp(84px, 8vw, 124px) 0;
  background: #edf2ef;
}

.about-page .about-networks h2 {
  font-size: clamp(2.5rem, 4vw, 4.3rem);
}

.about-page .network-list {
  max-width: 760px;
}

.about-page .network-list > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 35px;
  padding: 24px 0;
  border-top: 1px solid rgba(21,49,74,.14);
}

.about-page .network-list > div:last-child {
  border-bottom: 1px solid rgba(21,49,74,.14);
}

.about-page .network-list span,
.about-page .network-list strong {
  font-size: clamp(1rem, 1.15vw, 1.14rem);
  line-height: 1.5;
}

.about-page .network-list strong {
  color: #15314A;
  font-weight: 500;
}

@media (max-width: 900px) {
  .about-page .about-hero-grid {
    grid-template-columns: 1fr;
    gap: 65px;
  }

  .about-page .about-portrait {
    width: min(520px, 86vw);
    aspect-ratio: 1 / 1.12;
    justify-self: center;
  }

  .about-page .about-editorial-grid,
  .about-page .about-thinking-inner,
  .about-page .about-networks-grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .about-page .about-thinking-art {
    width: 520px;
    right: -230px;
    opacity: .07;
  }
}

@media (max-width: 650px) {
  .about-page .about-hero {
    padding-top: 65px;
    padding-bottom: 100px;
  }

  .about-page .about-journey,
  .about-page .about-thinking,
  .about-page .about-publications {
    padding-top: 76px;
    padding-bottom: 84px;
  }

  .about-page .publication-item {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .about-page .network-list > div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}


/* =========================================================
   v31 – Kontakt
   ========================================================= */

.contact-page {
  background: #F7F5EE;
  color: #25282A;
}

/* A very quiet hero: typography first, line movement only as atmosphere. */
.contact-page .contact-hero {
  position: relative;
  min-height: clamp(520px, 55vw, 730px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 30%, rgba(243,217,120,.20), transparent 28%),
    linear-gradient(115deg, #f7f5ee 0%, #f8f6ec 58%, #edf3ef 100%);
  border-bottom: 1px solid rgba(37,40,42,.045);
}

.contact-page .contact-hero-inner {
  position: relative;
  z-index: 2;
}

.contact-page .contact-hero .eyebrow {
  margin-bottom: 1.5rem;
}

.contact-page .contact-hero h1 {
  margin: 0;
  max-width: 1000px;
  color: #15314A;
  font-size: clamp(4rem, 6.5vw, 7.3rem);
  line-height: .99;
  letter-spacing: -.048em;
}

.contact-page .contact-hero-subline {
  margin: 1.65rem 0 0;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.75rem, 2.7vw, 3rem);
  line-height: 1.25;
}

.contact-page .contact-hero-lines {
  position: absolute;
  right: -8%;
  bottom: -20%;
  width: min(850px, 60vw);
  opacity: .12;
  pointer-events: none;
}

.contact-page .contact-hero-lines img {
  width: 100%;
  display: block;
  mix-blend-mode: multiply;
}

/* Intro works like a breath before the choices. */
.contact-page .contact-intro {
  padding: clamp(84px, 8vw, 124px) 0;
  background: #fbfaf5;
}

.contact-page .contact-intro-inner {
  max-width: 900px;
}

.contact-page .contact-intro-inner p {
  margin: 0;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.7rem, 2.7vw, 3rem);
  line-height: 1.48;
  letter-spacing: -.018em;
}

.contact-page .contact-intro-inner p + p {
  margin-top: 1.1rem;
}

/* Three paths, visually related but not boxy. */
.contact-page .contact-paths {
  padding: clamp(96px, 9vw, 144px) 0;
  background: #F7F5EE;
}

.contact-page .contact-paths-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(45px, 6vw, 90px);
}

.contact-page .contact-path {
  position: relative;
  padding-top: 36px;
  border-top: 1px solid rgba(21,49,74,.16);
}

.contact-page .contact-path::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 76px;
  height: 2px;
  background: rgba(21,49,74,.28);
}

.contact-page .contact-path-energy::after {
  background: rgba(243,217,120,.95);
}

.contact-page .contact-path-way::after {
  background: rgba(169,184,156,.9);
}

.contact-page .contact-path .eyebrow {
  margin-bottom: 1.15rem;
}

.contact-page .contact-path h2 {
  margin: 0 0 1.7rem;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 2.8vw, 3rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.025em;
}

.contact-page .contact-path p:not(.eyebrow) {
  margin: 0;
  font-size: clamp(1rem, 1.08vw, 1.1rem);
  line-height: 1.78;
}

.contact-page .contact-path .text-link {
  display: inline-flex;
  margin-top: 2rem;
}

/* Direct email closes the page like a quiet signature. */
.contact-page .contact-direct {
  padding: clamp(88px, 8vw, 132px) 0;
  background:
    linear-gradient(115deg, rgba(191,220,229,.17), rgba(247,245,238,.92) 52%, rgba(243,217,120,.12));
  border-top: 1px solid rgba(21,49,74,.06);
}

.contact-page .contact-direct-inner {
  text-align: center;
}

.contact-page .contact-direct-label {
  margin: 0 0 1.4rem;
  color: #70777a;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.contact-page .contact-email {
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 4.2rem);
  line-height: 1.2;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}

.contact-page .contact-direct-note {
  margin: 1.5rem 0 0;
  color: #767b7d;
  font-size: .9rem;
}

@media (max-width: 900px) {
  .contact-page .contact-paths-grid {
    grid-template-columns: 1fr;
    gap: 65px;
  }

  .contact-page .contact-path {
    max-width: 720px;
  }

  .contact-page .contact-hero-lines {
    width: 650px;
    right: -280px;
    opacity: .08;
  }
}

@media (max-width: 650px) {
  .contact-page .contact-hero {
    min-height: 570px;
  }

  .contact-page .contact-intro,
  .contact-page .contact-paths,
  .contact-page .contact-direct {
    padding-top: 76px;
    padding-bottom: 84px;
  }

  .contact-page .contact-email {
    overflow-wrap: anywhere;
  }
}


/* =========================================================
   v32 – hero alignment, section labels, homepage portrait
   ========================================================= */

.hero-section-label {
  margin: 0 0 1.35rem;
  color: #6f7679;
  font-size: .78rem;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 500;
}

/* Match the visual left edge of all subpage hero copy to the homepage. */
.consulting-hero .section-shell,
.energy-hero .section-shell,
.weg-hero .section-shell,
.about-hero .section-shell,
.contact-hero .section-shell {
  width: 100%;
  max-width: none;
  padding-inline: clamp(34px, 7vw, 120px);
}

/* Keep labels and headings as a single aligned hero unit. */
.energy-hero-copy,
.weg-hero-copy {
  position: relative;
  z-index: 2;
}

.energy-hero-copy h1,
.weg-hero-copy h1 {
  margin-top: 0;
}

/* Homepage portrait: integrated into the About composition. */
.about-portrait-wrap {
  position: relative;
  min-height: 500px;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
}

.about-portrait-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(145deg, rgba(126,169,189,.44), rgba(191,220,229,.20) 52%, rgba(243,217,120,.20));
  mix-blend-mode: color;
  pointer-events: none;
}

.about-image-portrait {
  width: 100%;
  height: 100%;
  max-height: none;
  display: block;
  object-fit: cover;
  object-position: 50% 38%;
  filter: grayscale(100%) sepia(.08) contrast(.92) brightness(1.06);
  mix-blend-mode: multiply;
}

@media (max-width: 900px) {
  .consulting-hero .section-shell,
  .energy-hero .section-shell,
  .weg-hero .section-shell,
  .about-hero .section-shell,
  .contact-hero .section-shell {
    padding-inline: var(--gutter);
  }
}

@media (max-width: 650px) {
  .hero-break {
    display: none;
  }

  .hero-section-label {
    margin-bottom: 1rem;
  }

  .brand-tagline {
    font-size: .625rem;
    letter-spacing: .085em;
  }

  .about-portrait-wrap {
    min-height: 410px;
  }
}

/* Consistent keyboard focus and touch targets. */
:where(a, button, summary):focus-visible {
  outline: 2px solid var(--blue-2);
  outline-offset: 4px;
}

.site-footer :where(a, button):focus-visible {
  outline-color: var(--yellow);
}

@media (max-width: 900px) {
  .menu-toggle {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
  }
}

/* Hero system: a generous homepage and compact, equal-height subpages. */
.hero-image {
  height: var(--hero-home-height);
  min-height: var(--hero-home-height);
}

.consulting-hero,
.energie-page .energy-hero-image,
.weg-page .weg-hero,
.about-page .about-hero,
.contact-page .contact-hero {
  height: var(--hero-subpage-height);
  min-height: var(--hero-subpage-height);
}

.consulting-hero-copy,
.energie-page .energy-hero-overlay,
.weg-page .weg-hero-overlay,
.about-page .about-hero-grid,
.contact-page .contact-hero-inner {
  height: 100%;
  min-height: 0;
}

.contact-page .contact-hero-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.beratung-page .consulting-hero,
.about-page .about-hero {
  padding-top: 0;
  padding-bottom: 0;
}

/* Keep the longer consulting introduction inside the compact hero. */
.beratung-page .consulting-hero-copy {
  justify-content: center;
  padding-top: clamp(30px, 4vw, 52px);
  padding-bottom: clamp(30px, 4vw, 52px);
}

.beratung-page .consulting-hero-copy h1 {
  font-size: clamp(3.2rem, 5vw, 6.2rem);
  line-height: .96;
}

.beratung-page .consulting-lead {
  margin-top: clamp(20px, 2.5vw, 34px);
  font-size: clamp(1.12rem, 1.55vw, 1.55rem);
  line-height: 1.38;
}

/* About hero: original photo with a reversible, site-native colour treatment. */
.about-page .about-hero-photo {
  position: relative;
  overflow: hidden;
  background: #dcecf1;
}

.about-page .about-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 48%;
  filter: none;
}

.about-page .about-hero-photo::before {
  content: none;
}

.about-page .about-hero-photo::after {
  content: none;
}

.about-page .about-hero-photo .about-hero-grid {
  position: relative;
  z-index: 2;
  grid-template-columns: minmax(0,1fr) minmax(440px,.92fr);
  align-items: center;
}

.about-page .about-hero-photo .about-hero-copy {
  grid-column: 2;
  padding: clamp(30px, 4vw, 56px);
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.about-page .about-hero-photo .about-hero-copy .eyebrow {
  margin-bottom: 1.1rem;
}

.about-page .about-hero-photo h1 {
  margin-bottom: clamp(24px, 3vw, 40px);
  font-size: clamp(3.2rem, 5vw, 5.7rem);
}

.about-page .about-hero-photo .about-hero-statement {
  margin-top: 1.5rem;
  font-size: clamp(1.18rem, 1.45vw, 1.55rem) !important;
}

@media (max-width: 900px) {
  .about-page .about-hero-photo .about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(330px,.9fr);
    gap: 24px;
  }

  .about-page .about-hero-bg {
    object-position: 44% 48%;
  }

  .about-page .about-hero-photo .about-hero-copy {
    grid-column: 2;
    padding: 30px;
  }

  .about-page .about-hero-photo .about-hero-copy > p:not(.eyebrow) {
    font-size: 1rem;
    line-height: 1.62;
  }
}

@media (max-width: 650px) {
  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.9rem, 13vw, 3.65rem);
  }

  .beratung-page .consulting-lead {
    font-size: 1rem;
    line-height: 1.45;
  }

  .about-page .about-hero-photo .about-hero-grid {
    display: flex;
    align-items: flex-end;
  }

  .about-page .about-hero-bg {
    object-position: 38% 46%;
  }

  .about-page .about-hero-photo .about-hero-copy {
    width: 100%;
    padding: 26px 24px 28px;
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(4px);
  }

  .about-page .about-hero-photo h1 {
    margin-bottom: 18px;
    font-size: clamp(2.7rem, 13vw, 3.8rem);
  }

  .about-page .about-hero-photo .about-hero-statement {
    margin-top: 0;
    font-size: 1.08rem !important;
    line-height: 1.48 !important;
  }
}


/* =========================================================
   v42 – Energiearbeit: clearer rhythm, stronger illustrations
   ========================================================= */

.energie-page .energy-hero-bg {
  object-position: center;
  mix-blend-mode: normal;
  opacity: 1;
}

.energie-page .energy-hero-image::after {
  background: linear-gradient(90deg,
    rgba(255,255,255,.92) 0%,
    rgba(255,255,255,.72) 30%,
    rgba(255,255,255,.25) 49%,
    rgba(255,255,255,0) 64%);
}

/* Only the opening statement and “Neugier reicht.” remain intentionally large. */
.energie-page .energy-arrive h2 {
  max-width: 940px;
  font-size: clamp(3.15rem, 5.35vw, 6rem);
}

.energie-page .energy-open h2,
.energie-page .energy-people-calm h2,
.energie-page .energy-experience-calm h2,
.energie-page .energy-faq-title h2,
.energie-page .energy-practical-heading h2,
.energie-page .energy-contact-copy h2 {
  font-size: clamp(2.15rem, 3.15vw, 3.55rem);
  line-height: 1.1;
  letter-spacing: -.025em;
}

.energie-page .energy-perception-copy p {
  font-size: clamp(1.55rem, 2.25vw, 2.45rem);
  line-height: 1.42;
}

/* A distinct sequence of white, blue and yellow spaces. */
.energie-page .energy-arrive {
  padding: clamp(68px, 6.3vw, 96px) 0;
  background: #fffefd;
}

.energie-page .energy-perception {
  min-height: clamp(440px, 42vw, 560px);
  padding: clamp(56px, 5vw, 78px) 0;
  background:
    radial-gradient(circle at 78% 46%, rgba(126,169,189,.18), transparent 32%),
    linear-gradient(115deg, #edf6f8 0%, #f6fbfc 62%, #e6f1f5 100%);
}

.energie-page .energy-open {
  padding: clamp(72px, 6.6vw, 102px) 0 clamp(88px, 7.5vw, 118px);
  background: linear-gradient(115deg, #fffdf5 0%, #fff6cf 58%, #ffefad 100%);
}

.energie-page .energy-people-calm {
  padding: clamp(72px, 6.8vw, 104px) 0;
  background: #fffefd;
}

.energie-page .energy-experience-calm {
  min-height: 540px;
  padding: clamp(72px, 6.5vw, 100px) 0;
  background:
    radial-gradient(circle at 16% 48%, rgba(243,217,120,.34), transparent 24%),
    linear-gradient(115deg, #eaf4f7 0%, #f5fafb 58%, #e3f0f4 100%);
}

.energie-page .energy-faq {
  padding-top: clamp(72px, 7vw, 105px);
  padding-bottom: clamp(72px, 7vw, 105px);
  background: #fffefd;
}

.energie-page .energy-practical {
  padding: clamp(70px, 6.8vw, 102px) 0;
  background: linear-gradient(115deg, #fffdf5 0%, #fff6cf 60%, #ffefb0 100%);
}

.energie-page .energy-contact {
  background: linear-gradient(115deg, #edf6f8 0%, #f8fbfc 72%, #e5f1f5 100%);
}

.energie-page .energy-contact-inner {
  min-height: 0;
  padding-top: clamp(72px, 6.6vw, 100px);
  padding-bottom: clamp(72px, 6.6vw, 100px);
}

.energie-page .energy-body-copy {
  margin-top: clamp(38px, 4vw, 58px);
}

/* Illustrations are visible components, not faint watermarks. */
.energie-page .energy-background-clarity {
  width: min(620px, 46vw);
  right: 2%;
  opacity: .58;
}

.energie-page .energy-open-waves {
  left: -1%;
  right: -1%;
  bottom: -64px;
  height: 225px;
  opacity: .34;
}

.energie-page .energy-open-waves img {
  width: 102%;
}

.energie-page .energy-experience-light {
  left: 1%;
  width: min(560px, 40vw);
  opacity: .52;
}

.energie-page .energy-perception-copy {
  width: min(690px, 54%);
}

.energie-page .energy-experience-calm-copy {
  width: min(700px, 56%);
}

/* “Neugier reicht.” is the typographic high point of the page. */
.energie-page .energy-people-calm-inner {
  grid-template-columns: .78fr 1.22fr;
  gap: clamp(48px, 7vw, 110px);
}

.energie-page .energy-people-calm .energy-curiosity {
  grid-column: 1 / -1;
  margin: clamp(44px, 5vw, 72px) 0 0 !important;
  color: #15314A;
  font-size: clamp(4.6rem, 9.5vw, 9.5rem) !important;
  line-height: .86 !important;
  letter-spacing: -.055em;
  text-align: right;
}

/* Compact disclosure list for frequent questions. */
.energie-page .energy-faq-list {
  max-width: 1020px;
  margin-left: auto;
  border-bottom: 1px solid rgba(21,49,74,.18);
}

.energie-page .energy-faq-item {
  padding: 0;
  border-top: 1px solid rgba(21,49,74,.18);
}

.energie-page .energy-faq-item summary {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  cursor: pointer;
  list-style: none;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.25;
}

.energie-page .energy-faq-item summary::-webkit-details-marker {
  display: none;
}

.energie-page .energy-faq-toggle {
  flex: 0 0 auto;
  color: #557a95;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 2rem;
  font-weight: 300;
  transition: transform .2s ease;
}

.energie-page .energy-faq-item[open] .energy-faq-toggle {
  transform: rotate(45deg);
}

.energie-page .energy-faq-answer {
  max-width: 760px;
  padding: 0 56px 38px 0;
}

.energie-page .energy-faq-answer p {
  line-height: 1.72;
}

.energie-page .energy-faq-answer p + p {
  margin-top: 1rem;
}

/* Format, duration and price can be scanned in one line. */
.energie-page .energy-practical-heading {
  margin-bottom: clamp(38px, 4vw, 56px);
}

.energie-page .energy-practical-facts {
  display: grid;
  grid-template-columns: 1.25fr 1fr .78fr;
  border-top: 1px solid rgba(21,49,74,.18);
  border-bottom: 1px solid rgba(21,49,74,.18);
}

.energie-page .energy-practical-fact {
  padding: clamp(26px, 3vw, 40px);
}

.energie-page .energy-practical-fact + .energy-practical-fact {
  border-left: 1px solid rgba(21,49,74,.16);
}

.energie-page .energy-fact-label {
  margin: 0 0 1rem;
  color: #657985;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.energie-page .energy-practical-fact h3 {
  margin: 0 0 1rem;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1.2;
}

.energie-page .energy-practical-fact > p:last-child {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

@media (max-width: 850px) {
  .energie-page .energy-perception-copy,
  .energie-page .energy-experience-calm-copy {
    width: 68%;
  }

  .energie-page .energy-background-clarity {
    width: 430px;
    right: -90px;
    opacity: .36;
  }

  .energie-page .energy-experience-light {
    width: 400px;
    left: -120px;
    opacity: .34;
  }

  .energie-page .energy-people-calm-inner {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .energie-page .energy-people-calm .energy-curiosity {
    grid-column: 1;
  }
}

@media (max-width: 700px) {
  .energie-page .energy-hero-image::after {
    background: linear-gradient(90deg,
      rgba(255,255,255,.93) 0%,
      rgba(255,255,255,.78) 58%,
      rgba(255,255,255,.28) 100%);
  }

  .energie-page .energy-hero-bg {
    object-position: 66% center;
  }

  .energie-page .energy-perception {
    min-height: 480px;
  }

  .energie-page .energy-perception-copy,
  .energie-page .energy-experience-calm-copy {
    width: 100%;
  }

  .energie-page .energy-background-clarity {
    width: 340px;
    right: -120px;
    opacity: .22;
  }

  .energie-page .energy-experience-light {
    width: 330px;
    left: -150px;
    opacity: .22;
  }

  .energie-page .energy-people-calm .energy-curiosity {
    font-size: clamp(4.1rem, 20vw, 6.7rem) !important;
    text-align: left;
  }

  .energie-page .energy-faq-title {
    margin-bottom: 36px;
  }

  .energie-page .energy-faq-item summary {
    min-height: 78px;
    font-size: 1.35rem;
  }

  .energie-page .energy-faq-answer {
    padding-right: 0;
    padding-bottom: 30px;
  }

  .energie-page .energy-practical-facts {
    grid-template-columns: 1fr;
  }

  .energie-page .energy-practical-fact {
    padding-inline: 0;
  }

  .energie-page .energy-practical-fact + .energy-practical-fact {
    border-left: 0;
    border-top: 1px solid rgba(21,49,74,.16);
  }
}


/* =========================================================
   v43 – Energiearbeit: yellow focus and two-size type system
   ========================================================= */

.energie-page main {
  --energy-type-display: clamp(2.75rem, 4.5vw, 5rem);
  --energy-type-text: clamp(1.03rem, 1.12vw, 1.14rem);
}

/* The entire page content uses only one text size and one display size. */
.energie-page main :is(p, h3, .eyebrow, .hero-section-label, .button) {
  font-size: var(--energy-type-text) !important;
}

.energie-page main :is(h1, h2, .energy-curiosity) {
  font-size: var(--energy-type-display) !important;
}

.energie-page .energy-hero-image {
  background: #fff2a8;
}

.energie-page .energy-hero-image::after {
  background: linear-gradient(90deg,
    rgba(255,254,247,.94) 0%,
    rgba(255,252,232,.74) 31%,
    rgba(255,247,199,.22) 51%,
    rgba(255,247,199,0) 66%);
}

.energie-page .energy-hero-overlay h1 {
  max-width: 760px;
  line-height: 1.02;
  letter-spacing: -.035em;
}

/* Yellow leads every major color field; blue remains in linework only. */
.energie-page .energy-arrive {
  background: #fffefd;
}

.energie-page .energy-open {
  padding: clamp(72px, 6.5vw, 102px) 0;
  background: linear-gradient(118deg, #fffdf6 0%, #fff7d3 56%, #ffefad 100%);
}

.energie-page .energy-people-calm {
  background: #fffefd;
}

.energie-page .energy-experience-calm {
  background:
    radial-gradient(circle at 17% 48%, rgba(243,217,120,.42), transparent 27%),
    linear-gradient(115deg, #fff8d9 0%, #fffdf5 62%, #fff2bd 100%);
}

.energie-page .energy-faq {
  background: #fffefd;
}

.energie-page .energy-practical {
  background: linear-gradient(115deg, #fffdf5 0%, #fff5c5 60%, #ffeba0 100%);
}

.energie-page .energy-contact {
  background: linear-gradient(115deg, #fff9df 0%, #fffefd 72%, #fff2c0 100%);
}

/* The open course of a session is shown as a visible, high-resolution path image. */
.energie-page .energy-open-inner {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(48px, 6vw, 96px);
  align-items: center;
}

.energie-page .energy-open-copy {
  min-width: 0;
}

.energie-page .energy-open .energy-body-copy {
  max-width: 680px;
  margin: clamp(34px, 3.7vw, 52px) 0 0;
}

.energie-page .energy-open-visual {
  margin: 0;
  min-width: 0;
}

.energie-page .energy-open-visual img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

/* “Neugier reicht.” remains the isolated focal statement without a third size. */
.energie-page .energy-people-calm .energy-curiosity {
  margin-top: clamp(40px, 4.5vw, 64px) !important;
  padding-top: clamp(28px, 3vw, 42px);
  border-top: 2px solid rgba(243,217,120,.95);
  font-weight: 500;
  text-align: right;
}

/* Both FAQ answers are visible immediately in two calm columns. */
.energie-page .energy-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 7vw, 100px);
}

.energie-page .energy-faq-item {
  padding: 30px 0 0;
  border-top: 1px solid rgba(21,49,74,.18);
}

.energie-page .energy-faq-item h3 {
  margin: 0 0 1.45rem;
  color: #15314A;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  line-height: 1.35;
}

.energie-page .energy-faq-item p {
  line-height: 1.72;
}

.energie-page .energy-faq-item p + p {
  margin-top: 1rem;
}

/* The practical section now starts directly with the scan-friendly facts. */
.energie-page .energy-practical-heading {
  margin-bottom: 24px;
}

.energie-page .energy-practical-heading .eyebrow {
  margin: 0;
}

.energie-page .energy-practical-fact h3,
.energie-page .energy-fact-label {
  font-size: var(--energy-type-text) !important;
}

.energie-page .energy-practical-fact h3 {
  font-weight: 600;
}

.energie-page .energy-contact-inner {
  padding-top: clamp(62px, 5.7vw, 88px);
  padding-bottom: clamp(62px, 5.7vw, 88px);
}

.energie-page .energy-contact-copy > p:not(.eyebrow) {
  margin-top: 1.25rem;
}

.energie-page .energy-contact-copy .button {
  margin-top: 1.6rem;
}

@media (max-width: 900px) {
  .energie-page .energy-open-inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .energie-page .energy-open-visual {
    width: min(760px, 100%);
    margin-inline: auto;
  }
}

@media (max-width: 700px) {
  .energie-page main {
    --energy-type-display: clamp(2.55rem, 12vw, 3.8rem);
    --energy-type-text: 1rem;
  }

  .energie-page .energy-hero-image::after {
    background: linear-gradient(90deg,
      rgba(255,254,247,.94) 0%,
      rgba(255,252,232,.78) 58%,
      rgba(255,244,188,.26) 100%);
  }

  .energie-page .energy-people-calm .energy-curiosity {
    font-size: var(--energy-type-display) !important;
    text-align: left;
  }

  .energie-page .energy-faq-grid {
    grid-template-columns: 1fr;
    gap: 46px;
  }

  .energie-page .energy-open-visual {
    margin-top: 6px;
  }
}

/* =========================================================
   v60 – Wegbegleitung: clear yellow-blue editorial flow
   ========================================================= */

.weg-page {
  background: #fff;
}

.weg-page .weg-hero {
  background: #fff;
}

.weg-page .weg-hero-bg {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  mix-blend-mode: normal;
  opacity: .92;
  filter: saturate(1.04) contrast(1.02);
}

.weg-page .weg-hero::after {
  background:
    linear-gradient(180deg, rgba(255,255,255,0) 68%, rgba(255,255,255,.48) 88%, #fff 100%),
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.97) 30%, rgba(255,255,255,.69) 48%, rgba(255,255,255,.08) 69%, rgba(255,255,255,0) 100%);
}

.weg-page .weg-hero-overlay {
  align-items: stretch;
}

.weg-page .weg-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: min(760px, 55%);
  height: 100%;
  padding-top: clamp(72px, 7vw, 100px);
  padding-bottom: clamp(30px, 3.5vw, 48px);
}

.weg-page .weg-hero-heading {
  width: 100%;
}

.weg-page .weg-hero h1 {
  max-width: 760px;
  font-size: clamp(3.15rem, 5vw, 5.7rem);
  line-height: 1;
}

.weg-page .weg-hero-threshold {
  width: min(590px, 100%);
  margin-top: clamp(24px, 3vw, 38px);
  padding: 0 4% 0 0;
}

.weg-page .weg-hero-threshold h2 {
  margin: 0 0 .7rem;
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.48rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1.16;
}

.weg-page .weg-hero-threshold p {
  margin: 0;
  max-width: 58ch;
  color: #40535e;
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  line-height: 1.58;
}

.weg-page .weg-hero-threshold .weg-emphasis {
  margin-top: .8rem !important;
  color: #15314a;
  font-size: clamp(1.12rem, 1.35vw, 1.34rem) !important;
}

.weg-page .weg-perspective-story {
  padding: clamp(82px, 7.5vw, 118px) 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(243,217,120,.24), transparent 25%),
    radial-gradient(circle at 88% 82%, rgba(191,220,229,.22), transparent 24%),
    #fff;
}

.weg-page .weg-story-grid {
  align-items: start;
}

.weg-page .weg-story-kicker {
  margin: 1.15rem 0 0;
  color: #40535e;
  font-size: clamp(1.05rem, 1.18vw, 1.18rem);
  line-height: 1.55;
}

.weg-page .weg-story-quote {
  margin: 0 0 1.35rem;
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 2.2vw, 2.25rem) !important;
  line-height: 1.25 !important;
}

.weg-page .weg-own-way {
  padding: clamp(82px, 7.5vw, 118px) 0 clamp(92px, 8vw, 128px);
  background: linear-gradient(112deg, rgba(255,255,255,.98) 0%, rgba(255,249,219,.72) 58%, rgba(232,244,248,.58) 100%);
}

.weg-page .weg-lines {
  opacity: .16;
}

.weg-page .weg-offers {
  padding: clamp(68px, 6vw, 94px) 0 clamp(82px, 7.5vw, 118px);
  background: #fff;
}

.weg-page .weg-offers-heading {
  margin-bottom: clamp(38px, 4.5vw, 64px);
}

.weg-page .weg-offers-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.3vw, 32px);
}

.weg-page .weg-offer {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-height: 330px;
  padding: clamp(28px, 3vw, 40px);
  background: linear-gradient(120deg, rgba(255,253,245,.98) 0%, rgba(255,246,207,.96) 68%, rgba(235,246,250,.82) 100%);
  border: 1px solid rgba(21,49,74,.06);
}

.weg-page .weg-offer h3 {
  min-height: 2.35em;
  font-size: clamp(1.55rem, 2vw, 2.05rem);
}

.weg-page .weg-offer .weg-price {
  min-height: 1.5em;
}

.weg-page .weg-price-placeholder {
  visibility: hidden;
}

.weg-page .weg-offer p {
  line-height: 1.65;
}

.weg-page .weg-offer .text-link {
  margin-top: 0;
  padding-top: 1.6rem;
}

.weg-page .weg-offer-contact {
  background: linear-gradient(120deg, rgba(255,253,245,.98) 0%, rgba(255,244,196,.9) 58%, rgba(226,241,247,.9) 100%);
}

.weg-page .weg-boundary {
  padding: clamp(70px, 6vw, 96px) 0;
  background: linear-gradient(110deg, rgba(244,249,251,.98), rgba(231,243,247,.88));
  border: 0;
}

@media (max-width: 1000px) {
  .weg-page .weg-hero-copy {
    width: 62%;
  }

  .weg-page .weg-offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .weg-page .weg-offer-contact {
    grid-column: 1 / -1;
    min-height: 250px;
  }
}

@media (max-width: 650px) {
  .weg-page .weg-hero,
  .weg-page .weg-hero-overlay {
    height: auto;
    min-height: 700px;
  }

  .weg-page .weg-hero-bg {
    inset: 0;
    width: 100%;
    object-position: 62% center;
    opacity: .58;
  }

  .weg-page .weg-hero::after {
    background:
      linear-gradient(180deg, rgba(255,255,255,.08) 45%, rgba(255,255,255,.86) 78%, #fff 100%),
      linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.55) 70%, rgba(255,255,255,.2));
  }

  .weg-page .weg-hero-copy {
    width: 100%;
    min-height: 700px;
    padding-top: 108px;
    padding-bottom: 58px;
    justify-content: flex-start;
  }

  .weg-page .weg-hero h1 {
    max-width: 94%;
    font-size: clamp(2.8rem, 13vw, 4rem);
  }

  .weg-page .weg-hero-threshold {
    width: 100%;
    margin-top: auto;
    padding-right: 0;
  }

  .weg-page .weg-perspective-story,
  .weg-page .weg-own-way,
  .weg-page .weg-offers {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .weg-page .weg-offers-grid {
    grid-template-columns: 1fr;
  }

  .weg-page .weg-offer-contact {
    grid-column: auto;
  }

  .weg-page .weg-offer {
    min-height: 0;
  }

  .weg-page .weg-offer h3,
  .weg-page .weg-offer .weg-price {
    min-height: 0;
  }

  .weg-page .weg-price-placeholder {
    display: none;
  }
}

/* =========================================================
   v62 – Wegbegleitung: one landscape, threshold to choices
   ========================================================= */

.weg-page .weg-hero {
  height: clamp(650px, 53vw, 760px);
  min-height: clamp(650px, 53vw, 760px);
  background: #fff;
}

.weg-page .weg-hero-bg {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 1;
  filter: none;
}

.weg-page .weg-hero::after {
  background: linear-gradient(180deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 48%);
}

.weg-page .weg-hero-overlay {
  height: 100%;
  min-height: 0;
  align-items: flex-start;
}

.weg-page .weg-hero-copy {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(320px, 1.08fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: start;
  width: 100%;
  height: auto;
  padding-top: clamp(38px, 4.2vw, 66px);
  padding-bottom: 0;
}

.weg-page .weg-hero h1 {
  max-width: 650px;
  font-size: clamp(3rem, 4.5vw, 5rem);
}

.weg-page .weg-hero-threshold {
  width: min(590px, 100%);
  margin-top: clamp(24px, 3vw, 42px);
  padding: 0;
}

.weg-page .weg-perspective-story {
  padding-top: clamp(70px, 6vw, 96px);
}

.weg-page .weg-own-way {
  position: relative;
  height: clamp(650px, 53vw, 760px);
  min-height: clamp(650px, 53vw, 760px);
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.weg-page .weg-own-way-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center center;
}

.weg-page .weg-own-way-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
  gap: clamp(48px, 7vw, 112px);
  align-items: start;
  padding-top: clamp(48px, 5vw, 78px);
}

.weg-page .weg-own-way h2 {
  max-width: 650px;
  font-size: clamp(2.8rem, 4.2vw, 4.7rem);
}

.weg-page .weg-own-way .weg-body-copy {
  max-width: 650px;
  margin: clamp(18px, 2vw, 30px) 0 0;
}

.weg-page .weg-offers {
  position: relative;
  z-index: 3;
  margin-top: -1px;
  padding-top: 0;
}

.weg-page .weg-offers-grid {
  align-items: stretch;
}

@media (max-width: 900px) {
  .weg-page .weg-hero-copy,
  .weg-page .weg-own-way-inner {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }

  .weg-page .weg-hero h1,
  .weg-page .weg-own-way h2 {
    font-size: clamp(2.7rem, 6vw, 4rem);
  }
}

@media (max-width: 650px) {
  .weg-page .weg-hero,
  .weg-page .weg-hero-overlay,
  .weg-page .weg-own-way {
    height: 820px;
    min-height: 820px;
  }

  .weg-page .weg-hero-bg,
  .weg-page .weg-own-way-bg {
    inset: 0;
    width: 100%;
    height: 100%;
    object-position: center center;
    opacity: 1;
  }

  .weg-page .weg-hero::after {
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 55%);
  }

  .weg-page .weg-hero-copy,
  .weg-page .weg-own-way-inner {
    grid-template-columns: 1fr;
    gap: 20px;
    padding-top: 38px;
  }

  .weg-page .weg-hero-copy {
    min-height: 0;
    padding-bottom: 0;
  }

  .weg-page .weg-hero h1,
  .weg-page .weg-own-way h2 {
    max-width: 100%;
    font-size: clamp(2.55rem, 12vw, 3.55rem);
  }

  .weg-page .weg-hero-threshold,
  .weg-page .weg-own-way .weg-body-copy {
    width: 100%;
    margin-top: 4px;
  }

  .weg-page .weg-own-way-inner {
    padding-bottom: 0;
  }

  .weg-page .weg-offers {
    padding-top: 0;
  }
}

/* =========================================================
   v63 – Wegbegleitung: text above the valley
   ========================================================= */

.weg-page .weg-hero {
  height: var(--hero-subpage-height);
  min-height: var(--hero-subpage-height);
}

.weg-page .weg-hero-copy {
  display: block;
  width: min(680px, 100%);
  margin-inline: auto;
  padding-top: clamp(30px, 3.2vw, 48px);
  text-align: left;
}

.weg-page .weg-hero h1 {
  max-width: 680px;
  font-size: clamp(3rem, 4.3vw, 4.8rem);
}

.weg-page .weg-hero-threshold {
  width: min(590px, 100%);
  margin-top: clamp(16px, 1.8vw, 25px);
}

.weg-page .weg-hero-threshold h2 {
  margin-bottom: .45rem;
}

.weg-page .weg-hero-threshold .weg-emphasis {
  margin-top: .55rem !important;
}

.weg-page .weg-story-kicker {
  width: min(500px, 100%);
  text-align: right;
}

.weg-page .weg-own-way-inner {
  display: block;
  padding-top: clamp(48px, 5vw, 76px);
}

.weg-page .weg-own-way h2,
.weg-page .weg-own-way .weg-body-copy {
  width: min(720px, 100%);
  max-width: 720px;
}

.weg-page .weg-own-way .weg-body-copy {
  margin: clamp(24px, 2.5vw, 38px) 0 0;
}

@media (max-width: 650px) {
  .weg-page .weg-hero,
  .weg-page .weg-hero-overlay {
    height: 720px;
    min-height: 720px;
  }

  .weg-page .weg-hero-copy {
    display: block;
    width: 100%;
    margin: 0;
    padding-top: 30px;
  }

  .weg-page .weg-hero h1 {
    font-size: clamp(2.4rem, 11vw, 3.25rem);
  }

  .weg-page .weg-hero-threshold {
    margin-top: 15px;
  }

  .weg-page .weg-own-way-inner {
    display: block;
    padding-top: 38px;
  }

  .weg-page .weg-story-kicker {
    text-align: right;
  }
}

/* =========================================================
   v64 – preserve the lower artwork and centre the question
   ========================================================= */

.weg-page .weg-hero-bg,
.weg-page .weg-own-way-bg {
  object-position: center bottom;
}

.weg-page .weg-own-way-inner {
  text-align: center;
}

.weg-page .weg-own-way h2,
.weg-page .weg-own-way .weg-body-copy {
  margin-inline: auto;
}

.weg-page .weg-own-way .weg-body-copy {
  margin-top: clamp(24px, 2.5vw, 38px);
}

.weg-page .weg-own-way-emphasis {
  margin-top: clamp(18px, 2vw, 28px) !important;
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.12rem, 1.35vw, 1.34rem) !important;
  font-weight: 600;
  line-height: 1.45 !important;
}

@media (max-width: 650px) {
  .weg-page .weg-hero-bg,
  .weg-page .weg-own-way-bg {
    object-position: center bottom;
  }

  .weg-page .weg-own-way-inner {
    text-align: center;
  }
}

/* =========================================================
   v65 – text and landscape are separate layout rows
   ========================================================= */

.weg-page .weg-hero {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  overflow: hidden;
}

.weg-page .weg-hero-overlay {
  position: relative;
  order: 1;
  width: 100%;
  height: auto;
  min-height: 0;
  padding-block: clamp(36px, 4vw, 58px) clamp(42px, 4.5vw, 66px);
  background: #fff;
}

.weg-page .weg-hero-copy {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.weg-page .weg-hero-heading {
  width: min(680px, 100%);
}

.weg-page .weg-hero-threshold {
  width: min(640px, 100%);
  margin: clamp(34px, 3.5vw, 52px) auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.weg-page .weg-hero-threshold h2,
.weg-page .weg-hero-threshold p,
.weg-page .weg-hero-threshold .weg-emphasis {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.weg-page .weg-hero-bg {
  position: relative;
  order: 2;
  inset: auto;
  width: 100%;
  height: clamp(250px, 21vw, 350px);
  flex: 0 0 auto;
  object-fit: cover;
  object-position: center bottom;
}

.weg-page .weg-hero::after {
  content: none;
}

.weg-page .weg-story-copy p,
.weg-page .weg-strength-copy p {
  font-size: clamp(1.05rem, 1.18vw, 1.18rem);
  line-height: 1.86;
}

.weg-page .weg-strength-copy p + p {
  margin-top: 1.45rem;
}

.weg-page .weg-strength {
  padding: clamp(74px, 7vw, 108px) 0;
  background: #fff;
}

.weg-page .weg-strength-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  gap: clamp(64px, 9vw, 150px);
  align-items: start;
}

.weg-page .weg-strength-copy {
  max-width: 720px;
}

.weg-page .weg-strength h2 {
  margin: 0;
  max-width: 520px;
  color: #15314a;
  font-size: clamp(2.8rem, 4.2vw, 4.7rem);
  line-height: 1.06;
  letter-spacing: -.038em;
}

.weg-page .weg-own-way {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}

.weg-page .weg-own-way-inner {
  position: relative;
  order: 1;
  width: 100%;
  padding-top: clamp(64px, 6vw, 96px);
  padding-bottom: clamp(64px, 6vw, 96px);
  background: #fff;
}

.weg-page .weg-own-way-bg {
  position: relative;
  order: 2;
  inset: auto;
  width: 100%;
  height: clamp(340px, 42vw, 610px);
  flex: 0 0 auto;
  object-fit: cover;
  object-position: center bottom;
}

@media (max-width: 850px) {
  .weg-page .weg-strength-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .weg-page .weg-strength h2 {
    grid-row: 1;
  }

  .weg-page .weg-strength-copy {
    grid-row: 2;
  }
}

@media (max-width: 650px) {
  .weg-page .weg-hero,
  .weg-page .weg-hero-overlay,
  .weg-page .weg-own-way {
    height: auto;
    min-height: 0;
  }

  .weg-page .weg-hero-overlay {
    padding-block: 30px 42px;
  }

  .weg-page .weg-hero-threshold {
    margin-top: 30px;
  }

  .weg-page .weg-hero-bg {
    height: 250px;
  }

  .weg-page .weg-strength {
    padding-block: 66px;
  }

  .weg-page .weg-strength h2 {
    font-size: clamp(2.45rem, 11vw, 3.35rem);
  }

  .weg-page .weg-own-way-inner {
    padding-block: 62px;
  }

  .weg-page .weg-own-way-bg {
    height: 270px;
  }
}

/** =========================================================
   v67 – strategic consulting in the shared blue visual system
   ========================================================= */

.beratung-page {
  --consulting-blue: #2f6f9f;
  --consulting-blue-deep: #153f66;
  --consulting-blue-pale: #dceef5;
  --consulting-yellow: #e1b63b;
  background: #fff;
}

.beratung-page .consulting-hero {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border-bottom: 0;
  background: #fff;
}

.beratung-page .consulting-hero-copy {
  position: relative;
  order: 1;
  min-height: 0;
  padding-top: clamp(44px, 5vw, 76px);
  padding-bottom: clamp(46px, 5vw, 78px);
  justify-content: flex-start;
}

.beratung-page .consulting-hero-copy h1 {
  max-width: 1050px;
  font-size: clamp(3.1rem, 5.5vw, 6.25rem);
  line-height: .98;
}

.beratung-page .consulting-lead {
  max-width: 780px;
}

.beratung-page .consulting-hero-art {
  position: relative;
  order: 2;
  inset: auto;
  width: 100%;
  height: clamp(380px, 38vw, 610px);
  overflow: hidden;
  background: #fff;
}

.beratung-page .consulting-hero-art > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 1;
  mix-blend-mode: normal;
}

.beratung-page .workstyle-icon .icon-accent,
.beratung-page .workstyle-icon circle.icon-accent {
  stroke: var(--consulting-yellow);
}

.beratung-page .project-carousel-section {
  background:
    linear-gradient(180deg, #fff 0%, rgba(220,238,245,.24) 100%);
}

.beratung-page .project-slide,
.beratung-page .project-slide:nth-child(3n+2),
.beratung-page .project-slide:nth-child(3n+3),
.beratung-page .project-slide:nth-child(even) {
  border-color: rgba(21,63,102,.12);
  background:
    linear-gradient(150deg, rgba(255,255,255,.96), rgba(220,238,245,.64));
  box-shadow: 0 20px 56px rgba(21,63,102,.055);
}

.beratung-page .project-art {
  position: relative;
  width: 100%;
  height: 190px;
  margin: -.55rem 0 1.55rem;
  overflow: hidden;
  opacity: 1;
  border-bottom: 1px solid rgba(21,63,102,.11);
  background: rgba(255,255,255,.82);
}

.beratung-page .project-art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.beratung-page .project-highlight strong,
.beratung-page .project-keynotes {
  display: block;
}

.beratung-page .project-keynotes {
  max-width: 42ch;
  margin-top: 1rem;
  color: #526c7d;
  font-size: .94rem;
  font-weight: 400;
  line-height: 1.55;
}

@media (max-width: 700px) {
  .beratung-page .consulting-hero-copy {
    padding-top: 34px;
    padding-bottom: 42px;
  }

  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 3.7rem);
  }

  .beratung-page .consulting-hero-art {
    height: 290px;
  }

  .beratung-page .consulting-hero-art > img:first-child {
    object-position: 66% center;
  }

  .beratung-page .project-art {
    height: 170px;
  }
}

/** =========================================================
   v69 – final cross-page layout refinements (authoritative)
   ========================================================= */

.beratung-page .consulting-hero {
  display: block;
  min-height: 0;
  background: #fff;
}

.beratung-page .consulting-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(430px, 1.08fr);
  gap: clamp(28px, 4vw, 70px);
  align-items: center;
  min-height: clamp(520px, 48vw, 700px);
  padding-top: clamp(42px, 5vw, 72px);
  padding-bottom: clamp(42px, 5vw, 72px);
}

.beratung-page .consulting-hero-copy {
  order: 1;
  min-height: 0;
  padding: 0;
}

.beratung-page .consulting-hero-copy h1 {
  max-width: 720px;
  font-size: clamp(3rem, 4.7vw, 5.6rem);
}

.beratung-page .consulting-hero-art {
  order: 2;
  width: 100%;
  height: clamp(390px, 37vw, 570px);
  overflow: visible;
}

.beratung-page .consulting-hero-art > img:first-child {
  object-fit: contain;
  object-position: center;
}

.beratung-page .project-slide,
.beratung-page .project-slide:nth-child(3n+2),
.beratung-page .project-slide:nth-child(3n+3),
.beratung-page .project-slide:nth-child(even) {
  background: #dceef5;
}

.beratung-page .project-art {
  margin: -.55rem 0 1.55rem;
  border: 0;
  background: transparent;
}

.beratung-page .project-art img {
  mix-blend-mode: multiply;
}

.weg-page .weg-own-way-inner {
  padding-bottom: clamp(20px, 2vw, 32px);
}

.about-page .about-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, transparent 0 46%, rgba(255,255,255,.54) 60%, rgba(255,255,255,.92) 78%, rgba(255,255,255,.97) 100%);
  pointer-events: none;
}

.about-page .publication-item {
  display: block;
  padding: 32px 0 36px;
}

.about-page .publication-year {
  display: block;
  margin-bottom: .55rem;
  padding: 0;
  color: #859095;
  font-size: .78rem;
  font-weight: 400;
  letter-spacing: .04em;
}

@media (max-width: 900px) {
  .beratung-page .consulting-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .9fr);
    gap: 20px;
  }

  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.65rem, 7vw, 4.5rem);
  }
}

@media (max-width: 700px) {
  .beratung-page .consulting-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding-top: 34px;
    padding-bottom: 38px;
  }

  .beratung-page .consulting-hero-art {
    height: 280px;
  }

  .about-page .about-hero-photo::after {
    background: linear-gradient(180deg, transparent 0 42%, rgba(255,255,255,.18) 55%, rgba(255,255,255,.9) 77%, rgba(255,255,255,.97) 100%);
  }
}

/** =========================================================
   v70 – shared line language and collision-safe layouts
   ========================================================= */

.section-accent-line {
  display: block;
  width: 52px;
  height: 2px;
  background: linear-gradient(90deg, #e1b63b, #83bad6);
}

/* Homepage: replace icons with the shared yellow-blue line. */
.hero-pair {
  display: block;
  padding: 8px clamp(18px, 2.5vw, 34px) 0;
  text-align: center;
}

.hero-pair .section-accent-line {
  margin: 0 auto 22px;
}

.hero-pair-text {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-image > img {
  object-position: center center;
}

/* Strategic consulting: full-width working modes and larger integration motif. */
.beratung-page .workstyle-strip {
  width: 100%;
  max-width: none;
  padding-inline: clamp(18px, 3.5vw, 64px);
}

.beratung-page .workstyle-item {
  padding-inline: clamp(24px, 4vw, 68px);
}

.beratung-page .workstyle-item .section-accent-line {
  margin: 0 auto 24px;
}

.beratung-page .consulting-hero-art > img:first-child {
  transform: scale(1.12);
  transform-origin: center;
}

/* Flexible card flow: no fixed text rows, so opened details can never collide. */
.beratung-page .project-carousel {
  align-items: start;
}

.beratung-page .project-slide,
.beratung-page .project-portrait {
  display: flex !important;
  flex-direction: column;
  height: auto;
  min-height: 650px;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.beratung-page .project-client-heading {
  min-height: 0;
  margin: 0 0 1.15rem;
  padding-top: .35rem;
}

.beratung-page .project-context,
.beratung-page .project-highlight {
  min-height: 0;
  margin: 0 0 1.25rem;
  padding-top: 0;
}

.beratung-page .project-details {
  width: 100%;
  margin-top: auto;
}

.beratung-page .project-details[open] {
  margin-top: 1.35rem;
}

/* About: the generated image already contains the pale transition. */
.about-page .about-hero-photo::after {
  content: none;
}

/* Wegbegleitung: same open information system as Energiearbeit. */
.weg-page .weg-offers-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(47,111,159,.2);
  border-bottom: 1px solid rgba(47,111,159,.2);
}

.weg-page .weg-offer,
.weg-page .weg-offer-contact {
  position: relative;
  min-height: 0;
  padding: clamp(30px, 3.5vw, 48px) clamp(26px, 3vw, 44px);
  border: 0;
  border-left: 1px solid rgba(47,111,159,.16);
  background: transparent;
}

.weg-page .weg-offer:first-child {
  border-left: 0;
}

.weg-page .weg-offer::after {
  content: "";
  position: absolute;
  top: 33px;
  right: 32px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(225,182,59,.68);
  box-shadow: 0 0 0 7px rgba(220,238,245,.58);
}

.weg-page .weg-offer-contact {
  grid-column: auto;
}

@media (max-width: 900px) {
  .weg-page .weg-offers-grid {
    grid-template-columns: 1fr;
    border-bottom: 0;
  }

  .weg-page .weg-offer,
  .weg-page .weg-offer:first-child,
  .weg-page .weg-offer-contact {
    grid-column: auto;
    border-left: 0;
    border-bottom: 1px solid rgba(47,111,159,.2);
  }
}

@media (max-width: 700px) {
  .beratung-page .consulting-hero-art > img:first-child {
    transform: scale(1.06);
  }

  .beratung-page .workstyle-strip {
    padding-inline: 0;
  }

  .beratung-page .project-slide,
  .beratung-page .project-portrait {
    min-height: 0;
  }

  .hero-pair {
    padding-inline: 0;
    text-align: left;
  }

  .hero-pair .section-accent-line {
    margin-left: 0;
  }

  .hero-pair-text {
    align-items: flex-start;
  }

  .hero-image > img {
    object-position: 64% center;
  }
}

/** =========================================================
   v71 – consulting hierarchy and equal project cards
   ========================================================= */

.beratung-page .consulting-hero-art > img:first-child {
  transform: scale(1.3);
}

.beratung-page .consulting-hero-tagline {
  max-width: 660px;
  margin-top: clamp(22px, 2.7vw, 36px);
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.18rem, 1.55vw, 1.58rem);
  line-height: 1.45;
}

.beratung-page .workstyle-strip {
  padding-top: clamp(54px, 5.5vw, 82px);
  padding-bottom: clamp(28px, 3vw, 44px);
}

.beratung-page .workstyle-intro {
  grid-column: 1 / -1;
  width: min(900px, calc(100% - 48px));
  margin: 0 auto clamp(38px, 4vw, 58px);
  color: #40535e;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem);
  line-height: 1.68;
  text-align: center;
}

.beratung-page .project-carousel-section {
  padding-top: clamp(44px, 4.5vw, 68px);
}

.beratung-page .project-carousel {
  align-items: stretch;
}

.beratung-page .project-slide,
.beratung-page .project-portrait {
  align-self: stretch;
  height: 100%;
}

.beratung-page .project-client-heading-image {
  display: flex;
  align-items: flex-start;
}

.beratung-page .project-client-heading-image img {
  display: block;
  width: auto;
  height: clamp(31px, 2.25vw, 39px);
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 700px) {
  .beratung-page .consulting-hero-art > img:first-child {
    transform: scale(1.16);
  }

  .beratung-page .workstyle-intro {
    width: min(620px, calc(100% - 48px));
    margin-bottom: 30px;
    text-align: left;
  }

  .beratung-page .project-carousel-section {
    padding-top: 38px;
  }
}

/** v72 strategic overrides – intentionally last in the cascade. */
.beratung-page .consulting-hero {
  overflow: visible;
}

.beratung-page .consulting-hero-inner {
  grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr);
  gap: clamp(24px, 3vw, 52px);
  min-height: clamp(540px, 47vw, 690px);
}

.beratung-page .consulting-hero-copy {
  min-width: 0;
}

.beratung-page .consulting-hero-copy h1 {
  width: 100%;
  max-width: 680px;
  font-size: clamp(2.8rem, 4.25vw, 5.2rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.beratung-page .consulting-hero-art {
  height: clamp(450px, 42vw, 620px);
  overflow: visible;
}

.beratung-page .consulting-hero-art > img:first-child {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

.beratung-page .project-art {
  height: 225px;
  margin-top: -.55rem;
  margin-bottom: 1.35rem;
}

.beratung-page .project-art img {
  object-fit: contain;
}

.beratung-page .consulting-contact {
  padding-top: clamp(3.25rem, 5vw, 5rem);
}

@media (max-width: 1020px) {
  .beratung-page .consulting-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    padding-top: clamp(36px, 5vw, 56px);
    padding-bottom: clamp(36px, 5vw, 56px);
  }

  .beratung-page .consulting-hero-copy h1 {
    max-width: 820px;
    font-size: clamp(2.7rem, 7.3vw, 4.8rem);
  }

  .beratung-page .consulting-hero-art {
    width: min(620px, 88vw);
    height: min(560px, 76vw);
    margin: 0 auto;
  }
}

@media (max-width: 700px) {
  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.35rem, 11.5vw, 3.45rem);
    line-height: 1.02;
  }

  .beratung-page .consulting-hero-tagline {
    font-size: 1.08rem;
  }

  .beratung-page .consulting-hero-art {
    width: min(430px, 96vw);
    height: min(410px, 92vw);
  }

  .beratung-page .project-art {
    height: 195px;
  }
}

/** v73 final strategic layout – must remain last. */
.beratung-page .consulting-hero {
  position: relative;
  display: block;
  min-height: 0;
  overflow: hidden;
}

.beratung-page .consulting-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr);
  gap: clamp(28px, 4vw, 68px);
  align-items: center;
  width: min(1440px, calc(100% - 48px));
  min-height: clamp(560px, 48vw, 690px);
  padding-top: clamp(42px, 5vw, 72px);
  padding-bottom: clamp(42px, 5vw, 72px);
}

.beratung-page .consulting-hero-copy {
  position: relative;
  order: 1;
  min-width: 0;
  padding: 0;
}

.beratung-page .consulting-hero-copy h1 {
  width: auto;
  max-width: 760px;
  font-size: clamp(2.75rem, 4.25vw, 5.15rem);
  line-height: 1;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: auto;
}

.beratung-page .consulting-hero-art {
  position: relative;
  order: 2;
  width: 100%;
  height: clamp(455px, 39vw, 590px);
  margin: 0;
  overflow: hidden;
}

.beratung-page .consulting-hero-art > img:first-child {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center right;
  transform: none;
}

.beratung-page .workstyle-strip {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

.beratung-page .project-art {
  height: 225px;
}

@media (max-width: 1100px) {
  .beratung-page .consulting-hero-inner {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
    gap: 24px;
  }

  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.55rem, 5.2vw, 4rem);
  }
}

@media (max-width: 820px) {
  .beratung-page .consulting-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: min(100% - 40px, 720px);
    min-height: 0;
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .beratung-page .consulting-hero-copy h1 {
    max-width: 700px;
    font-size: clamp(2.55rem, 8.5vw, 4.1rem);
  }

  .beratung-page .consulting-hero-art {
    align-self: center;
    width: min(560px, 100%);
    height: min(470px, 78vw);
  }
}

@media (max-width: 520px) {
  .beratung-page .consulting-hero-inner {
    width: min(100% - 32px, 480px);
    gap: 22px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .beratung-page .consulting-hero-copy h1 {
    font-size: clamp(2.25rem, 11vw, 3.15rem);
  }

  .beratung-page .consulting-hero-art {
    height: min(360px, 88vw);
  }

  .beratung-page .project-art {
    height: 180px;
  }
}

/** v74 – consulting hero follows the Energiearbeit hero system. */
.beratung-page .consulting-hero {
  position: relative;
  display: block;
  width: 100%;
  height: var(--hero-subpage-height);
  min-height: var(--hero-subpage-height);
  overflow: hidden;
  background: #fff;
}

.beratung-page .consulting-hero-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right center;
}

.beratung-page .consulting-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,.98) 40%,
    rgba(255,255,255,.78) 55%,
    rgba(255,255,255,.08) 76%,
    rgba(255,255,255,0) 100%);
  pointer-events: none;
}

.beratung-page .consulting-hero-overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: min(1280px, calc(100% - 48px));
  height: 100%;
  min-height: 0;
  padding-top: clamp(42px, 5vw, 70px);
  padding-bottom: clamp(42px, 5vw, 70px);
}

.beratung-page .consulting-hero-overlay .hero-section-label {
  margin: 0 0 1.45rem;
  color: #15314a;
}

.beratung-page .consulting-hero-overlay h1 {
  max-width: 780px;
  margin: 0;
  color: #15314a;
  font-size: clamp(2.75rem, 4.5vw, 5rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.beratung-page .consulting-hero-tagline {
  max-width: 640px;
  margin: clamp(20px, 2.5vw, 32px) 0 0;
  font-size: clamp(1.08rem, 1.4vw, 1.38rem);
  line-height: 1.48;
}

.beratung-page .project-art,
.beratung-page .project-art img {
  background: #dceef5;
}

.beratung-page .project-art img {
  mix-blend-mode: normal;
}

/** v75 – reduced contact page with wave hero and portrait conversation. */
.contact-page {
  background: #fff;
}

.contact-page .contact-hero {
  position: relative;
  height: var(--hero-subpage-height);
  min-height: var(--hero-subpage-height);
  display: block;
  overflow: hidden;
  background: #fff;
  border-bottom: 0;
  isolation: isolate;
}

.contact-page .contact-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  opacity: .92;
}

.contact-page .contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg,
    rgba(255,255,255,.97) 0%,
    rgba(255,255,255,.89) 42%,
    rgba(255,255,255,.40) 68%,
    rgba(255,255,255,.08) 100%);
  pointer-events: none;
}

.contact-page .contact-hero-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: clamp(38px, 4vw, 58px);
  padding-bottom: clamp(38px, 4vw, 58px);
}

.contact-page .contact-hero h1 {
  max-width: 900px;
  font-size: clamp(3.1rem, 5.1vw, 5.9rem);
  line-height: .98;
}

.contact-page .contact-hero-subline {
  margin-top: clamp(18px, 2.1vw, 30px);
  font-size: clamp(1.55rem, 2.25vw, 2.55rem);
}

.contact-page .contact-conversation {
  padding: clamp(72px, 8vw, 120px) 0;
  background: #fff;
}

.contact-page .contact-conversation-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr);
  gap: clamp(48px, 8vw, 130px);
  align-items: center;
}

.contact-page .contact-conversation-copy {
  max-width: 760px;
}

.contact-page .contact-conversation-copy h2 {
  margin: 0 0 clamp(24px, 3vw, 40px);
  color: #15314a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.6rem, 4.6vw, 5.2rem);
  font-weight: 400;
  line-height: 1.03;
  letter-spacing: -.035em;
}

.contact-page .contact-conversation-copy p {
  margin: 0;
  color: #25282a;
  font-size: clamp(1.03rem, 1.25vw, 1.2rem);
  line-height: 1.72;
}

.contact-page .contact-conversation-copy p + p {
  margin-top: 1.15rem;
}

.contact-page .contact-conversation-copy .contact-email {
  display: inline-block;
  margin-top: clamp(28px, 3vw, 42px);
  color: #15314a;
  font-size: clamp(1.35rem, 2.1vw, 2.2rem);
  line-height: 1.25;
  text-underline-offset: 7px;
}

.contact-page .contact-conversation-portrait {
  display: flex;
  justify-content: center;
}

.contact-page .contact-conversation-portrait img {
  width: min(100%, 280px);
  aspect-ratio: 1;
  display: block;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  border: 8px solid rgba(237,246,248,.85);
  box-shadow: 0 18px 48px rgba(21,49,74,.10);
}

@media (max-width: 760px) {
  .contact-page .contact-hero {
    height: auto;
    min-height: var(--hero-subpage-height);
  }

  .contact-page .contact-hero-bg {
    object-position: 58% center;
    opacity: .72;
  }

  .contact-page .contact-hero::after {
    background: linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.91) 62%,
      rgba(255,255,255,.45) 100%);
  }

  .contact-page .contact-hero-inner {
    min-height: var(--hero-subpage-height);
    height: auto;
  }

  .contact-page .contact-hero h1 {
    max-width: 12ch;
    font-size: clamp(2.55rem, 11vw, 4rem);
  }

  .contact-page .contact-conversation-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .contact-page .contact-conversation-portrait {
    justify-content: flex-start;
  }

  .contact-page .contact-conversation-portrait img {
    width: min(58vw, 230px);
  }
}

@media (max-width: 900px) {
  .beratung-page .consulting-hero::after {
    background: linear-gradient(90deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.98) 58%,
      rgba(255,255,255,.58) 78%,
      rgba(255,255,255,.08) 100%);
  }

  .beratung-page .consulting-hero-overlay h1 {
    max-width: 690px;
    font-size: clamp(2.6rem, 7vw, 4.4rem);
  }
}

@media (max-width: 620px) {
  .beratung-page .consulting-hero {
    height: auto;
    min-height: var(--hero-subpage-height);
  }

  .beratung-page .consulting-hero-bg {
    width: 118%;
    margin-left: -18%;
    opacity: .76;
    object-position: right center;
  }

  .beratung-page .consulting-hero::after {
    background: linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.92) 68%,
      rgba(255,255,255,.44) 100%);
  }

  .beratung-page .consulting-hero-overlay {
    width: min(100% - 32px, 520px);
    height: auto;
    min-height: var(--hero-subpage-height);
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .beratung-page .consulting-hero-overlay h1 {
    font-size: clamp(2.35rem, 11vw, 3.35rem);
  }

  .beratung-page .consulting-hero-tagline {
    max-width: 30ch;
    font-size: 1.05rem;
  }
}

/** v75 – approved project artwork on the homepage consulting blue. */
.beratung-page .project-slide,
.beratung-page .project-slide:nth-child(3n+2),
.beratung-page .project-slide:nth-child(3n+3),
.beratung-page .project-slide:nth-child(even),
.beratung-page .project-art,
.beratung-page .project-art img {
  background: linear-gradient(180deg, #edf6f8 0%, #dcecf1 100%);
}

.beratung-page .project-art img {
  mix-blend-mode: normal;
}

/* Language switch */
.lang-switch{display:flex;align-items:center;gap:.28rem;font-size:.78rem;letter-spacing:.08em;white-space:nowrap;margin-left:6px}.lang-switch a{text-decoration:none;opacity:.55}.lang-switch a[aria-current="page"]{opacity:1;font-weight:700}.lang-switch a:hover{opacity:1}@media(max-width:900px){.lang-switch{margin-left:0;margin-right:6px}.site-header .menu-toggle{order:4}.site-header .lang-switch{order:3}.site-header .main-nav{order:5}}
