/* ============================================================
   MehrWert Vermögen – Feinschliff (seitenweit, überschreibt Basis)
   ============================================================ */

/* Typografie: leichter, ruhiger */
h1,h2,h3,h4{ font-weight:600 !important; letter-spacing:-.005em; text-wrap:balance; }
.page-head{ padding-top:96px; padding-bottom:48px; }
.page-head h1{ font-size:54px; line-height:1.08; letter-spacing:-.015em; }
.page-head .lead,.lead{ font-size:17.5px; line-height:1.7; }
p{ text-wrap:pretty; }

.eyebrow{ font-size:12px; font-weight:700; letter-spacing:.18em; }
.eyebrow--sm{ font-size:11px; letter-spacing:.16em; }

.rule-head{ font-size:18px; font-weight:600; letter-spacing:.005em; gap:20px; }
.rule-head::after{ background:linear-gradient(90deg,#d9d1bd,rgba(217,209,189,0)); }

/* Mehr Luft zwischen Abschnitten */
.section{ padding-top:88px; padding-bottom:88px; }
.section--flush-top{ padding-bottom:88px; }

/* Buttons: feiner */
.btn{ font-weight:600; letter-spacing:.01em; padding:15px 28px; }
.btn--sm{ padding:12px 20px; }
.textlink{ font-weight:600; }

/* Karten: zarte Akzente statt dicker Balken */
.card{ border-radius:14px; border-color:#e6e2d7; }
.card--l-green,.card--l-gold,.card--l-red{ border-left-width:2px; }
.card--t-green,.card--t-teal,.card--t-red{ border-top-width:2px; }
.card--shadow{ box-shadow:0 18px 40px rgba(20,63,55,.08); }
.info-box{ border-left-width:2px; border-radius:14px; }
.stat-box{ border-radius:18px; border-color:#e6e2d7; }

/* Ziffern & Kennzahlen */
.numbered .num{ font-weight:500; font-size:38px; line-height:1; }
.numbered h3{ margin-top:16px; }
.stat .val,.metric .val{ font-weight:600; }
.perf-row--head{ font-weight:700; letter-spacing:.1em; font-size:11.5px; }
.perf-row .name{ font-weight:600; }

/* Hexagone → feine Kreise */
.hex svg{ display:none; }
.hex{ border-radius:50%; border:1px solid var(--gold); background:transparent; }
.hex span{ color:var(--green-dark); font-weight:600; }
.hex--step{ width:48px; height:48px; }
.hex--lg{ width:58px; height:58px; }
.hex--check{ width:26px; height:26px; }
.hex--check span{ font-size:12px; font-weight:700; color:var(--green-bright); }
.band-green .hex span{ color:#fff; }
.hex-watermark{ display:none; }

/* Bilder & Team */
.team-photo{ border-radius:12px; border-color:#e6e2d7; }
.advisor img{ border-width:1px; }

/* Grüne Flächen: etwas ruhiger */
.band-green{ border-radius:18px; }
.quote-band{ border-radius:18px; }

/* ============================================================
   Edel & fein – ruhige Typografie, Haarlinien, präzise Kanten
   ============================================================ */
:root{ --radius:4px; --hair:#e4ddcc; }
body{ font-size:16.5px; line-height:1.7; letter-spacing:.003em; color:#2a332f; }
::selection{ background:#efe6d6; color:var(--green-dark); }

/* Überschriften: feiner Schnitt, enger Satz */
h1,h2,h3,h4{ font-weight:500 !important; letter-spacing:-.012em; }
.page-head h1{ font-size:52px; line-height:1.08; }
.hero h1{ font-size:66px; line-height:1.04; }
.cta-band h2{ font-size:34px; }
.accent,.accent--rose{ font-weight:400; }

/* Eyebrow mit Haarlinie */
.eyebrow,.hero__eyebrow{ font-size:11px !important; font-weight:600; letter-spacing:.26em !important; }
.eyebrow::before,.hero__eyebrow::before{ content:""; display:inline-block; width:32px; height:1px; background:currentColor; opacity:.7; vertical-align:middle; margin:-2px 14px 0 0; }
.eyebrow--sm::before{ width:20px; margin-right:10px; }

/* Abschnittsköpfe: klare Haarlinie statt Verlauf */
.rule-head{ font-size:21px; font-weight:500; color:var(--green-dark); letter-spacing:-.005em; }
.rule-head::after{ background:var(--hair) !important; }

/* Ziffern & Kennzahlen: leicht, kursiv, golden */
.numbered .num{ font-weight:400; font-style:italic; font-size:40px; color:#b5a27c; }
.stat .val,.metric .val{ font-weight:500; letter-spacing:-.01em; }
.stat .lbl,.metric .lbl{ letter-spacing:.01em; }

/* Buttons: schmal, gesperrt, präzise Kante */
.btn,.nav-pill,.pdf-btn,.report-btn,.footer-shop,.mobile-actions a,.subnav a,.tag-badge{
  border-radius:2px !important; text-transform:uppercase; letter-spacing:.14em; font-weight:600;
}
.btn{ font-size:12.5px; padding:18px 32px; border-width:1px; }
.btn--sm{ padding:14px 24px; font-size:12px; }
.nav-pill{ font-size:11.5px; padding:11px 20px; border-width:1px !important; }
.btn--ghost:hover,.nav-pill--ghost:hover{ background:var(--green); color:#fff; border-color:var(--green); }
.textlink{ font-weight:600; letter-spacing:.02em; border-bottom:1px solid currentColor; padding-bottom:2px; }
.hero__link,.numbered .more{ letter-spacing:.02em; font-weight:600; }

/* Karten, Boxen, Bilder: Haarlinien, kaum Rundung */
.card,.stat-box,.info-box,.contact-aside,.login-card,.form-ok,.report-row,.compare-neg,.compare-pos,
.band-green,.quote-band,.dropdown-inner,.imgband,.team-photo{ border-radius:4px !important; }
.card,.stat-box,.info-box,.contact-aside,.report-row{ border-color:var(--hair); }
.card{ background:#fffefb; }
.card--shadow{ box-shadow:0 1px 0 var(--hair), 0 24px 48px -28px rgba(15,52,44,.18); }
.card--l-green,.card--l-gold,.card--l-red{ border-left-width:1px; }
.card--t-green,.card--t-teal,.card--t-red{ border-top-width:1px; }
.info-box{ border-left-width:1px; }
.pill{ border-radius:2px; font-weight:500; letter-spacing:.02em; }
main img{ border-radius:3px; }
.advisor img{ border:1px solid #c0b098; border-radius:50% !important; }
.dropdown-inner{ box-shadow:0 18px 40px -18px rgba(15,52,44,.22); }
.dropdown-inner a{ font-weight:500; border-radius:2px; }

/* Navigation: ruhiger, feiner */
.site-header{ background:rgba(255,253,248,.97); border-bottom-color:var(--hair); }
.nav{ padding-top:16px; padding-bottom:16px; }
.nav-logo{ height:50px; }
.nav-left{ font-size:13.5px; font-weight:500; letter-spacing:.02em; gap:32px; }
.caret{ font-size:8px; opacity:.8; }

/* Formulare */
.form input,.form select,.form textarea,.login-card input{
  border-radius:2px; background:#fffefb; border-color:var(--hair); font-size:15px; padding:15px 16px;
}
.form input:focus,.form select:focus,.form textarea:focus,.login-card input:focus{
  outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(15,76,61,.10);
}

/* Mehr Luft */
.section{ padding-top:104px; padding-bottom:104px; }
.section--flush-top{ padding-bottom:104px; }
.section--tight{ padding-top:56px; padding-bottom:56px; }

/* Footer */
.footer-logo{ height:50px; }
.footer-col .f-label,.footer-claim{ font-weight:600; letter-spacing:.22em; }
.footer-links{ font-size:14px; letter-spacing:.01em; }

@media (max-width:980px){
  .page-head h1{ font-size:36px; }
  .hero h1{ font-size:42px; }
  .section{ padding-top:72px; padding-bottom:72px; }
  .vv-hero{ min-height:360px !important; }
  .vv-hero img{ object-position:62% 38% !important; }
}
.pull{ border-left:1px solid #c0b098; }
.pull p{ font-weight:400; }
.quote-band p{ font-weight:400; }

/* Rote Überschriften (Eyebrows) wieder präsenter */
.eyebrow,.hero__eyebrow{ font-size:13.5px !important; font-weight:700; letter-spacing:.2em !important; }
.eyebrow--sm{ font-size:12.5px !important; letter-spacing:.18em !important; }

/* ============================================================
   Navigation verschmilzt mit dem Titelbild
   ============================================================ */
body.header-over .site-header{
  position:fixed; left:0; right:0; top:0; background:transparent; border-bottom-color:transparent;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  transition:background .4s ease, border-color .4s ease, box-shadow .4s ease;
}
body.header-over .site-header::before{
  content:""; position:absolute; left:0; right:0; top:0; height:150px; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(9,38,31,.55) 0%, rgba(9,38,31,.22) 55%, rgba(9,38,31,0) 100%);
  transition:opacity .4s ease;
}
body.header-over:not(.header-solid) .nav-left > .dropdown > .nav-link,
body.header-over:not(.header-solid) .nav-left > .nav-link{ color:#fff; }
body.header-over:not(.header-solid) .nav-left > .nav-link--red,
body.header-over:not(.header-solid) .caret{ color:#f0c6c8; }
body.header-over:not(.header-solid) .nav-pill--ghost{ color:#fff; border-color:rgba(255,255,255,.7) !important; }
body.header-over:not(.header-solid) .nav-pill--ghost:hover{ background:#fff; color:var(--green-dark); border-color:#fff !important; }
body.header-over:not(.header-solid) .nav-pill--solid{ background:#fff; color:var(--green-dark); border-color:#fff !important; }
body.header-over:not(.header-solid) .hamburger{ color:#fff; }
body.header-over.header-solid .site-header{
  background:rgba(255,253,248,.97); border-bottom-color:var(--hair); box-shadow:0 10px 30px -24px rgba(15,52,44,.35);
}
body.header-over.header-solid .site-header::before{ opacity:0; }

/* Titelbild reicht bis ganz nach oben */
main > section.over-hero:not(.hero){ padding-top:92px; }
.hero.over-hero{ height:720px; }
.hero.over-hero .hero__inner{ top:84px; }
.vv-hero.over-hero{ min-height:clamp(440px,36vw,540px) !important; }
@media (max-width:980px){
  .hero.over-hero{ height:620px; }
  main > section.over-hero:not(.hero){ padding-top:80px; }
  .vv-hero.over-hero{ min-height:440px !important; }
}

/* Transparente Navigation: größer und kräftiger */
body.header-over .nav{ padding-top:22px; padding-bottom:22px; }
body.header-over:not(.header-solid) .nav-logo{ height:62px !important; }
body.header-over .site-header::before{
  height:210px;
  background:linear-gradient(180deg, rgba(8,34,28,.78) 0%, rgba(8,34,28,.42) 50%, rgba(8,34,28,0) 100%);
}
body.header-over:not(.header-solid) .nav-left{ font-size:16.5px; font-weight:600; gap:38px; letter-spacing:.015em; }
body.header-over:not(.header-solid) .nav-left > .dropdown > .nav-link,
body.header-over:not(.header-solid) .nav-left > .nav-link{ text-shadow:0 1px 14px rgba(0,0,0,.45); }
body.header-over:not(.header-solid) .nav-left > .nav-link--red{ color:#f7d4d6; }
body.header-over:not(.header-solid) .caret{ font-size:10px; color:#f7d4d6; }
body.header-over:not(.header-solid) .nav-pill{ font-size:13px; padding:15px 26px; }
body.header-over:not(.header-solid) .nav-pill--ghost{ border:1.5px solid #fff !important; background:rgba(8,34,28,.25); }
body.header-over .nav-logo,body.header-over .nav-left,body.header-over .nav-pill,body.header-over .nav{ transition:all .35s ease; }
.hero.over-hero{ height:740px; }
.hero.over-hero .hero__inner{ top:100px; }
main > section.over-hero:not(.hero){ padding-top:108px; }
@media (max-width:980px){
  body.header-over:not(.header-solid) .nav-logo{ height:48px !important; }
  body.header-over .nav{ padding-top:16px; padding-bottom:16px; }
  body.header-over:not(.header-solid) .hamburger{ font-size:30px; text-shadow:0 1px 12px rgba(0,0,0,.45); }
  main > section.over-hero:not(.hero){ padding-top:84px; }
}

/* Menüpunkte mit feiner Unterstreichung; aktive Seite hervorgehoben */
.nav-left > .dropdown > .nav-link,.nav-left > .nav-link{ position:relative; padding:8px 0; }
.nav-left > .dropdown > .nav-link::after,.nav-left > .nav-link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:#c0b098; transform-origin:left center; transition:transform .3s ease, background .3s ease, height .2s ease;
}
.nav-left > .dropdown:hover > .nav-link::after,.nav-left > .nav-link:hover::after{ background:var(--green); height:2px; }
.nav-left .is-active::after{ background:#910b0f !important; height:2px !important; }
.nav-left .nav-link.is-active{ color:var(--green-dark); }
.dropdown-inner a.is-active{ color:#910b0f; background:var(--cream-2); }

body.header-over:not(.header-solid) .nav-left{ font-size:17px; font-weight:700; }
body.header-over:not(.header-solid) .nav-left > .dropdown > .nav-link::after,
body.header-over:not(.header-solid) .nav-left > .nav-link::after{ background:rgba(255,255,255,.6); height:1.5px; }
body.header-over:not(.header-solid) .nav-left > .dropdown:hover > .nav-link::after,
body.header-over:not(.header-solid) .nav-left > .nav-link:hover::after{ background:#fff; height:2px; }
body.header-over:not(.header-solid) .nav-left .is-active::after{ background:#f7d4d6 !important; height:2.5px !important; }
body.header-over:not(.header-solid) .nav-left .nav-link.is-active{ color:#fff; }

/* ============================================================
   Abschluss: ruhige Bildbühne, die in den Footer übergeht
   ============================================================ */
.cta-band--image{ position:relative; isolation:isolate; }
.cta-band--image::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(11,58,47,.68); }
.cta-band--image .wrap{ padding-top:128px !important; padding-bottom:128px !important; }
.cta-band--image .wrap > div{ max-width:760px !important; margin:0 auto; align-items:center !important; text-align:center; }
.cta-band--image .wrap > div::before{
  content:""; width:46px; height:53px; margin-bottom:30px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86.6 100'%3E%3Cpolygon points='43.3,2 84.6,25.9 84.6,74.1 43.3,98 2,74.1 2,25.9' fill='none' stroke='%23C0B098' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cta-band--image h2{ font-size:48px !important; line-height:1.12 !important; color:#fff; }
.cta-band--image p{ font-size:18px !important; color:#e6eeea !important; max-width:52ch; margin-top:18px !important; }
.cta-band--image .btn{ margin-top:36px !important; background:#fff; color:var(--green-dark); border-color:#fff; }
.cta-band--image .btn:hover{ background:transparent; color:#fff; border-color:#fff; }

/* Footer: großzügig, Haarlinien, ruhig */
.site-footer{ background:#0b3a2f; color:#c9dad3; }
.cta-band--image + .site-footer, main:has(.cta-band--image:last-child) + .site-footer{ border-top:1px solid rgba(192,176,152,.28); }
.footer-grid{ padding-top:88px; padding-bottom:64px; gap:56px; }
.footer-logo{ height:58px !important; }
.footer-grid p{ font-size:15px; line-height:1.75; color:#c9dad3; max-width:32ch; margin-top:24px; }
.footer-col .f-label{ font-size:12px; color:#c0b098; margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-links{ gap:13px; font-size:15px; }
.footer-links a,.footer-contact,.footer-contact a{ color:#e3ece8; }
.footer-links a{ position:relative; width:fit-content; }
.footer-links a:hover,.footer-contact a:hover{ color:#fff; text-decoration:underline; text-underline-offset:5px; text-decoration-color:#c0b098; }
.footer-links a.rose{ color:#f2c9cb; }
.footer-contact{ font-size:15px; line-height:1.9; }
.footer-shop{ margin-top:24px; background:transparent; color:#fff !important; border:1px solid rgba(255,255,255,.7); padding:13px 22px; font-size:12px; }
.footer-shop:hover{ background:#fff; color:var(--green-dark) !important; }
.footer-bottom{ border-top-color:rgba(255,255,255,.12); padding-top:28px; padding-bottom:44px; font-size:13px; color:#9fbbb1; }
.footer-bottom a{ color:#c9dad3; }
.footer-claim{ color:#c0b098; font-size:12px; text-align:right; }
@media (max-width:980px){
  .cta-band--image .wrap{ padding-top:88px !important; padding-bottom:88px !important; }
  .cta-band--image h2{ font-size:34px !important; }
  .footer-grid{ padding-top:64px; gap:40px; }
  .footer-claim{ text-align:left; }
}

/* Bildband kompakter, ohne Hexagon, unten weich in den Footer übergehend */
.cta-band--image .wrap{ padding-top:84px !important; padding-bottom:104px !important; }
.cta-band--image .wrap > div::before{ content:none !important; display:none !important; }
.cta-band--image h2{ font-size:42px !important; }
.cta-band--image .btn{ margin-top:30px !important; }
.cta-band--image::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:62%; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(11,58,47,0) 0%, rgba(11,58,47,.55) 45%, #0b3a2f 100%);
}
.cta-band--image + .site-footer, main:has(.cta-band--image:last-child) + .site-footer{ border-top:none !important; }
.cta-band--image + .site-footer .footer-grid, main:has(.cta-band--image:last-child) + .site-footer .footer-grid{ padding-top:56px; }
@media (max-width:980px){
  .cta-band--image .wrap{ padding-top:64px !important; padding-bottom:80px !important; }
  .cta-band--image h2{ font-size:32px !important; }
}

/* Kontakt-Header: Text auf Grün, Bild rechts */
@media (max-width:980px){
  .kontakt-hero img{ left:0 !important; width:100% !important; object-position:62% 20% !important; }
  .kontakt-hero .kontakt-hero__fade{ left:0 !important; width:100% !important; background:linear-gradient(0deg, rgba(15,52,44,.92) 0%, rgba(15,52,44,.55) 55%, rgba(15,52,44,.2) 100%) !important; }
  .kontakt-hero{ min-height:520px !important; }
}
@media (min-width:981px){
  .kontakt-hero{ min-height:600px !important; }
  .kontakt-hero img,.kontakt-hero .kontakt-hero__fade{ top:112px !important; }
  .kontakt-hero img{ object-position:50% 30% !important; }
}
/* Kontakt-Header vollflächig */
.kontakt-hero img{ left:0 !important; width:100% !important; top:0 !important; }
.kontakt-hero .kontakt-hero__fade{ left:0 !important; width:100% !important; top:0 !important;
  background:linear-gradient(90deg, rgba(15,52,44,.92) 0%, rgba(15,52,44,.78) 30%, rgba(15,52,44,.25) 52%, rgba(15,52,44,0) 70%) !important; }
@media (min-width:981px){
  .kontakt-hero{ min-height:620px !important; }
  .kontakt-hero img{ object-position:50% 12% !important; }
}
@media (max-width:980px){
  .kontakt-hero .kontakt-hero__fade{ background:linear-gradient(0deg, rgba(15,52,44,.92) 0%, rgba(15,52,44,.55) 55%, rgba(15,52,44,.2) 100%) !important; }
}

/* Abschlussband: Varianten mit Eyebrow, mehreren Buttons, Kontaktzeile */
.cta-band--image .eyebrow{ color:#f2c9cb !important; margin-bottom:20px; }
.cta-band--image .cta-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:30px; }
.cta-band--image .cta-actions .btn{ margin-top:0 !important; }
.cta-band--image .btn--ghost-light{ background:transparent !important; color:#fff !important; border:1px solid rgba(255,255,255,.75) !important; }
.cta-band--image .btn--ghost-light:hover{ background:#fff !important; color:var(--green-dark) !important; }
.cta-band--image .cta-note{ font-size:14.5px !important; color:#c9dad3 !important; margin-top:22px !important; }
.cta-band--image .cta-note a{ color:#e3ece8; border-bottom:1px solid rgba(192,176,152,.6); }
.cta-band--image .cta-note a:hover{ color:#fff; }

/* Für Berater: Titelbild hinter dem grünen Kopfbereich */
.berater-hero .inner{ padding-top:150px; padding-bottom:56px; }
.berater-hero .lead{ color:#e3ece8; max-width:56ch; }
.berater-hero .subnav{ border-top-color:rgba(255,255,255,.22); }
.berater-hero .subnav a{ background:rgba(8,34,28,.35); }
@media (max-width:980px){ .berater-hero .inner{ padding-top:110px; } .berater-hero__img{ object-position:70% 20% !important; } }
.berater-hero .subnav a.active{ background:var(--rose); color:var(--green-dark); border-color:var(--rose); }
@media (max-width:980px){ .werte-hero__img{ width:100% !important; object-position:58% 30% !important; } }
@media (max-width:980px){ .werte-hero__img{ left:0 !important; width:100% !important; } .werte-hero__fade{ display:none; } }

/* Einheitliche Höhe aller Titelbilder */
main > section.over-hero{ min-height:640px !important; }
.hero.over-hero{ height:640px !important; }
.berater-hero.over-hero{ display:flex; align-items:flex-end; }
.berater-hero.over-hero .inner{ width:100%; }
@media (max-width:980px){
  main > section.over-hero{ min-height:560px !important; }
  .hero.over-hero{ height:560px !important; }
}
.vv-hero.over-hero,.kontakt-hero.over-hero{ min-height:640px !important; }
@media (max-width:980px){ .vv-hero.over-hero,.kontakt-hero.over-hero{ min-height:560px !important; } }

/* Einheitlicher Schatten links auf allen Titelbildern */
main > section.over-hero > div[style*="linear-gradient"]:not(.werte-hero__fade):not(.kontakt-hero__fade),
.hero.over-hero .hero__overlay,
.kontakt-hero.over-hero .kontakt-hero__fade{
  background:linear-gradient(90deg, rgba(15,52,44,.92) 0%, rgba(15,52,44,.74) 32%, rgba(15,52,44,.24) 60%, rgba(15,52,44,0) 80%) !important;
  left:0 !important; width:100% !important; top:0 !important;
}
.werte-hero__fade{ background:linear-gradient(90deg, #17463b 0%, rgba(23,70,59,0) 100%) !important; }
@media (max-width:980px){
  main > section.over-hero > div[style*="linear-gradient"]:not(.werte-hero__fade),
  .hero.over-hero .hero__overlay{
    background:linear-gradient(0deg, rgba(15,52,44,.92) 0%, rgba(15,52,44,.6) 50%, rgba(15,52,44,.25) 100%) !important;
  }
}
@media (max-width:980px){ .hero.over-hero{ height:680px !important; } .hero.over-hero .hero__inner{ top:70px; } }

/* Alle Titelbilder vollflächig */
.werte-hero__img{ left:0 !important; width:100% !important; }
.werte-hero__fade{ display:none !important; }
@media (min-width:981px){ .werte-hero__img.hero-shift{ width:122% !important; max-width:none !important; } }

/* Strategieportfolien prominent: Menüpunkt + Startseiten-Abschnitt */
.nav-left > .nav-link--feature{ color:var(--green-dark); font-weight:700; }
.nav-left > .nav-link--feature::after{ background:#910b0f !important; height:2px !important; }
body.header-over:not(.header-solid) .nav-left > .nav-link--feature{ color:#fff; }
body.header-over:not(.header-solid) .nav-left > .nav-link--feature::after{ background:#f2c9cb !important; height:2px !important; }
.mobile-panel .m-feature{ font-family:var(--serif); font-size:19px !important; font-weight:500 !important; color:var(--red) !important; border-bottom:1px solid var(--hair) !important; padding:12px 0 14px !important; }

.sp-teaser{ background:#fffefb; border-bottom:1px solid var(--hair); padding:104px 0 96px; }
.sp-teaser__head{ display:grid; grid-template-columns:1fr 1fr; gap:24px 64px; align-items:end; margin-bottom:48px; }
.sp-teaser h2{ font-size:48px; line-height:1.08; }
.sp-teaser__head .lead{ margin:0; }
.sp-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sp-tile{ display:flex; flex-direction:column; gap:10px; padding:28px 28px 24px; background:var(--cream); border:1px solid var(--hair); border-radius:4px; color:var(--green-dark); text-decoration:none; transition:border-color .2s, box-shadow .3s, transform .3s; }
.sp-tile:hover{ border-color:var(--green); box-shadow:0 24px 48px -30px rgba(15,52,44,.35); transform:translateY(-2px); color:var(--green-dark); }
.sp-tile__label{ font-size:11.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#8a7a5c; }
.sp-tile__name{ font-family:var(--serif); font-size:27px; font-weight:500; line-height:1.15; }
.sp-tile__bar{ display:block; height:3px; background:#ece6d8; margin:8px 0 4px; }
.sp-tile__bar span{ display:block; height:100%; background:var(--green); }
.sp-tile:hover .sp-tile__bar span{ background:#910b0f; }
.sp-tile__meta{ display:flex; justify-content:space-between; gap:12px; font-size:14px; color:var(--muted); }
.sp-teaser__foot{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:28px; margin-top:40px; }
.sp-facts{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 32px; font-size:15px; color:var(--muted); }
.sp-facts b{ font-family:var(--serif); font-weight:500; font-size:19px; color:var(--green-dark); margin-right:4px; }
@media (max-width:980px){
  .sp-teaser{ padding:72px 0 64px; }
  .sp-teaser__head{ grid-template-columns:1fr; }
  .sp-teaser h2{ font-size:36px; }
  .sp-grid{ grid-template-columns:1fr 1fr !important; gap:12px; }
  .sp-tile{ padding:20px 18px; }
  .sp-tile__name{ font-size:21px; }
  .sp-tile__meta{ flex-direction:column; gap:2px; font-size:13px; }
}
.nav-left > a,.nav-left > .dropdown > .nav-link{ white-space:nowrap; }
body.header-over:not(.header-solid) .nav-left{ font-size:16px; gap:30px; }
@media (max-width:1240px){ .nav-left{ gap:22px !important; } body.header-over:not(.header-solid) .nav-left{ font-size:15px; } .nav-pill{ padding:12px 16px !important; } }
.nav > a:first-child{ flex:none; }
.nav-logo{ width:auto !important; max-width:none; }
@media (max-width:1240px){ body.header-over:not(.header-solid) .nav-logo{ height:52px !important; } }
.sp-teaser{ border-top:1px solid var(--hair); }

/* Bessere Lesbarkeit: kleine Schriften einheitlich angehoben */
body{ font-size:17px; }
.lead,.page-head .lead{ font-size:19px !important; }
.btn{ font-size:13.5px; }
.btn--sm{ font-size:13px; }
.nav-pill{ font-size:12.5px !important; }
body.header-over:not(.header-solid) .nav-pill{ font-size:13px !important; }
.nav-left{ font-size:15px; }
.sp-tile__label{ font-size:12.5px; }
.sp-tile__meta{ font-size:15.5px; }
.sp-facts{ font-size:16px; }
.footer-grid p,.footer-links,.footer-contact{ font-size:16px !important; }
.footer-col .f-label{ font-size:13px; }
.footer-bottom{ font-size:14px; }
.footer-claim{ font-size:13px; }
.cta-band--image .cta-note{ font-size:15.5px !important; }
.form input,.form select,.form textarea,.login-card input{ font-size:16px; }
.mobile-panel a{ font-size:17px; }
@media (max-width:980px){ .lead,.page-head .lead{ font-size:17.5px !important; } }

/* ============================================================
   Einheitlicher Abschnitts-Rhythmus auf allen Seiten
   ============================================================ */
:root{ --gap-section:96px; }
main > section:where(:not(.over-hero):not(.cta-band):not(.stat-band):not(.sp-teaser):not(.page-head):not(.tab-panel)){
  padding-top:0 !important; padding-bottom:var(--gap-section) !important;
}
main > section.over-hero + section:not(.tab-panel),
main > .stat-band + section,
main > .sp-teaser + section,
main > section:first-child:not(.over-hero):not(.page-head){ padding-top:var(--gap-section) !important; }
main > section.page-head:first-child{ padding-top:calc(var(--gap-section) + 24px) !important; padding-bottom:48px !important; }
.sp-teaser{ padding:var(--gap-section) 0 !important; }
main > section.sp-teaser + section{ padding-top:0 !important; }
main > section + .stat-band{ margin-top:0; }
.stat-band .wrap,.stat-band > div{ padding-top:64px !important; padding-bottom:64px !important; }
main > .stat-band + section{ padding-top:var(--gap-section) !important; }
.tab-panel > .section,.tab-panel > .wrap{ padding-top:var(--gap-section) !important; padding-bottom:var(--gap-section) !important; }
.tab-panel .section + .section{ padding-top:0 !important; }
main.legal{ padding-top:calc(var(--gap-section) + 24px); padding-bottom:var(--gap-section); }
@media (max-width:980px){ :root{ --gap-section:64px; } .stat-band .wrap,.stat-band > div{ padding-top:48px !important; padding-bottom:48px !important; } }

/* Waldbild am Seitenende: weiter nach unten sichtbar */
.cta-band--image::before{ background:rgba(11,58,47,.58) !important; }
.cta-band--image::after{ height:38% !important; background:linear-gradient(180deg, rgba(11,58,47,0) 0%, rgba(11,58,47,.45) 55%, #0b3a2f 100%) !important; }
/* Waldbild noch weiter nach unten sichtbar */
.cta-band--image .wrap{ padding-bottom:170px !important; }
.cta-band--image::after{ height:24% !important; background:linear-gradient(180deg, rgba(11,58,47,0) 0%, rgba(11,58,47,.5) 60%, #0b3a2f 100%) !important; }
.cta-band--image + .site-footer .footer-grid, main:has(.cta-band--image:last-child) + .site-footer .footer-grid{ padding-top:40px !important; }
@media (max-width:980px){ .cta-band--image .wrap{ padding-bottom:120px !important; } }
/* Abschluss kompakter */
.cta-band--image .wrap{ padding-top:72px !important; padding-bottom:116px !important; }
.cta-band--image::after{ height:30% !important; }
.footer-grid{ padding-bottom:48px !important; }
.footer-bottom{ padding-top:24px !important; padding-bottom:32px !important; }
@media (max-width:980px){ .cta-band--image .wrap{ padding-top:56px !important; padding-bottom:88px !important; } }

/* Vermögensverwaltung: Einleitung als redaktioneller Auftakt */
.vv-intro__grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:32px 72px; align-items:start; padding-bottom:var(--gap-section); border-bottom:1px solid var(--hair); }
.vv-intro__statement{ margin:0; font-family:var(--serif); font-weight:400; font-size:34px; line-height:1.28; color:var(--green-dark); letter-spacing:-.01em; text-wrap:balance; }
.vv-intro__statement em{ font-style:italic; color:#910b0f; }
.vv-intro__body .lead{ margin:0; }
.vv-intro__points{ list-style:none; margin:28px 0 0; padding:0; display:flex; flex-direction:column; gap:0; }
.vv-intro__points li{ display:flex; align-items:center; gap:14px; padding:13px 0; border-top:1px solid var(--hair); font-size:16.5px; font-weight:600; color:var(--green-dark); }
.vv-intro__points li:last-child{ border-bottom:1px solid var(--hair); }
.vv-intro__points li::before{ content:""; width:9px; height:10px; flex:none; background:#910b0f; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
main > section.vv-intro{ padding-bottom:var(--gap-section) !important; }
@media (max-width:980px){ .vv-intro__grid{ grid-template-columns:1fr !important; } .vv-intro__statement{ font-size:26px; } }
.vv-intro__grid{ padding-bottom:0 !important; border-bottom:none !important; }

/* Marktkommentar-Teaser (Vermögensverwaltung) */
.mk-teaser{ display:grid; grid-template-columns:300px 1fr; gap:0; background:var(--cream-2); border:1px solid var(--hair); border-radius:4px; overflow:hidden; }
.mk-cover{ position:relative; display:flex; flex-direction:column; justify-content:space-between; gap:24px; min-height:340px; padding:36px 34px; background:#0f4c3d; color:#fff; text-decoration:none; transition:background .3s; }
.mk-cover:hover{ background:#0b3a2f; color:#fff; }
.mk-cover::after{ content:""; position:absolute; inset:14px; border:1px solid rgba(192,176,152,.45); pointer-events:none; }
.mk-cover__label{ font-size:12.5px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:#c0b098; }
.mk-cover__title{ font-family:var(--serif); font-weight:400; font-size:46px; line-height:1.05; letter-spacing:-.01em; }
.mk-cover__sub{ font-size:15px; color:#d9e4df; }
.mk-teaser__body{ padding:48px 56px; display:flex; flex-direction:column; justify-content:center; }
.mk-teaser__body h2{ font-size:36px; line-height:1.15; margin:0 0 16px; text-wrap:balance; }
.mk-teaser__body h2 em{ font-style:italic; color:#910b0f; }
.mk-teaser__body .lead{ margin:0; max-width:52ch; }
.mk-teaser__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 32px; margin-top:30px; }
@media (max-width:980px){
  .mk-teaser{ grid-template-columns:1fr !important; }
  .mk-cover{ min-height:220px; }
  .mk-teaser__body{ padding:32px 24px; }
  .mk-teaser__body h2{ font-size:28px; }
}
/* Einheitliche, feine Ecken auch bei Boxen mit eigener Rundung */
main [style*="border-radius:10px"],main [style*="border-radius:12px"],main [style*="border-radius:14px"],
main [style*="border-radius:16px"],main [style*="border-radius:18px"],main [style*="border-radius:20px"],
main [style*="border-radius:22px"],main [style*="border-radius:24px"]{ border-radius:4px !important; }

/* Überschriften in allen Titelbildern einheitlich: links, vertikal mittig */
main > section.over-hero:not(.hero){ display:flex !important; align-items:center !important; }
main > section.over-hero > .page-head,
main > section.over-hero > .wrap.page-head{ padding-top:24px !important; padding-bottom:24px !important; }
.berater-hero.over-hero{ align-items:center !important; }
.berater-hero.over-hero .inner{ padding-top:24px !important; padding-bottom:24px !important; }
.hero.over-hero .hero__inner{ top:108px !important; align-items:center; }
.hero__box{ max-width:var(--maxw) !important; padding-left:var(--pad) !important; padding-right:var(--pad) !important; }
.hero-text{ margin:14px 0 0; max-width:52ch; font-size:17px; line-height:1.7; color:#e3ece8; }
@media (max-width:980px){
  main > section.over-hero > div[style*="linear-gradient"]:not(.werte-hero__fade),
  .hero.over-hero .hero__overlay,
  .kontakt-hero.over-hero .kontakt-hero__fade{
    background:linear-gradient(0deg, rgba(15,52,44,.92) 0%, rgba(15,52,44,.74) 50%, rgba(15,52,44,.5) 100%) !important;
  }
}

/* Unser Fonds: Gewinne für gute Zwecke */
.gz{ background:#0f4c3d; color:#fff; border-radius:4px; padding:64px 64px 0; overflow:hidden; }
.gz__top{ display:grid; grid-template-columns:1fr auto; gap:48px 72px; align-items:center; }
.gz__intro h2{ color:#fff; font-size:40px; line-height:1.12; margin:0 0 18px; text-wrap:balance; }
.gz__intro h2 em{ font-style:italic; color:#f2c9cb; font-weight:400; }
.gz__intro p{ margin:0; font-size:18px; line-height:1.7; color:#d9e4df; max-width:46ch; }
.gz__figures{ display:flex; gap:40px; }
.gz-fig{ width:200px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
.gz-hex{ position:relative; width:170px; height:196px; display:flex; align-items:center; justify-content:center; }
.gz-hex__frame{ position:absolute; inset:0; width:100%; height:100%; }
.gz-hex span{ position:relative; font-family:var(--serif); font-size:44px; font-weight:400; color:#fff; white-space:nowrap; letter-spacing:-.01em; }
.gz-fig p{ margin:0; font-size:15.5px; line-height:1.55; color:#d9e4df; }
.gz__levels{ display:grid; grid-template-columns:1fr 1fr; margin:56px -64px 0; border-top:1px solid rgba(255,255,255,.14); }
.gz-level{ display:flex; gap:20px; padding:36px 64px 40px; }
.gz-level + .gz-level{ border-left:1px solid rgba(255,255,255,.14); }
.gz-level__num{ font-family:var(--serif); font-style:italic; font-size:34px; line-height:1; color:#c0b098; }
.gz-level__title{ font-family:var(--serif); font-size:22px; color:#fff; margin:2px 0 8px; }
.gz-level p{ margin:0; font-size:16.5px; line-height:1.65; color:#d9e4df; }
@media (max-width:980px){
  .gz{ padding:40px 24px 0; }
  .gz__top{ grid-template-columns:1fr !important; }
  .gz__intro h2{ font-size:30px; }
  .gz__figures{ gap:16px; justify-content:center; }
  .gz-fig{ width:auto; flex:1 1 0; }
  .gz-hex{ width:130px; height:150px; }
  .gz-hex span{ font-size:32px; }
  .gz__levels{ grid-template-columns:1fr !important; margin:40px -24px 0; }
  .gz-level{ padding:28px 24px; }
  .gz-level + .gz-level{ border-left:none; border-top:1px solid rgba(255,255,255,.14); }
}

/* Unser Fonds: Auftakt mit Kennmerkmalen */
.fx-head{ display:grid; grid-template-columns:1.15fr 1fr; gap:24px 72px; align-items:end; margin-bottom:48px; }
.fx-statement{ margin:0; font-family:var(--serif); font-weight:400; font-size:46px; line-height:1.1; letter-spacing:-.015em; color:var(--green-dark); text-wrap:balance; }
.fx-statement em{ font-style:italic; color:#910b0f; }
.fx-head .lead{ margin:0; }
.fx-row{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--cream-2); border:1px solid var(--hair); border-radius:4px; }
.fx-cell{ display:flex; gap:20px; align-items:flex-start; padding:36px 32px; }
.fx-cell + .fx-cell{ border-left:1px solid var(--hair); }
.fx-hex{ position:relative; flex:none; width:52px; height:60px; display:flex; align-items:center; justify-content:center; color:#c0b098; }
.fx-hex svg{ position:absolute; inset:0; width:100%; height:100%; }
.fx-hex b{ position:relative; font-family:var(--serif); font-style:italic; font-weight:400; font-size:18px; color:#910b0f; }
.fx-cell h3{ font-size:21px; line-height:1.25; margin:4px 0 8px; color:var(--green-dark); }
.fx-cell p{ margin:0; font-size:16px; line-height:1.6; color:var(--muted); }
@media (max-width:980px){
  .fx-head{ grid-template-columns:1fr !important; }
  .fx-statement{ font-size:32px; }
  .fx-row{ grid-template-columns:1fr !important; }
  .fx-cell{ padding:24px 20px; }
  .fx-cell + .fx-cell{ border-left:none; border-top:1px solid var(--hair); }
}

/* Unser Fonds: Gewinne für gute Zwecke – hell mit Bild */
.gz2{ display:grid; grid-template-columns:5fr 7fr; background:var(--cream-2); border:1px solid var(--hair); border-radius:4px; overflow:hidden; }
.gz2__img{ position:relative; min-height:100%; }
.gz2__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:0 !important; }
.gz2__body{ padding:64px 64px 56px; }
.gz2__body h2{ font-size:40px; line-height:1.12; margin:0 0 16px; text-wrap:balance; }
.gz2__body h2 em{ font-style:italic; color:#910b0f; font-weight:400; }
.gz2__body .lead{ margin:0; max-width:48ch; }
.gz2__figs{ display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:40px; }
.gz2__figs > div{ padding-top:20px; border-top:1px solid var(--green-dark); }
.gz2__num{ display:block; font-family:var(--serif); font-weight:400; font-size:60px; line-height:1; color:var(--green-dark); letter-spacing:-.02em; }
.gz2__num i{ font-style:normal; color:#910b0f; margin-right:4px; }
.gz2__figs p{ margin:12px 0 0; font-size:16px; line-height:1.55; color:var(--green-dark); }
.gz2__levels{ display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:40px; padding-top:28px; border-top:1px solid var(--hair); }
.gz2__levels span{ display:block; font-size:12.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#8a7a5c; margin-bottom:8px; }
.gz2__levels p{ margin:0; font-size:16px; line-height:1.6; color:var(--muted); }
@media (max-width:980px){
  .gz2{ grid-template-columns:1fr !important; }
  .gz2__img{ height:240px; }
  .gz2__body{ padding:36px 24px; }
  .gz2__body h2{ font-size:30px; }
  .gz2__figs,.gz2__levels{ grid-template-columns:1fr !important; gap:24px; }
  .gz2__num{ font-size:48px; }
}

/* Individuelles Depot: ganzes Bild in voller Höhe, rechts verankert, links weich ins Grün */
@media (min-width:981px){
  .id-hero__img{ left:auto !important; right:0 !important; width:auto !important; height:100% !important; max-width:none !important; object-fit:cover !important; aspect-ratio:3/2; }
  .id-hero__fade{ position:absolute; top:0; bottom:0; right:calc(640px * 1.5 - 260px); width:260px; background:linear-gradient(90deg, #17463b 0%, rgba(23,70,59,0) 100%); }
  .id-hero__fade::before{ content:""; position:absolute; top:0; bottom:0; right:100%; width:100vw; background:#17463b; }
}
@media (max-width:980px){ .id-hero__fade{ display:none; } }
main > section.over-hero .page-head .lead,main > section.over-hero .hero-text{ max-width:44ch !important; }

/* Rechts verankerte Bilder: links weichgezeichnete Bildfläche statt Grün, darüber derselbe Schatten wie überall */
.id-hero__bg{ display:none; }
@media (min-width:981px){
  .id-hero__bg{ display:block; position:absolute; inset:-60px; background-size:cover; background-position:30% 40%; filter:blur(26px) saturate(1.05); transform:scaleX(-1); }
  .id-hero__img{ -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 300px); mask-image:linear-gradient(90deg, transparent 0, #000 300px); }
  .id-hero__fade{ display:none !important; }
}

/* Feinschliff Abstände */
main > section:first-child:not(.over-hero){ padding-top:calc(var(--gap-section) + 24px) !important; }
main > section > :last-child{ margin-bottom:0 !important; }
main > section > :first-child:not(.over-hero *){ margin-top:0 !important; }
main [style*="border-left:4px"]{ border-left-width:2px !important; }
main [style*="border-top:4px"]{ border-top-width:2px !important; }

/* Eyebrow-Text bündig mit der Überschrift: Linie hängt links außen */
.eyebrow,.hero__eyebrow{ position:relative; }
.eyebrow::before,.hero__eyebrow::before{ position:absolute; right:100%; top:50%; margin:0 14px 0 0 !important; }
.cta-band--image .eyebrow::before,.login .eyebrow::before{ display:none; }
@media (max-width:1240px){ .eyebrow::before,.hero__eyebrow::before{ display:none; } }

/* Einleitungstext unter die Überschrift */
.sp-teaser__head,.fx-head{ grid-template-columns:1fr !important; gap:0 !important; align-items:start !important; }
.sp-teaser__head .lead,.fx-head .lead{ margin-top:20px !important; max-width:96ch !important; }

/* Werte: Zitat + Konzept-Hinweis als ruhiger Abschluss */
.wq__quote{ margin:0 auto; max-width:900px; text-align:center; padding:8px 0 64px; }
.wq__mark{ display:block; font-family:var(--serif); font-size:120px; line-height:.6; height:56px; color:#c0b098; }
.wq__quote blockquote{ margin:0; font-family:var(--serif); font-style:italic; font-weight:400; font-size:38px; line-height:1.3; color:var(--green-dark); text-wrap:balance; }
.wq__quote blockquote em{ color:#910b0f; }
.wq__quote figcaption{ margin-top:28px; font-size:12.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#8a7a5c; }
.wq__quote figcaption::before,.wq__quote figcaption::after{ content:""; display:inline-block; width:32px; height:1px; background:#c0b098; vertical-align:middle; margin:0 14px; }
.wq__cta{ display:flex; align-items:center; justify-content:space-between; gap:24px 56px; flex-wrap:wrap; padding:40px 48px; background:var(--cream-2); border:1px solid var(--hair); border-top:2px solid var(--green-dark); border-radius:4px; }
.wq__cta > div{ flex:1 1 420px; }
.wq__cta .eyebrow::before{ display:none; }
.wq__cta h3{ font-size:28px; line-height:1.2; margin:10px 0 8px; }
.wq__cta p{ margin:0; font-size:17px; line-height:1.65; color:var(--muted); max-width:60ch; }
@media (max-width:980px){ .wq__quote blockquote{ font-size:26px; } .wq__cta{ padding:28px 22px; } .wq__cta h3{ font-size:23px; } }
.wq__mark{ font-size:110px !important; line-height:1 !important; height:64px !important; margin-bottom:12px; overflow:hidden; }

/* Werte: Fördern / Ausschließen */
.ff__head{ margin-bottom:40px; }
.ff__head h2{ font-size:40px; line-height:1.12; margin:0; text-wrap:balance; }
.ff__head h2 em{ font-style:italic; color:#910b0f; font-weight:400; }
.ff__grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ff__col{ background:var(--cream-2); border:1px solid var(--hair); border-top:2px solid var(--green-dark); border-radius:4px; padding:36px 40px 32px; }
.ff__col--neg{ border-top-color:#910b0f; }
.ff__title{ display:flex; align-items:center; gap:14px; font-family:var(--serif); font-size:22px; color:var(--green-dark); padding-bottom:20px; border-bottom:1px solid var(--hair); }
.ff__col--neg .ff__title{ color:#910b0f; }
.ff__icon{ flex:none; width:32px; height:36px; display:flex; align-items:center; justify-content:center; font-family:var(--sans); font-size:20px; font-weight:600; color:#fff; background:var(--green-dark); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.ff__col--neg .ff__icon{ background:#910b0f; }
.ff__col ul{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:28px; }
.ff__col li{ display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--hair); font-size:16.5px; color:var(--green-dark); }
.ff__col li:nth-last-child(-n+2){ border-bottom:none; }
.ff__col li::before{ content:""; flex:none; width:7px; height:8px; background:#2c7a57; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.ff__col--neg li{ color:#5e3437; }
.ff__col--neg li::before{ background:#910b0f; }

/* Werte: Kein Widerspruch */
.kw__grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px 80px; align-items:center; }
.kw h2{ font-size:40px; line-height:1.12; margin:0 0 20px; text-wrap:balance; }
.kw h2 em{ font-style:italic; color:#910b0f; font-weight:400; }
.kw .lead{ margin:0; }
.kw .lead b{ color:var(--green-dark); }
.kw__figs{ display:grid; grid-template-columns:1fr 1fr; gap:36px 40px; }
.kw__figs > div{ padding-top:20px; border-top:1px solid var(--green-dark); }
.kw__num{ display:block; font-family:var(--serif); font-weight:400; font-size:40px; line-height:1.05; color:var(--green-dark); letter-spacing:-.015em; }
.kw__figs p{ margin:10px 0 0; font-size:15.5px; line-height:1.5; color:var(--muted); }
@media (max-width:980px){
  .ff__head h2,.kw h2{ font-size:30px; }
  .ff__grid,.kw__grid{ grid-template-columns:1fr !important; }
  .ff__col{ padding:28px 22px; }
  .kw__num{ font-size:32px; }
  .kw__figs{ grid-template-columns:1fr 1fr !important; gap:28px 20px; }
}

/* Eyebrow ohne vorangestellte Linie: kleine und große Überschrift exakt bündig */
.eyebrow::before,.hero__eyebrow::before{ content:none !important; display:none !important; }

/* Vermögensverwaltung: aktuelle Factsheets */
.fs{ background:#0f4c3d; border-radius:4px; padding:48px; color:#fff; }
.fs__head{ margin-bottom:32px; }
.fs__head .eyebrow{ color:#f2c9cb !important; }
.fs__head h3{ color:#fff; font-size:30px; line-height:1.2; margin:10px 0 8px; }
.fs__head p{ margin:0; font-size:16px; color:#c9dad3; }
.fs__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.fs-item{ display:flex; flex-direction:column; gap:8px; padding:26px 26px 22px; border:1px solid rgba(255,255,255,.22); border-radius:4px; color:#fff; text-decoration:none; transition:background .25s, border-color .25s; }
.fs-item:hover{ background:rgba(255,255,255,.06); border-color:#fff; color:#fff; }
.fs-item__label{ font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#c0b098; }
.fs-item__name{ font-family:var(--serif); font-size:22px; line-height:1.25; }
.fs-item__meta{ font-size:15px; color:#c9dad3; }
.fs-item__cta{ margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.18); font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
main > section.fs-wrap{ padding-top:0 !important; }
@media (max-width:980px){ .fs{ padding:32px 22px; } .fs__grid{ grid-template-columns:1fr !important; } .fs__head h3{ font-size:24px; } }
.fs-item__cta{ margin-top:auto !important; } .fs-item__meta{ margin-bottom:14px; }
.cmp-head{ margin-bottom:40px; }
.cmp-head h2{ font-size:40px; line-height:1.12; margin:0 0 16px; text-wrap:balance; }
.cmp-head h2 em{ font-style:italic; color:#910b0f; font-weight:400; }
.cmp-head .lead{ margin:0; max-width:70ch; }
@media (max-width:980px){ .cmp-head h2{ font-size:30px; } }
.cmp-head .lead{ max-width:96ch !important; }

/* Eckdaten (Vermögensverwaltung, Strategieportfolien) */
.kf__figs{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 40px; }
.kf__figs > div{ padding-top:22px; border-top:2px solid var(--green-dark); }
.kf__num{ display:block; font-family:var(--serif); font-weight:400; font-size:40px; line-height:1.05; color:var(--green-dark); letter-spacing:-.015em; white-space:nowrap; }
.kf__figs p{ margin:12px 0 0; font-size:16px; line-height:1.5; color:var(--muted); }
.kf__note{ display:flex; align-items:center; gap:16px; margin-top:48px; padding:22px 28px; background:var(--cream-2); border:1px solid var(--hair); border-radius:4px; }
.kf__hex{ flex:none; width:14px; height:16px; background:#910b0f; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.kf__note p{ margin:0; font-size:15.5px; line-height:1.6; color:var(--muted); }
.kf__note b{ color:var(--green-dark); }
@media (max-width:1100px){ .kf__num{ font-size:32px; } }
@media (max-width:980px){ .kf__figs{ grid-template-columns:1fr 1fr !important; gap:28px 20px; } .kf__num{ font-size:28px; white-space:normal; } }
@media (min-width:1101px){ .kf__num{ font-size:36px; } }

/* Startseite: Kennzahlen in Hexagon-Kacheln auf Dunkelgrün */
.hx-band{ background:#0f4c3d !important; border:none !important; }
.hx-band .wrap{ padding-top:88px !important; padding-bottom:88px !important; }
.hx__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.hx__item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:24px; }
.hx{ position:relative; width:220px; height:254px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.hx__frame{ position:absolute; inset:0; width:100%; height:100%; }
.hx__pre{ position:relative; font-size:12.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#c0b098; margin-bottom:6px; }
.hx__num{ position:relative; font-family:var(--serif); font-weight:400; font-size:40px; line-height:1.05; color:#fff; letter-spacing:-.01em; white-space:nowrap; }
.hx__item p{ margin:0; max-width:22ch; font-size:16.5px; line-height:1.55; color:#d9e4df; }
@media (max-width:980px){
  .hx-band .wrap{ padding-top:64px !important; padding-bottom:64px !important; }
  .hx__grid{ grid-template-columns:1fr !important; gap:40px; }
  .hx{ width:180px; height:208px; }
  .hx__num{ font-size:34px; }
}
@media (min-width:981px){ .hx{ width:240px; height:277px; } .hx__num{ font-size:36px; } }

/* Startseite Kennzahlen: hell, fein, edel (ersetzt Hexagon-Variante) */
.hx-band{ background:transparent !important; }
.hx-band .wrap{ padding-top:0 !important; padding-bottom:var(--gap-section) !important; }
.hx__grid{ gap:0 !important; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
.hx__item{ gap:14px !important; padding:56px 32px 52px; }
.hx__item + .hx__item{ border-left:1px solid var(--hair); }
.hx{ width:auto !important; height:auto !important; }
.hx__frame{ display:none !important; }
.hx__pre{ color:#8a7a5c !important; font-size:12px !important; letter-spacing:.28em !important; margin-bottom:10px !important; }
.hx__num{ color:var(--green-dark) !important; font-size:54px !important; font-weight:300 !important; letter-spacing:-.02em !important; }
.hx__item p{ color:var(--muted) !important; font-size:15.5px !important; max-width:24ch; }
.hx__item p::before{ content:""; display:block; width:28px; height:1px; background:#910b0f; margin:0 auto 16px; }
@media (max-width:980px){
  .hx__item{ padding:36px 16px; }
  .hx__item + .hx__item{ border-left:none; border-top:1px solid var(--hair); }
  .hx__num{ font-size:42px !important; }
}
.hx-band .wrap{ padding-top:var(--gap-section) !important; } .sp-teaser{ border-bottom:none !important; }
.hx-band .wrap{ padding-top:0 !important; } .sp-teaser{ background:transparent !important; border-top:none !important; } main > .sp-teaser{ padding-top:0 !important; }
.hx-band .wrap{ padding-bottom:0 !important; }

/* Startseite: Strategieportfolien als feine Risikoskala */
.sp-scale__axis{ display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:12px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#8a7a5c; margin-bottom:14px; }
.sp-scale__axis::before{ content:""; order:1; flex:1; height:1px; background:linear-gradient(90deg,var(--hair),var(--hair)); }
.sp-scale__axis span:last-child{ order:2; color:#910b0f; }
.sp-cols{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid var(--green-dark); border-bottom:1px solid var(--hair); }
.sp-col{ display:flex; flex-direction:column; gap:10px; padding:28px 22px 30px; color:var(--green-dark); text-decoration:none; transition:background .25s; }
.sp-col + .sp-col{ border-left:1px solid var(--hair); }
.sp-col:hover{ background:var(--cream-2); color:var(--green-dark); }
.sp-col__num{ font-family:var(--serif); font-style:italic; font-size:22px; color:#b5a27c; line-height:1; }
.sp-col__name{ font-family:var(--serif); font-size:22px; line-height:1.2; margin-bottom:6px; }
.sp-col__bar{ display:block; height:2px; background:#ece6d8; }
.sp-col__bar span{ display:block; height:100%; background:var(--green-dark); }
.sp-col:hover .sp-col__bar span{ background:#910b0f; }
.sp-col__q{ font-size:15px; color:var(--muted); margin-top:4px; }
.sp-col__q b{ font-weight:600; color:var(--green-dark); }
.sp-col__h{ font-size:14.5px; color:var(--muted); }
.sp-teaser__foot{ margin-top:36px !important; }
@media (max-width:1100px){ .sp-cols{ grid-template-columns:repeat(3,minmax(0,1fr)); } .sp-col:nth-child(4){ border-left:none; } .sp-col:nth-child(n+4){ border-top:1px solid var(--hair); } }
@media (max-width:640px){ .sp-cols{ grid-template-columns:1fr 1fr !important; } .sp-col{ padding:22px 14px; } .sp-col:nth-child(odd){ border-left:none; } .sp-col:nth-child(4){ border-left:1px solid var(--hair); } .sp-col:nth-child(n+3){ border-top:1px solid var(--hair); } .sp-col__name{ font-size:19px; } }
@media (min-width:1101px){ .sp-col{ padding-left:20px; padding-right:18px; } .sp-col:first-child{ padding-left:0; } .sp-col__name{ font-size:20.5px; } }

/* Startseite: Strategieportfolien als Treppen-Grafik */
.stair__axis{ display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:12.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#8a7a5c; margin-bottom:28px; }
.stair__axis::before{ content:""; order:1; flex:1; height:1px; background:var(--hair); }
.stair__axis::after{ content:""; order:1; width:0; height:0; border-left:7px solid #910b0f; border-top:4px solid transparent; border-bottom:4px solid transparent; margin-left:-16px; }
.stair__axis span:last-child{ order:2; color:#910b0f; }
.stair__cols{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.stp{ display:flex; flex-direction:column; color:var(--green-dark); text-decoration:none; }
.stp__plot{ position:relative; height:300px; display:flex; align-items:flex-end; border-bottom:1px solid var(--green-dark); }
.stp__bar{ position:relative; width:100%; height:var(--h); min-height:64px; background:#e7eeea; display:flex; flex-direction:column; justify-content:flex-start; padding:16px 16px 0; transition:background .3s; }
.stp:nth-child(2) .stp__bar{ background:#c7d8d1; }
.stp:nth-child(3) .stp__bar{ background:#7fa294; }
.stp:nth-child(n+4) .stp__bar{ background:#0f4c3d; }
.stp__q{ font-family:var(--serif); font-size:30px; line-height:1; color:var(--green-dark); letter-spacing:-.01em; white-space:nowrap; }
.stp__qa{ font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--green-dark); opacity:.75; margin-top:6px; }
.stp:nth-child(3) .stp__q,.stp:nth-child(3) .stp__qa,.stp:nth-child(n+4) .stp__q,.stp:nth-child(n+4) .stp__qa{ color:#fff; }
.stp:hover .stp__bar{ background:#910b0f !important; }
.stp:hover .stp__q,.stp:hover .stp__qa{ color:#fff; }
.stp__num{ margin-top:20px; font-family:var(--serif); font-style:italic; font-size:20px; color:#b5a27c; line-height:1; }
.stp__name{ font-family:var(--serif); font-size:23px; line-height:1.2; margin-top:8px; }
.stp__meta{ font-size:14.5px; color:var(--muted); margin-top:6px; line-height:1.45; }
.stair__note{ margin:28px 0 0; font-size:14.5px; color:var(--muted); }
@media (max-width:1100px){ .stair__cols{ gap:10px; } .stp__q{ font-size:24px; } .stp__name{ font-size:19px; } .stp__bar{ padding:12px 10px 0; } }
@media (max-width:760px){
  .stair__cols{ grid-template-columns:1fr !important; gap:0; }
  .stp{ display:grid; grid-template-columns:96px 1fr; grid-template-rows:auto auto auto; column-gap:16px; padding:14px 0; border-bottom:1px solid var(--hair); }
  .stp__plot{ grid-row:1 / 4; height:auto; border:none; display:block; }
  .stp__bar{ height:100%; min-height:0; justify-content:center; padding:10px; }
  .stp__bar{ width:calc(var(--h) * 0.7 + 30%); }
  .stp__q{ font-size:20px; } .stp__qa{ font-size:10px; }
  .stp__num{ margin-top:2px; font-size:16px; } .stp__name{ font-size:20px; margin-top:4px; }
}
.stp__bar{ min-height:88px; } @media (max-width:760px){ .stp__bar{ min-height:0; } }

/* Strategie-Finder */
.finder__box{ display:grid; grid-template-columns:1.15fr 1fr; background:var(--cream-2); border:1px solid var(--hair); border-radius:4px; overflow:hidden; }
.finder__q{ padding:56px 56px 48px; }
.finder__q h2{ font-size:40px; line-height:1.12; margin:0 0 36px; }
.finder__q h2 em{ font-style:italic; color:#910b0f; font-weight:400; }
.finder__group{ border:0; margin:0 0 28px; padding:0; }
.finder__group legend{ display:flex; align-items:center; gap:12px; padding:0; margin-bottom:14px; font-family:var(--serif); font-size:20px; color:var(--green-dark); }
.finder__group legend span{ width:28px; height:32px; flex:none; display:flex; align-items:center; justify-content:center; font-family:var(--sans); font-size:14px; font-weight:700; color:#fff; background:var(--green-dark); clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.finder__opts{ display:flex; flex-wrap:wrap; gap:10px; }
.finder__opts button{ font-family:var(--sans); font-size:15.5px; font-weight:500; color:var(--green-dark); background:#fffefb; border:1px solid var(--hair); border-radius:2px; padding:13px 18px; cursor:pointer; transition:all .2s; min-height:44px; }
.finder__opts button:hover{ border-color:var(--green-dark); }
.finder__opts button[aria-pressed="true"]{ background:var(--green-dark); border-color:var(--green-dark); color:#fff; }
.finder__result{ background:#0f4c3d; color:#fff; padding:56px 52px 40px; display:flex; flex-direction:column; }
.finder__empty{ flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; }
.finder__hex{ width:56px; height:64px; border:0; background:none; position:relative; }
.finder__hex::before{ content:""; position:absolute; inset:0; background:#c0b098; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.finder__hex::after{ content:""; position:absolute; inset:1.5px; background:#0f4c3d; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.finder__empty p{ margin:0; font-size:18px; line-height:1.6; color:#d9e4df; max-width:30ch; }
.finder__out{ flex:1; }
.finder__label{ font-size:12.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#f2c9cb; }
.finder__name{ font-family:var(--serif); font-size:40px; line-height:1.1; margin:14px 0 10px; }
.finder__meta{ font-size:15.5px; color:#c0b098; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.18); }
.finder__text{ margin:20px 0 0; font-size:17px; line-height:1.65; color:#d9e4df; }
.finder__actions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 28px; margin-top:32px; }
.finder__actions .btn{ background:#fff; color:var(--green-dark); border-color:#fff; }
.finder__actions .btn:hover{ background:transparent; color:#fff; }
.finder__actions .textlink{ color:#fff !important; }
.finder__legal{ margin:32px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); font-size:13.5px; line-height:1.55; color:#a9c3ba; }
.stp.is-match .stp__bar{ background:#910b0f !important; }
.stp.is-match .stp__q,.stp.is-match .stp__qa{ color:#fff !important; }
.stp.is-match .stp__name{ color:#910b0f; }
@media (max-width:980px){
  .finder__box{ grid-template-columns:1fr !important; }
  .finder__q{ padding:36px 22px 20px; } .finder__result{ padding:36px 22px 28px; }
  .finder__q h2{ font-size:30px; } .finder__name{ font-size:30px; }
}
.finder [hidden]{ display:none !important; } .finder__out{ display:flex; flex-direction:column; justify-content:center; }
.finder__name{ font-size:34px; } .finder__out{ justify-content:flex-start; }

/* Finder – verfeinert */
.finder__q{ padding:64px 64px 56px !important; }
.finder__q h2{ margin-bottom:44px !important; }
.finder__group{ margin-bottom:36px !important; }
.finder__group:last-child{ margin-bottom:0 !important; }
.finder__group legend{ font-size:19px !important; margin-bottom:16px !important; }
.finder__opts{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px !important; }
.finder__opts button{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:4px; text-align:left; padding:18px 18px 16px 18px !important; min-height:84px; background:#fffefb !important; }
.finder__opts button::after{ content:""; position:absolute; top:16px; right:16px; width:14px; height:14px; border-radius:50%; border:1px solid #c0b098; background:#fffefb; transition:all .2s; }
.finder__opts button b{ font-family:var(--serif); font-weight:400; font-size:21px; line-height:1.15; color:var(--green-dark); }
.finder__opts button span{ font-size:14px; color:var(--muted); }
.finder__opts button:hover{ border-color:var(--green-dark) !important; }
.finder__opts button[aria-pressed="true"]{ background:#fffefb !important; border-color:var(--green-dark) !important; box-shadow:inset 0 0 0 1px var(--green-dark); }
.finder__opts button[aria-pressed="true"]::after{ border-color:var(--green-dark); background:var(--green-dark); box-shadow:inset 0 0 0 3px #fffefb; }
.finder__opts button[aria-pressed="true"] b,.finder__opts button[aria-pressed="true"] span{ color:var(--green-dark); }
.finder__result{ padding:64px 56px 44px !important; }
.finder__mini{ display:flex; align-items:flex-end; gap:6px; height:84px; padding-bottom:0; border-bottom:1px solid rgba(255,255,255,.3); margin-bottom:36px; }
.finder__mini span{ flex:1; background:rgba(255,255,255,.16); min-height:10px; transition:background .35s; }
.finder__mini span.is-match{ background:#f2c9cb; }
.finder__empty{ justify-content:flex-start !important; }
.finder__empty p{ font-family:var(--serif); font-size:24px !important; line-height:1.35 !important; color:#fff !important; max-width:20ch !important; }
@media (max-width:980px){
  .finder__q{ padding:36px 22px 28px !important; } .finder__result{ padding:36px 22px 28px !important; }
  .finder__opts{ grid-template-columns:1fr !important; } .finder__opts button{ min-height:0; }
}
.finder__opts button{ padding-right:38px !important; } .finder__opts button b{ font-size:20px; }
/* Finder: Ergebnis-Balken deutlich einfärben, andere zurücknehmen */
.finder.has-result .finder__mini span{ background:rgba(255,255,255,.08); }
.finder.has-result .finder__mini span.is-match{ background:#f2c9cb; box-shadow:0 0 0 1px #f2c9cb; }
.finder__mini span{ transition:background .4s, box-shadow .4s; }
@media (min-width:981px){ .berater-hero .id-hero__img{ object-position:50% 20% !important; } .berater-hero .id-hero__bg{ z-index:0; } .berater-hero .id-hero__img{ z-index:0; } }

/* Individuelles Depot: Für wen */
.fw__grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:48px 72px; align-items:stretch; }
.fw h2{ font-size:40px; line-height:1.12; margin:0 0 28px; text-wrap:balance; }
.fw h2 em{ font-style:italic; color:#910b0f; font-weight:400; }
.fw__list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--hair); }
.fw__list li{ display:flex; gap:20px; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--hair); font-size:17px; line-height:1.6; color:var(--green-dark); }
.fw__n{ flex:none; font-family:var(--serif); font-style:italic; font-size:20px; color:#b5a27c; width:28px; }
.fw__quote{ margin:0; position:relative; display:flex; flex-direction:column; justify-content:center; padding:56px 56px 48px; background:var(--cream-2); border:1px solid var(--hair); border-top:2px solid var(--green-dark); border-radius:4px; }
.fw__mark{ font-family:var(--serif); font-size:110px; line-height:1; height:62px; overflow:hidden; color:#c0b098; margin-bottom:8px; }
.fw__quote blockquote{ margin:0; font-family:var(--serif); font-style:italic; font-weight:400; font-size:28px; line-height:1.4; color:var(--green-dark); text-wrap:balance; }
.fw__quote blockquote em{ color:#910b0f; }
.fw__quote figcaption{ margin-top:24px; font-size:12.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#8a7a5c; }
.fw__quote figcaption::before{ content:""; display:inline-block; width:28px; height:1px; background:#c0b098; vertical-align:middle; margin-right:12px; }
@media (max-width:980px){ .fw__grid{ grid-template-columns:1fr !important; } .fw h2{ font-size:30px; } .fw__quote{ padding:36px 24px; } .fw__quote blockquote{ font-size:23px; } }
.sw-figs{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.cmp-head .lead b{ color:var(--green-dark); }
@media (max-width:980px){ .sw-figs{ grid-template-columns:1fr !important; } }
.finder__hint{ margin:16px 0 0; padding:14px 16px; border-left:2px solid #f2c9cb; background:rgba(255,255,255,.06); font-size:15px; line-height:1.55; color:#e3ece8; }
.finder__group{ margin-bottom:30px !important; }
