
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-normal.7f9d19.woff2) format("woff2");}@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-italic.bceec2.woff2) format("woff2");}@font-face{font-family:"Manrope";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/manrope-normal.a30ddc.woff2) format("woff2");}

  :root { --fd: "Fraunces"; --fb: "Manrope"; --hw: 400; --h1w: 300;
    --ink:#14303F; --paper:#F6F4EF; --mist:#E6E3DC; --brass:#A98B5C; --stone:#5C6670; --card:#FFFFFF; --line:#D8D4CB;
    --r:6px; --r-sm:6px; --rb:999px; --shadow:none; --portrait-r:4px 4px 160px 4px; --portrait-bg:linear-gradient(160deg,#E6E3DC,#D8D4CB);
    --btn:#14303F; --btn-t:#F6F4EF; --hero-bg:var(--paper); --hero-t:var(--ink); --hero-muted:var(--stone);
    --band-bg:rgba(246,244,239,.9); --band-t:#14303F; --band-hover:#E6E3DC; --band-active:#14303F; --band-active-t:#F6F4EF;
    --strip-bg:var(--paper); --strip-t:var(--ink); --strip-num:var(--ink);
    --alt-bg:#E6E3DC; --alt-t:#14303F; --alt-muted:#5C6670; --alt-rule:#14303F; --outcome-bg:#FFFFFF; --outcome-t:#14303F;
    --dark-bg:#14303F; --dark-t:#F6F4EF; --dark-muted:rgba(246,244,239,.7); --dark-btn:#F6F4EF; --dark-btn-t:#14303F; --footer-bg:transparent; }


  :root { box-sizing: border-box; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
  html { scroll-padding-top: calc(env(safe-area-inset-top, 0px) + 76px); scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
  *, *::before, *::after { box-sizing: inherit; }
  body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--fb), system-ui, sans-serif; font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
  h1, h2, h3, .display { font-family: var(--fd), Georgia, serif; font-weight: var(--hw, 400); letter-spacing: var(--hls, -0.01em); line-height: 1.12; margin: 0; }
  h1 { font-size: clamp(2.4rem, 5.6vw, 4.4rem); font-weight: var(--h1w, 300); }
  h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
  h3 { font-size: 1.35rem; }
  p { margin: 0 0 1em; } a { color: inherit; } img { max-width: 100%; }
  .wrap { width: min(1120px, 92vw); margin: 0 auto; } .measure { max-width: 62ch; }
  .topbar .wrap { display: flex; align-items: center; justify-content: space-between; height: 64px; }
  .brand { font-family: var(--fd), serif; font-size: 1.15rem; text-decoration: none; letter-spacing: 0.02em; font-weight: var(--hw,400); }
  .brand span { color: var(--brass); }
  .brand small { display: block; font-family: var(--fb), system-ui, sans-serif; font-size: .8rem; font-weight: 400; letter-spacing: 0; color: var(--stone); line-height: 1.35; margin-top: 3px; max-width: 60ch; }
  .topbar .wrap { height: auto; padding: 12px 0; gap: 20px; }
  @media (max-width: 640px) { .brand small { display: none; } }
  .hero h1 { font-size: clamp(1.7rem, 3.3vw, 2.7rem); line-height: 1.15; }
  .hero h1 span { display: block; }
  .hero h1 .h1-sep { display: flex; align-items: center; gap: 14px; margin: .5em 0; max-width: 22ch; }
  .hero h1 .h1-sep::before { content: "✳"; font-size: .5em; line-height: 1; color: var(--brass); font-style: normal; }
  .hero h1 .h1-sep::after { content: ""; flex: 1; height: 1px; background: var(--brass); opacity: .5; }
  .hero .sub { font-family: var(--fd), Georgia, serif; font-size: clamp(1.15rem, 2vw, 1.5rem); color: var(--brass); margin: 22px 0 0; letter-spacing: .01em; }
  .about .pull { font-family: var(--fd), serif; font-size: 1.3rem; line-height: 1.4; font-weight: var(--hw,400); margin: 26px 0 14px; }
  .midlife-close { font-family: var(--fd), serif; font-size: 1.45rem; line-height: 1.35; font-weight: var(--hw,400); color: var(--brass); margin: 6px 0 26px; }
  .btn { display: inline-block; padding: 14px 24px; border-radius: var(--rb); text-decoration: none; font-weight: 600; font-size: 0.98rem; border: 1.5px solid var(--btn); background: var(--btn); color: var(--btn-t); transition: transform .15s ease; }
  .btn:hover { transform: translateY(-1px); }
  .btn.ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
  .btn.sm { padding: 10px 18px; font-size: 0.9rem; }
  .btn:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid var(--brass); outline-offset: 3px; }
  /* sticky band below hero */
  .band { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 10; background: var(--band-bg); color: var(--band-t); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); backdrop-filter: blur(10px); }
  .band .wrap { display: flex; align-items: center; gap: 6px; height: 60px; overflow-x: auto; scrollbar-width: none; }
  .band .wrap::-webkit-scrollbar { display: none; }
  .band a { text-decoration: none; font-size: .92rem; font-weight: 600; padding: 9px 16px; border-radius: 999px; white-space: nowrap; opacity: .85; }
  .band a:hover { opacity: 1; background: var(--band-hover); }
  .band a.active { background: var(--band-active); color: var(--band-active-t); opacity: 1; }
  .band .cta { margin-left: auto; }
  .topbar .btn { white-space: nowrap; flex-shrink: 0; }
  @media (min-width: 821px) { .band .wrap { flex-wrap: wrap; height: auto; padding: 8px 0; overflow: visible; row-gap: 4px; gap: 2px; } .band a { padding: 9px 12px; font-size: .88rem; } .band .cta { padding-right: 14px; } }
  @media (max-width: 820px) { .band .wrap { padding-right: 24px; } .band .cta { margin-right: 8px; } }
  .hero { padding: clamp(48px, 8vw, 104px) 0 clamp(48px, 7vw, 96px); background: var(--hero-bg); color: var(--hero-t); }
  .hero .wrap { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(32px, 6vw, 96px); align-items: end; }
  .hero .kicker { font-size: 1rem; color: var(--hero-muted); margin-bottom: 26px; }
  .hero h1 em { font-style: var(--em-style, italic); font-weight: var(--h1w,300); color: var(--em-color, inherit); }
  .hero .lead { font-size: 1.2rem; margin: 28px 0 34px; max-width: 54ch; }
  .hero .actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
  .portrait { aspect-ratio: 4/5; border-radius: var(--portrait-r); background: var(--portrait-bg); position: relative; overflow: hidden; }
  .portrait::after { content: "Porträt Maren Weingarten"; position: absolute; inset: auto 0 22px 0; text-align: center; font-size: .85rem; color: var(--stone); }
  @media (max-width: 820px) { .hero .wrap { grid-template-columns: 1fr; } .portrait { max-width: 360px; } }
  .strip { padding: 26px 0; background: var(--strip-bg); color: var(--strip-t); }
  .strip .wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
  .strip p { margin: 0; font-size: 1rem; }
  .strip strong { display: block; font-family: var(--fd), serif; font-weight: var(--hw,400); font-size: 1.5rem; margin-bottom: 4px; color: var(--strip-num); }
  @media (max-width: 820px) { .strip .wrap { grid-template-columns: 1fr; gap: 18px; } }
  section { padding: clamp(64px, 9vw, 120px) 0; }
  .sec-head { display: grid; grid-template-columns: 1fr 1.3fr; gap: 40px; margin-bottom: 44px; align-items: start; }
  .sec-head p { color: var(--stone); font-size: 1.05rem; margin: 0; }
  @media (max-width: 820px) { .sec-head { grid-template-columns: 1fr; gap: 12px; } }
  .paths { display: grid; grid-template-columns: 1fr auto 1fr; gap: 40px; align-items: stretch; }
  .path.p1 { background: var(--ink); color: var(--paper); border-color: var(--ink); border-top-color: var(--brass); }
  .path.p1 h3 { color: var(--paper); } .path.p1 .for { color: rgba(246,244,239,.72); } .path.p1 li { color: rgba(246,244,239,.92); }
  .path.p1 .btn { background: var(--paper); color: var(--ink); border-color: var(--paper); }
  .path.p2 { background: var(--card); }
  .paths-divider { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: var(--brass); }
  .paths-divider::before, .paths-divider::after { content: ""; flex: 1; width: 1px; background: var(--line); }
  .paths-divider span { font-family: var(--fd), serif; font-style: italic; font-size: 1.15rem; line-height: 1; letter-spacing: .04em; }
  .path { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 40px; display: flex; flex-direction: column; box-shadow: var(--shadow); }
  .path { border-top: 3px solid var(--brass); }
  .path .tag { font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); font-weight: 600; margin-bottom: 14px; }
  .path h3 { font-size: 1.7rem; margin-bottom: 8px; } .path .for { color: var(--stone); margin-bottom: 20px; }
  .path ul { margin: 0 0 28px; padding-left: 1.1em; } .path li { margin-bottom: 6px; }
  .path .foot { margin-top: auto; display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
  @media (max-width: 820px) { .paths { grid-template-columns: 1fr; } .path { padding: 28px; } .paths-divider { flex-direction: row; gap: 18px; } .paths-divider::before, .paths-divider::after { width: auto; height: 1px; } }
  .program { background: var(--alt-bg); color: var(--alt-t); }
  .program .sec-head p, .program .module p, .program .facts span, .program .pilot p { color: var(--alt-muted); }
  .modules { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 40px 0; }
  .module { padding-top: 18px; border-top: 2px solid var(--alt-rule); }
  .module::before { display: block; font-size: .85rem; color: var(--alt-muted); margin-bottom: 8px; }
  .module:nth-child(1)::before { content: "Woche 1–2"; } .module:nth-child(2)::before { content: "Woche 3"; } .module:nth-child(3)::before { content: "Woche 4–5"; } .module:nth-child(4)::before { content: "Woche 6"; }
  .module h3 { margin-bottom: 8px; } .module p { font-size: .98rem; margin: 0; }
  @media (max-width: 820px) { .modules { grid-template-columns: 1fr 1fr; } } @media (max-width: 520px) { .modules { grid-template-columns: 1fr; } }
  .outcome { background: var(--outcome-bg); color: var(--outcome-t); border-left: 3px solid var(--brass); border-radius: var(--r-sm); padding: 26px 30px; font-family: var(--fd), serif; font-size: 1.35rem; line-height: 1.4; max-width: 70ch; font-weight: var(--hw,400); }
  .facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 40px; }
  .facts div { border-top: 1px solid var(--alt-rule); padding-top: 14px; }
  .facts b { display: block; font-family: var(--fd), serif; font-size: 1.4rem; font-weight: var(--hw,400); }
  .facts span { font-size: .95rem; }
  @media (max-width: 820px) { .facts { grid-template-columns: 1fr 1fr; } }
  .pilot { margin-top: 44px; padding: 30px 34px; border: 1.5px dashed var(--brass); border-radius: var(--r); display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
  .pilot h3 { margin-bottom: 6px; } .pilot p { margin: 0; }
  @media (max-width: 820px) { .pilot { grid-template-columns: 1fr; } }
  .test-wrap { display: grid; grid-template-columns: 1fr 1.2fr; gap: 48px; align-items: start; }
  @media (max-width: 900px) { .test-wrap { grid-template-columns: 1fr; } }
  .dims { list-style: none; margin: 28px 0 0; padding: 0; }
  .dims li { padding: 12px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: 150px 1fr; gap: 16px; font-size: .98rem; }
  .dims li b { font-weight: 600; } .dims li span { color: var(--stone); }
  @media (max-width: 520px) { .dims li { grid-template-columns: 1fr; gap: 2px; } }
  .quiz { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); padding: 36px; min-height: 420px; position: relative; box-shadow: var(--shadow); }
  .quiz .progress { height: 3px; background: var(--mist); border-radius: 2px; margin-bottom: 30px; overflow: hidden; }
  .quiz .progress i { display: block; height: 100%; background: var(--brass); width: 0; transition: width .3s ease; }
  .quiz .dim-label { font-size: .85rem; color: var(--brass); font-weight: 600; margin-bottom: 10px; }
  .quiz .statement { font-family: var(--fd), serif; font-size: 1.45rem; line-height: 1.35; min-height: 4.2em; margin-bottom: 26px; font-weight: var(--hw,400); }
  .scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
  .scale button { appearance: none; border: 1.5px solid var(--line); background: transparent; color: var(--ink); border-radius: var(--r-sm); padding: 16px 4px 12px; cursor: pointer; font: inherit; display: flex; flex-direction: column; align-items: center; gap: 6px; transition: border-color .15s, background .15s; }
  .scale button b { font-family: var(--fd), serif; font-size: 1.4rem; font-weight: var(--hw,400); }
  .scale button small { font-size: .72rem; color: var(--stone); line-height: 1.2; text-align: center; }
  .scale button:hover, .scale button.sel { border-color: var(--ink); background: var(--mist); }
  .quiz .meta { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; font-size: .9rem; color: var(--stone); }
  .linkbtn { appearance: none; border: 0; background: none; color: var(--ink); text-decoration: underline; cursor: pointer; font: inherit; font-size: .9rem; padding: 0; }
  .start { text-align: center; padding: 30px 0; } .start p { color: var(--stone); }
  .result h3 { font-size: 2rem; margin: 6px 0 12px; } .result .profile-kicker { color: var(--brass); font-weight: 600; font-size: .9rem; }
  .bars { margin: 26px 0; }
  .bar { display: grid; grid-template-columns: 140px 1fr 36px; gap: 12px; align-items: center; font-size: .92rem; margin-bottom: 10px; }
  .bar i { display: block; height: 8px; background: var(--mist); border-radius: 4px; overflow: hidden; }
  .bar i b { display: block; height: 100%; background: var(--ink); width: 0; transition: width .6s ease; } .bar i b.low { background: var(--brass); }
  .bar span:last-child { text-align: right; color: var(--stone); }
  .reco { border-top: 1px solid var(--line); padding-top: 22px; margin-top: 22px; } .reco p { margin-bottom: 14px; }
  .reco .actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
  .two { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
  @media (max-width: 820px) { .two { grid-template-columns: 1fr; } }
  .list-clean { list-style: none; padding: 0; margin: 20px 0; } .list-clean li { padding: 10px 0; border-top: 1px solid var(--line); }
  .price { font-family: var(--fd), serif; font-size: 2.2rem; font-weight: var(--hw,400); } .price small { font-family: var(--fb); font-size: .9rem; color: var(--stone); margin-left: 8px; }
  .lead-block { background: var(--dark-bg); color: var(--dark-t); }
  .lead-block .btn { background: var(--dark-btn); color: var(--dark-btn-t); border-color: var(--dark-btn); }
  .lead-block .stone { color: var(--dark-muted); } .lead-block .two h2 { color: var(--dark-t); }
  .quotes { font-family: var(--fd), serif; font-size: 1.3rem; line-height: 1.45; color: var(--stone); font-style: italic; font-weight: var(--hw,400); } .quotes p { margin-bottom: .6em; }
  .about .wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
  @media (max-width: 820px) { .about .wrap { grid-template-columns: 1fr; } }
  .about .portrait { aspect-ratio: 4/5; border-radius: var(--r); } .about .portrait::after { content: "Porträt 2"; }
  details { border-top: 1px solid var(--line); padding: 18px 0; } details:last-of-type { border-bottom: 1px solid var(--line); }
  summary { cursor: pointer; font-weight: 600; font-size: 1.05rem; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
  summary::-webkit-details-marker { display: none; }
  summary::after { content: "+"; font-family: var(--fd), serif; font-size: 1.4rem; line-height: 1; color: var(--brass); } details[open] summary::after { content: "–"; }
  details p { margin: 14px 0 0; color: var(--stone); max-width: 70ch; }
  .cta .box { border: 1px solid var(--line); border-radius: var(--r); padding: clamp(32px, 5vw, 64px); background: var(--card); display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; box-shadow: var(--shadow); }
  @media (max-width: 820px) { .cta .box { grid-template-columns: 1fr; } }
  footer { border-top: 1px solid var(--line); padding: 36px 0 48px; font-size: .9rem; color: var(--stone); background: var(--footer-bg); }
  footer .wrap { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; } footer a { color: var(--stone); }
  .portrait.has-img::after { display:none; } .portrait img, .midimg img { width:100%; height:100%; object-fit:cover; display:block; }
  .kompass { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; margin: 40px 0 8px; counter-reset: k; }
  .kompass div { border-top: 2px solid var(--brass); padding-top: 14px; counter-increment: k; }
  .kompass div::before { content: counter(k, decimal-leading-zero); display: block; font-family: var(--fd), serif; font-size: 1.3rem; color: var(--brass); margin-bottom: 6px; }
  .kompass b { display: block; font-family: var(--fd), serif; font-weight: var(--hw,400); font-size: 1.25rem; margin-bottom: 6px; }
  .kompass p { font-size: .95rem; color: var(--stone); margin: 0; }
  @media (max-width: 900px) { .kompass { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 520px) { .kompass { grid-template-columns: 1fr; } }
  .midlife-intro { font-family: var(--fd), serif; font-size: 1.45rem; line-height: 1.4; font-weight: var(--hw,400); max-width: 40ch; margin: 0 0 22px; }
  .faq-group { font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); font-weight: 600; margin: 34px 0 10px; } .faq-group:first-of-type { margin-top: 0; } details + .faq-group { border-top: 1px solid var(--line); padding-top: 30px; margin-top: 0; }
  .legal { padding: 48px 0 0; } .legal details p { max-width: 80ch; }
  .midimg { aspect-ratio: 3/4; max-width: 340px; border-radius: var(--portrait-r); overflow:hidden; margin-bottom: 26px; }
  

/* ---- Ergaenzungen des Build-Skripts (build/build.py) -------------------- */

/* Notwendig wegen der Umstellung auf <picture>: das Bild lag vorher direkt in
   .portrait bzw. .midimg und bezog "height:100%" auf diesen Container. Ein
   <picture> ist standardmaessig display:inline und wuerde die Hoehe auf auto
   zusammenfallen lassen. Das hier stellt den vorherigen Zustand wieder her -
   es ist keine Layoutaenderung, sondern deren Verhinderung. */
.portrait picture,
.midimg picture { display: block; width: 100%; height: 100%; }

@media (max-width: 640px) {
  /* Wisch-Hinweis: die Sektions-Navigation scrollt horizontal
     (.band .wrap hat overflow-x:auto), ohne sichtbaren Hinweis darauf.
     Der Verlauf am rechten Rand zeigt, dass dort noch etwas kommt.
     .band ist position:sticky und damit ein Positionierungskontext. */
  .band::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 40px;
    pointer-events: none;
    background: linear-gradient(to right, rgba(246, 244, 239, 0), rgba(246, 244, 239, .98));
  }

  /* Tipphoehe der Footer-Links auf mindestens 44px. inline-flex laesst die
     Links in der Zeile, vergroessert aber die Trefferflaeche. */
  footer .wrap a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
/* V0.5 */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:4px 0 0}
.offer{border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:var(--r);padding:26px 26px 24px;display:flex;flex-direction:column;background:var(--card)}
.offer .tag{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:10px}
.offer h2{font-size:clamp(1.45rem,2.4vw,1.9rem);line-height:1.15;margin-bottom:10px}
.offer p{color:var(--stone);margin:0 0 22px;font-size:1rem}
.offer .btn{margin-top:auto;align-self:flex-start}
.offer.o1{background:var(--ink);border-color:var(--ink);border-top-color:var(--brass)}
.offer.o1 h2{color:var(--paper)}
.offer.o1 p{color:rgba(246,244,239,.78)}
.offer.o1 .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
#wege .sec-head{grid-template-columns:1fr}
.paths{grid-template-rows:auto 1fr;row-gap:22px}
.paths-divider{grid-row:span 2}
.path-col{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:22px}
.path-intro{color:var(--stone);font-size:1.05rem;margin:0}
.paths-close{text-align:center;max-width:62ch;margin:48px auto 0;font-size:1.15rem;line-height:1.55}
@media (max-width:820px){.paths{grid-template-rows:none}.paths-divider{grid-row:auto}.path-col{grid-row:auto;grid-template-rows:auto 1fr}}

/* Kundenstimmen (#stimmen) */
.voices h2{margin:0 0 44px}
.voices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
.voice{margin:0;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--brass);border-radius:var(--r);padding:40px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}
.voice [hidden]{display:none!important}
.voice-mark{display:block;font-family:var(--fd),serif;font-size:4.5rem;line-height:1;height:.9em;margin:-.5em 0 -.15em;color:var(--brass)}
.voice blockquote{margin:0;display:flex;flex-direction:column;gap:14px}
.voice blockquote p{margin:0}
.voice div.voice-rest{display:flex;flex-direction:column;gap:14px}
.voice-key{font-family:var(--fd),serif;font-style:italic;font-size:1.2em;line-height:1.45;color:var(--ink)}
.voice-btn{background:none;border:0;padding:10px 2px;margin:-10px 0;min-height:44px;font:inherit;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px;cursor:pointer}
.voice-btn:hover{color:var(--brass)}
.voice-btn:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:2px}
.voice figcaption{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.voice-name{font-weight:600;color:var(--ink)}
.voice-role{font-size:.92rem;color:var(--stone)}
@media (max-width:820px){.voices h2{margin-bottom:28px}.voices-grid{grid-template-columns:1fr;gap:24px}.voice{padding:28px}}

/* Abstand zwischen direkt aufeinanderfolgenden Abschnitten mit gleichem Hintergrund leicht verringern */
#midlife,#mentoring,#stimmen,#faq,section.cta{padding-top:clamp(32px,4.5vw,60px)}
