:root{
    --forest:#0E3A33; --forest-2:#103F37; --forest-3:#15493F;
    --teal:#2C5E55;
    --gold:#C9A24B; --gold-2:#E4C77E; --gold-deep:#A8842F;
    --cream:#F7F2E7; --cream-2:#EFE6D2;
    --ink:#1F2E29; --ink-soft:#4C5A53;
    --light:#ECE6D6; --light-soft:rgba(236,230,214,.74);
    --maxw:1180px; --r:22px;
    --shadow:0 24px 60px -28px rgba(8,30,26,.55);
    --serif:"Fraunces",Georgia,serif; --sans:"Mulish",system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans); color:var(--ink); background:var(--cream); line-height:1.65; font-size:18px; -webkit-font-smoothing:antialiased; overflow-x:hidden}
  h1,h2,h3,h4{font-family:var(--serif); font-weight:500; line-height:1.13; letter-spacing:-.01em; text-wrap:balance}
  p,li{text-wrap:pretty}
  a{color:inherit; text-decoration:none}
  img{max-width:100%; display:block}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
  .eyebrow{font-weight:700; font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-deep)}
  .on-dark .eyebrow{color:var(--gold-2)}
  section{padding:clamp(44px,5vw,70px) 0}

  .btn{display:inline-flex; align-items:center; gap:.6em; font-weight:700; font-size:.97rem; letter-spacing:.02em; padding:15px 28px; border-radius:100px; cursor:pointer; border:1.5px solid transparent; transition:transform .25s,box-shadow .25s,background .25s,color .25s}
  .btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#3a2c0c; box-shadow:0 14px 30px -12px rgba(201,162,75,.7)}
  .btn-gold:hover{transform:translateY(-3px); box-shadow:0 20px 40px -12px rgba(201,162,75,.85)}
  .btn-ghost{border-color:rgba(236,230,214,.4); color:var(--light)}
  .btn-ghost:hover{border-color:var(--gold-2); color:var(--gold-2); transform:translateY(-3px)}
  .btn-outline{border-color:var(--gold); color:var(--gold-deep)}
  .btn-outline:hover{background:var(--gold); color:#3a2c0c; transform:translateY(-3px)}

  header.nav{position:sticky; top:0; z-index:50; background:rgba(14,58,51,.88); backdrop-filter:blur(12px); border-bottom:1px solid rgba(201,162,75,.18)}
  .nav-inner{display:flex; align-items:center; justify-content:space-between; height:74px}
  .brand{display:flex; align-items:center; gap:18px; color:var(--light)}
  .brand img{width:46px}
  .brand .bt{display:flex; flex-direction:column; line-height:1.05; gap:5px}
  .brand .bt b{font-family:var(--serif); font-weight:600; font-size:1.12rem}
  .brand .bt span{font-size:.64rem; letter-spacing:.1865em; margin-right:-.1865em; text-transform:uppercase; color:var(--gold-2)}
  .nav-links{display:flex; align-items:center; gap:30px}
  .nav-links a{color:var(--light-soft); font-weight:600; font-size:.93rem; transition:color .2s}
  .nav-links a:hover{color:var(--gold-2)}
  .nav-cta{padding:11px 20px; font-size:.88rem}

  .hero{position:relative; background:radial-gradient(120% 90% at 80% 6%,var(--forest-3),transparent 60%),linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light); overflow:hidden; padding:clamp(64px,7vw,84px) 0 clamp(28px,4vw,44px)}
  .flower{display:none}
  .hero .flower{top:-180px; right:-150px; width:720px; color:var(--gold)}
  .hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:54px; align-items:center; position:relative; z-index:2}
  .hero h1{font-size:clamp(2.5rem,5.2vw,4rem); color:#fff; margin:16px 0 20px}
  .hero h1 .accent{color:var(--gold-2); font-style:italic}
  .hero p.lead{font-size:1.16rem; color:var(--light-soft); max-width:40ch; margin-bottom:22px}
  .trustline{font-family:var(--serif); font-style:italic; color:var(--gold-2); font-size:1.02rem; margin-bottom:28px}
  .hero-cta{display:flex; gap:13px; flex-wrap:wrap}
  .emblem-wrap{display:flex; justify-content:center; position:relative}
  .emblem{width:min(370px,82%); filter:drop-shadow(0 30px 50px rgba(0,0,0,.45)); animation:float 7s ease-in-out infinite}
  .hero-portrait{position:relative; z-index:2; width:min(540px,100%); aspect-ratio:4/3; border-radius:var(--r); overflow:hidden; border:1px solid rgba(201,162,75,.45); box-shadow:0 34px 64px -26px rgba(0,0,0,.6)}
  .hero-portrait img{width:100%; height:100%; object-fit:cover; object-position:82% 18%}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
  .hero-ring{position:absolute; width:116%; aspect-ratio:1; border:1px solid rgba(201,162,75,.25); border-radius:50%; top:50%; left:50%; transform:translate(-50%,-50%)}
  .divider{display:block; width:100%; height:66px; margin-top:-1px}
  /* Erste Sektion nach dem Hero-Divider: Divider liefert bereits ~66px – Top-Padding reduzieren, damit der Abstand ~einer normalen Modulzone (~96px) entspricht statt ~162px */
  .divider + section{padding-top:clamp(16px,2.2vw,30px)}

  .sec-head{max-width:640px; margin-bottom:clamp(32px,4.5vw,48px)}
  .sec-head.center{margin-inline:auto; text-align:center}
  .sec-head h2{font-size:clamp(2rem,3.6vw,2.85rem); margin:14px 0 14px}
  .sec-head p{color:var(--ink-soft); font-size:1.08rem}
  .sec-head p + p{margin-top:.8em}
  .on-dark .sec-head h2{color:#fff} .on-dark .sec-head p{color:var(--light-soft)}

  /* problem */
  .qs{display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; margin:8px 0 26px; max-width:760px}
  .q-item{display:flex; gap:12px; align-items:flex-start; color:var(--ink); font-size:1.05rem}
  .q-item .qm{font-family:var(--serif); font-style:italic; color:var(--gold-deep); font-size:1.3rem; line-height:1}
  .lead-note{color:var(--ink-soft); max-width:720px}

  /* was ist */
  .whatis{background:var(--cream-2)}
  .chips{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 26px}
  .chip{background:#fff; border:1px solid rgba(168,132,47,.25); color:var(--ink); font-weight:600; font-size:.9rem; padding:9px 16px; border-radius:100px}
  .goal{font-family:var(--serif); font-style:italic; color:var(--forest); font-size:1.2rem; max-width:640px}

  /* für wen */
  .check{list-style:none; display:grid; gap:13px; max-width:760px; margin:6px 0 24px}
  .check li{display:flex; gap:13px; align-items:flex-start; font-size:1.05rem}
  .check li svg{flex:0 0 auto; margin-top:5px; color:var(--gold-deep)}
  .audience-note{background:#fff; border-left:3px solid var(--gold); border-radius:0 14px 14px 0; padding:18px 22px; color:var(--ink); max-width:760px}
  .audience-note b{color:var(--gold-deep)}

  /* pillars */
  .pillars{background:linear-gradient(180deg,#0a2c27,var(--forest)); color:var(--light); position:relative; overflow:hidden}
  .pillars .flower{bottom:-200px; left:-150px; width:600px; color:var(--gold); opacity:.07}
  .pcards{display:grid; grid-template-columns:1fr 1fr; gap:22px; position:relative; z-index:2}
  .pcard{background:rgba(255,255,255,.045); border:1px solid rgba(201,162,75,.2); border-radius:var(--r); padding:32px 30px; transition:transform .3s,border-color .3s,background .3s}
  .pcard:hover{transform:translateY(-6px); border-color:var(--gold); background:rgba(201,162,75,.07)}
  .pc-top{display:flex; align-items:center; gap:14px; margin-bottom:14px}
  .picon{width:50px; height:50px; border-radius:13px; background:rgba(201,162,75,.16); display:flex; align-items:center; justify-content:center; color:var(--gold-2); flex:0 0 auto}
  .pcard h3{color:#fff; font-size:1.3rem}
  .pcard .desc{color:var(--light-soft); margin-bottom:14px}
  .pcard .inhalt{font-size:.93rem; color:var(--light); background:rgba(201,162,75,.1); border-radius:12px; padding:12px 15px; margin-bottom:12px}
  .pcard .inhalt b{color:var(--gold-2)}
  .pcard .bsp{font-family:var(--serif); font-style:italic; color:var(--light-soft); font-size:.97rem}
  .pcard .hinweis{font-size:.82rem; color:rgba(236,230,214,.55); margin-top:12px; border-top:1px solid rgba(201,162,75,.15); padding-top:12px}
  .pcard .dur{display:inline-flex; align-items:center; gap:7px; margin-top:12px; font-size:.86rem; font-weight:700; color:var(--gold-2); letter-spacing:.01em}
  .pcard .dur svg{flex:0 0 auto}

  /* steps */
  .steps{background:var(--cream)}
  .step-cols{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center}
  .do-list{list-style:none; display:grid; gap:12px}
  .do-list li{display:flex; gap:13px; align-items:center; background:#fff; border:1px solid var(--cream-2); border-radius:14px; padding:14px 18px; font-size:1rem}
  .do-list li svg{color:var(--gold); flex:0 0 auto}
  .steps .big{font-family:var(--serif); font-weight:500; line-height:1.13; letter-spacing:-.01em; text-wrap:balance; font-size:clamp(1.8rem,3.2vw,2.5rem); color:var(--forest); margin-bottom:14px}
  .steps .sub{color:var(--ink-soft)}
  .steps .rhythm{font-family:var(--serif); font-style:italic; color:var(--gold-deep); margin-top:18px; font-size:1.15rem}

  /* about */
  .about{background:linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light); position:relative; overflow:hidden}
  .about .flower{top:-120px; right:-140px; width:520px; color:var(--gold); opacity:.08}
  .about-grid{display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; align-items:center; position:relative; z-index:2}
  .portrait{position:relative; aspect-ratio:4/5; border-radius:var(--r); background:linear-gradient(160deg,var(--forest-3),var(--teal)); border:1px solid rgba(201,162,75,.3); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:var(--shadow); overflow:hidden}
  .portrait img{width:60%; margin-top:26px}
  .portrait .ph{margin-top:auto; padding:18px; color:var(--light-soft); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase}
  .about h2{color:#fff; font-size:clamp(2rem,3.6vw,2.7rem); margin:14px 0 18px}
  .about p{color:var(--light-soft); margin-bottom:14px}

  /* trust */
  .trust{background:var(--cream-2)}
  .trust-cols{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px}
  .tcol{background:#fff; border:1px solid var(--cream-2); border-radius:var(--r); padding:28px 30px}
  .tcol h4{font-size:1.15rem; margin-bottom:16px}
  .tcol ul{list-style:none; display:grid; gap:11px}
  .tcol li{display:flex; gap:11px; align-items:center; font-size:1rem}
  .tcol li svg{flex:0 0 auto}
  .tcol.no li svg{color:#b8754e} .tcol.yes li svg{color:var(--gold-deep)}
  .trust-note{color:var(--ink-soft); font-size:.95rem; max-width:820px; font-style:italic}

  /* pricing */
  .pricing{background:var(--cream)}
  .price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch}
  .plan{background:#fff; border:1px solid var(--cream-2); border-radius:var(--r); padding:34px 28px; display:flex; flex-direction:column; box-shadow:0 14px 36px -28px rgba(8,30,26,.4); position:relative; transition:transform .3s}
  .plan:hover{transform:translateY(-6px)}
  .plan.feat{border:1.5px solid var(--gold); box-shadow:0 26px 60px -28px rgba(201,162,75,.55); transform:scale(1.02)}
  .plan.feat:hover{transform:scale(1.02) translateY(-6px)}
  .ribbon{position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#3a2c0c; font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:7px 18px; border-radius:100px; white-space:nowrap; box-shadow:0 10px 20px -8px rgba(201,162,75,.6)}
  .plan h3{font-size:1.45rem; margin-bottom:6px}
  .plan .tag{color:var(--ink-soft); font-size:.94rem; min-height:62px; margin-bottom:14px}
  .plan .price{font-family:var(--serif); font-size:2.5rem; color:var(--forest)}
  .plan .price small{font-size:1rem; color:var(--ink-soft); font-family:var(--sans)}
  .plan .save{font-size:.8rem; color:var(--gold-deep); font-weight:700; margin:2px 0 18px; min-height:18px}
  .plan ul{list-style:none; margin:4px 0 24px; display:grid; gap:10px; flex-grow:1}
  .plan li{display:flex; gap:10px; align-items:flex-start; font-size:.93rem}
  .plan li svg{flex:0 0 auto; margin-top:4px; color:var(--gold)}
  .plan li.head{font-weight:700; color:var(--ink-soft); font-size:.8rem; letter-spacing:.05em; text-transform:uppercase; margin-top:4px}
  .plan .btn{justify-content:center}
  .price-foot{text-align:center; margin-top:30px}
  .price-foot a{color:var(--gold-deep); font-weight:700; border-bottom:1px solid var(--gold)}

  /* lead */
  .lead-sec{background:linear-gradient(135deg,var(--forest-3),#0a2c27); color:var(--light); position:relative; overflow:hidden}
  .lead-sec .flower{top:-120px; left:50%; transform:translateX(-50%); width:520px; color:var(--gold); opacity:.08}
  .lead-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:46px; align-items:center; position:relative; z-index:2}
  .lead-sec h2{color:#fff; font-size:clamp(1.8rem,3.2vw,2.5rem); margin:12px 0 14px}
  .lead-sec p{color:var(--light-soft); margin-bottom:18px}
  .guide-card{background:rgba(255,255,255,.05); border:1px solid rgba(201,162,75,.25); border-radius:var(--r); padding:28px 30px}
  .guide-card .gt{font-family:var(--serif); font-size:1.25rem; color:var(--gold-2); margin-bottom:14px}
  .guide-card ul{list-style:none; display:grid; gap:10px; margin-bottom:20px}
  .guide-card li{display:flex; gap:11px; align-items:flex-start; font-size:.96rem; color:var(--light)}
  .guide-card li svg{color:var(--gold-2); flex:0 0 auto; margin-top:4px}

  /* ms verstehen */
  .verstehen{background:var(--cream)}
  .topics{display:flex; flex-wrap:wrap; gap:11px; margin:8px 0 28px; max-width:860px}
  .topic{background:#fff; border:1px solid var(--cream-2); border-radius:100px; padding:11px 20px; font-weight:600; color:var(--ink); font-size:.96rem; transition:border-color .2s,color .2s}
  .topic:hover{border-color:var(--gold); color:var(--gold-deep)}
  .verstehen-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,64px); align-items:center; margin-bottom:28px}
  .verstehen-grid h2{margin:0 0 14px}
  .verstehen-grid p{margin:0}
  .verstehen .topics{max-width:none; margin:0 0 22px}
  .verstehen-media{margin:0; border-radius:var(--r); overflow:hidden; box-shadow:0 24px 60px rgba(14,58,51,.16); aspect-ratio:4/3}
  .verstehen-media img{display:block; width:100%; height:100%; object-fit:cover}
  @media(max-width:820px){
    .verstehen-grid{grid-template-columns:1fr; gap:22px}
    .verstehen-media{order:-1}
  }

  /* faq */
  .faq{background:var(--cream-2)}
  .faq-list{max-width:820px; margin:0 auto}
  details{background:#fff; border:1px solid var(--cream-2); border-radius:16px; margin-bottom:13px; overflow:hidden}
  summary{list-style:none; cursor:pointer; padding:21px 26px; font-family:var(--serif); font-size:1.15rem; color:var(--forest); display:flex; justify-content:space-between; gap:16px; align-items:center}
  summary::-webkit-details-marker{display:none}
  summary .ic{flex:0 0 auto; width:26px; height:26px; border-radius:50%; border:1.5px solid var(--gold); color:var(--gold-deep); display:flex; align-items:center; justify-content:center; transition:transform .3s; font-size:1.2rem; line-height:1}
  details[open] summary .ic{transform:rotate(45deg)}
  details .ans{padding:0 26px 23px; color:var(--ink-soft)}
  .faq-foot{text-align:center; margin-top:26px}
  .faq-foot a{color:var(--gold-deep); font-weight:700; border-bottom:1px solid var(--gold)}

  /* final */
  .final{background:linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light); text-align:center; position:relative; overflow:hidden}
  .final .flower{top:50%; left:50%; transform:translate(-50%,-50%); width:680px; color:var(--gold); opacity:.07}
  .final .inner{max-width:680px; margin:0 auto; position:relative; z-index:2}
  .final h2{color:#fff; font-size:clamp(2.1rem,4vw,3.1rem); margin:16px 0 16px}
  .final p{color:var(--light-soft); font-size:1.12rem; margin-bottom:8px}
  .final .rhythm{font-family:var(--serif); font-style:italic; color:var(--gold-2); font-size:1.2rem; margin-bottom:28px}
  .final .btns{display:flex; gap:13px; justify-content:center; flex-wrap:wrap}

  footer{background:#082420; color:var(--light-soft); padding:60px 0 28px}
  .foot-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:38px; margin-bottom:36px}
  .foot-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px; color:var(--light)}
  .foot-brand img{width:48px} .foot-brand b{font-family:var(--serif); font-size:1.18rem; color:#fff}
  footer h5{color:var(--gold-2); font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:15px; font-weight:700}
  footer .col a{display:block; color:var(--light-soft); margin-bottom:9px; font-size:.94rem}
  footer .col a:hover{color:var(--gold-2)}
  .disclaimer{border-top:1px solid rgba(201,162,75,.18); border-bottom:1px solid rgba(201,162,75,.18); padding:20px 0; margin:6px 0 22px; font-size:.85rem; color:rgba(236,230,214,.6); line-height:1.6}
  .foot-bottom{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.83rem; color:rgba(236,230,214,.5)}
  .foot-bottom a:hover{color:var(--gold-2)}

  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1; transform:none}

  @media (max-width:920px){
    .hero-grid,.about-grid,.step-cols,.lead-grid{grid-template-columns:1fr; gap:38px}
    .emblem-wrap{order:-1}
    .pcards,.trust-cols,.qs{grid-template-columns:1fr}
    .price-grid{grid-template-columns:1fr; max-width:460px; margin-inline:auto}
    .plan.feat{transform:none} .plan.feat:hover{transform:translateY(-6px)}
    .foot-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:600px){ body{font-size:17px} .foot-grid{grid-template-columns:1fr} }
  @media (prefers-reduced-motion:reduce){ *{animation:none!important} .reveal{opacity:1;transform:none;transition:none} html{scroll-behavior:auto} }

/* ===== Subpage: Über mich ===== */
.subhero{position:relative; background:radial-gradient(120% 90% at 82% 4%,var(--forest-3),transparent 60%),linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light); overflow:hidden; padding:clamp(64px,7vw,84px) 0 clamp(22px,3vw,34px)}
.subhero .flower{top:-160px; right:-150px; width:640px; color:var(--gold)}
.subhero-grid{display:grid; grid-template-columns:1fr .8fr; gap:50px; align-items:center; position:relative; z-index:2}
.subhero h1{font-size:clamp(2.3rem,4.6vw,3.5rem); color:#fff; margin:14px 0 18px}
.subhero h1 .accent{color:var(--gold-2); font-style:italic}
.subhero p{color:var(--light-soft); font-size:1.14rem; max-width:46ch}
.subhero .portrait{aspect-ratio:4/5; max-width:330px; margin-left:auto}
/* Hero-Bild im Querformat (einheitlich auf allen Seiten) */
.subhero-media{position:relative; z-index:2; margin:0; border-radius:var(--r); overflow:hidden; border:1px solid rgba(201,162,75,.4); box-shadow:0 30px 60px -26px rgba(0,0,0,.55); aspect-ratio:4/3}
.subhero-media img{width:100%; height:100%; object-fit:cover; display:block}
@media (max-width:920px){ .subhero-media{order:-1; max-width:520px; margin:0 auto} }

.facts{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:34px; position:relative; z-index:2}
.fact{background:rgba(255,255,255,.05); border:1px solid rgba(201,162,75,.22); border-radius:16px; padding:18px 20px}
.fact b{display:block; font-family:var(--serif); color:var(--gold-2); font-size:1.5rem; line-height:1.1}
.fact span{font-size:.86rem; color:var(--light-soft)}
.fact b span{font-size:inherit; color:inherit; font-family:inherit; font-weight:inherit; display:inline}

.prose-sec{background:var(--cream)}
.prose-sec.alt{background:var(--cream-2)}
/* Direkt aufeinanderfolgende Text-Sektionen: doppeltes Padding (~192px) auf ~96px reduzieren */
.prose-sec + .prose-sec{padding-top:clamp(28px,4vw,48px)}
.prose-sec:has(+ .prose-sec){padding-bottom:clamp(28px,4vw,48px)}
/* Bild-Band ist optisch creme-tonig: Abstand der davorliegenden Sektion zum Band reduzieren */
section:has(+ .imgband){padding-bottom:clamp(28px,4vw,48px)}
.prose{max-width:740px; margin:0 auto}
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem); margin:0 0 16px}
.prose h3{font-size:1.3rem; margin:30px 0 10px; color:var(--forest)}
.prose p{color:var(--ink-soft); margin-bottom:15px; font-size:1.06rem}
.prose .eyebrow{margin-bottom:10px}

/* Kurzprofil-Streifen (Vertrauenszahlen) */
.statbar{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:900px; margin:0 auto}
.statitem{background:#fff; border:1px solid var(--cream-2); border-radius:16px; padding:20px 16px; text-align:center; box-shadow:0 12px 30px -26px rgba(8,30,26,.4)}
.statitem b{display:block; font-family:var(--serif); color:var(--gold-deep); font-size:clamp(2rem,3.2vw,2.5rem); line-height:1.05}
.statitem b span{font-size:inherit; color:inherit; font-family:inherit; display:inline}
.statitem span{display:block; color:var(--ink-soft); font-size:.9rem; margin-top:5px}
@media(max-width:600px){ .statbar{grid-template-columns:1fr 1fr} }

/* Text-Bild-Wechsel (Split) */
.split{display:grid; grid-template-columns:1.02fr .98fr; gap:48px; align-items:center; max-width:1040px; margin:0 auto}
.split .prose{margin:0; max-width:none}
.split-media{margin:0; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(201,162,75,.25); aspect-ratio:4/3}
.split-media img{width:100%; height:100%; object-fit:cover; display:block}
.split.rev .prose{order:2}
.split.rev .split-media{order:1}
@media(max-width:920px){ .split{grid-template-columns:1fr; gap:28px} .split .split-media,.split.rev .split-media{order:-1} .split.rev .prose{order:0} }

.prose ul{list-style:none; display:grid; gap:9px; margin:8px 0 16px}
.prose ul li{position:relative; padding-left:24px; color:var(--ink-soft); font-size:1.05rem}
.prose ul li::before{content:""; position:absolute; left:4px; top:11px; width:7px; height:7px; border-radius:50%; background:var(--gold)}
.prose ul.cols{grid-template-columns:1fr 1fr; gap:9px 26px}
@media(max-width:600px){ .prose ul.cols{grid-template-columns:1fr} }

.knowblock{max-width:740px; margin:0 auto; display:grid; gap:12px}
.knowblock .kw{background:#fff; border-left:3px solid var(--gold); border-radius:0 14px 14px 0; padding:16px 22px; font-family:var(--serif); font-style:italic; color:var(--forest); font-size:1.12rem}

.pullquote{max-width:820px; margin:46px auto; text-align:center; font-family:var(--serif); font-style:italic; color:var(--gold-deep); font-size:clamp(1.4rem,2.8vw,2rem); line-height:1.35}
.on-dark .pullquote{color:var(--gold-2)}

.values{max-width:740px; margin:0 auto; list-style:none; display:grid; gap:12px}
.values li{display:flex; gap:13px; align-items:flex-start; color:var(--ink); font-size:1.05rem}
.values li svg{flex:0 0 auto; margin-top:5px; color:var(--gold-deep)}

.wish{background:linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light); text-align:center; position:relative; overflow:hidden}
.wish .flower{top:50%; left:50%; transform:translate(-50%,-50%); width:620px; color:var(--gold); opacity:.07}
.wish .inner{max-width:880px; margin:0 auto; position:relative; z-index:2}
.wish h2{color:#fff; font-size:clamp(2rem,3.6vw,2.8rem); margin:14px 0 18px}
.wish p{color:var(--light-soft); font-size:1.1rem; margin-bottom:14px; max-width:700px; margin-inline:auto}

@media (max-width:920px){ .subhero-grid{grid-template-columns:1fr; gap:34px} .subhero .portrait{order:-1; margin:0 auto} .facts{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .facts{grid-template-columns:1fr 1fr; gap:12px} }

/* ===== Subpages: shared components (cards, lists, forms, legal) ===== */
/* zentrierter Sub-Hero ohne Portrait */
.subhero-narrow{max-width:820px; position:relative; z-index:2}
.subhero-narrow.center{margin:0 auto; text-align:center}

/* sichtbare Fokuszustände (Accessibility) */
a:focus-visible,.btn:focus-visible,summary:focus-visible,button:focus-visible,
input:focus-visible,textarea:focus-visible,.topic:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:6px}
.on-dark a:focus-visible,.on-dark .btn:focus-visible,.subhero a:focus-visible,
.subhero .btn:focus-visible{outline-color:var(--gold-2)}

/* Karten-Raster (Grundlagen, Symptom-Bibliothek) */
.cardgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.cardgrid.two{grid-template-columns:repeat(2,1fr)}
.acard{background:#fff; border:1px solid var(--cream-2); border-radius:var(--r); padding:0; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 14px 36px -28px rgba(8,30,26,.4); transition:transform .3s,border-color .3s}
.acard:hover{transform:translateY(-5px); border-color:var(--gold)}
.acard-img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block}
.acard-body{padding:22px 24px 24px; display:flex; flex-direction:column; flex-grow:1}
.acard h3{font-size:1.18rem; color:var(--forest); margin-bottom:9px}
.acard p{color:var(--ink-soft); font-size:.96rem; flex-grow:1; margin-bottom:16px}
.acard .alink{align-self:flex-start; color:var(--gold-deep); font-weight:700; font-size:.95rem; border-bottom:1px solid var(--gold); padding-bottom:2px}
.acard .badge{display:inline-flex; align-items:center; gap:8px; align-self:flex-start; background:var(--cream-2); color:var(--gold-deep); font-weight:700; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; padding:8px 15px; border-radius:100px}
.acard .badge::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--gold); flex:0 0 auto}
.acard.soon{background:#fffdf8}

/* Modul-Liste (Einzelmodule) */
.modlist{max-width:780px; margin:0 auto; display:grid; gap:12px}
.modrow{display:flex; align-items:center; justify-content:space-between; gap:18px; background:#fff; border:1px solid var(--cream-2); border-radius:14px; padding:18px 24px; transition:border-color .2s}
.modrow:hover{border-color:var(--gold)}
.modrow .mt{font-weight:600; color:var(--ink)}
.modrow .mp{font-family:var(--serif); font-size:1.3rem; color:var(--forest); white-space:nowrap}
.modrow .mp small{font-size:.85rem; color:var(--ink-soft); font-family:var(--sans)}

/* Hinweisbox (hell) */
.notebox{max-width:820px; margin:30px auto 0; background:#fff; border-left:3px solid var(--gold); border-radius:0 14px 14px 0; padding:20px 24px; color:var(--ink-soft)}
.notebox.warn{border-left-color:#b8754e}
.notebox strong{color:var(--ink)}

/* Kontaktformular */
.form{max-width:660px; margin:0 auto; display:grid; gap:18px}
.form .row{display:grid; grid-template-columns:1fr 1fr; gap:18px}
.field{display:grid; gap:7px}
.field label{font-weight:600; font-size:.95rem; color:var(--ink)}
.field input,.field textarea{font-family:var(--sans); font-size:1rem; color:var(--ink); background:#fff; border:1px solid var(--cream-2); border-radius:14px; padding:14px 16px; width:100%}
.field input:focus,.field textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,162,75,.25)}
.field textarea{min-height:150px; resize:vertical}
.form .btn{justify-self:start}

/* Rechtliches-Platzhalter */
.legal{max-width:740px; margin:0 auto; text-align:center}
.legal .pill{display:inline-flex; align-items:center; gap:9px; background:var(--cream-2); color:var(--gold-deep); font-weight:700; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; padding:9px 18px; border-radius:100px; margin-bottom:22px}
.legal .pill::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--gold)}
.legal p{color:var(--ink-soft); font-size:1.06rem; margin-bottom:14px}

@media (max-width:920px){ .cardgrid,.cardgrid.two{grid-template-columns:1fr 1fr} }
@media (max-width:600px){ .cardgrid,.cardgrid.two{grid-template-columns:1fr} .modrow{flex-direction:column; align-items:flex-start; gap:8px} .form .row{grid-template-columns:1fr} }

/* ===== Refinement: Balance, Navigation, Interaktivität ===== */
/* Zentrierte Info-Sektionen – ausgewogenes Layout statt linksbündig */
.sec-centered .sec-head{margin-inline:auto; text-align:center}
.sec-centered .qs,.sec-centered .check,.sec-centered .lead-note,.sec-centered .audience-note{margin-inline:auto}
.sec-centered .goal{margin-inline:auto; text-align:center}
.sec-centered .chips{justify-content:center}

/* Aktiver Menüpunkt */
.nav-links a[aria-current]{color:var(--gold-2)}
.nav-links a[aria-current]::after{content:""; display:block; height:2px; background:var(--gold-2); border-radius:2px; margin-top:3px}

/* Scroll-Fortschritt (dezent) */
.scrollbar{position:fixed; top:0; left:0; height:3px; width:0; background:linear-gradient(90deg,var(--gold-2),var(--gold)); z-index:60; transition:width .12s linear}

/* Header-Schatten beim Scrollen */
header.nav{transition:box-shadow .3s,background .3s}
header.nav.scrolled{box-shadow:0 14px 34px -20px rgba(0,0,0,.6); background:rgba(14,58,51,.95)}

/* Mobile-Menü-Button */
.nav-toggle{display:none; width:44px; height:44px; border:none; background:transparent; cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:5px; padding:0}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--light); border-radius:2px; transition:transform .3s,opacity .3s}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Portrait mit echtem Foto (Fallback auf Logo, wenn Datei fehlt) */
.portrait .pimg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center top; z-index:3}

/* Karten – etwas mehr Tiefe beim Hover */
.cardgrid .acard:hover{box-shadow:0 26px 50px -30px rgba(8,30,26,.5)}

@media (max-width:760px){
  .nav-links{display:flex; position:fixed; inset:74px 0 auto 0; flex-direction:column; align-items:flex-start; gap:0; background:rgba(10,44,39,.98); backdrop-filter:blur(12px); padding:10px 28px 20px; border-bottom:1px solid rgba(201,162,75,.2); transform:translateY(-135%); transition:transform .35s ease; box-shadow:0 24px 40px -24px rgba(0,0,0,.6)}
  body.nav-open .nav-links{transform:translateY(0)}
  .nav-links a{display:block; width:100%; padding:14px 0; font-size:1.05rem; border-bottom:1px solid rgba(201,162,75,.12)}
  .nav-links a[aria-current]::after{display:none}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
}
@media (prefers-reduced-motion:reduce){ .nav-links{transition:none} .scrollbar{display:none} }

/* Foto-Hintergrund für dunkle Sektionen (Text bleibt lesbar dank Overlay) */
.photo-bg{background-image:linear-gradient(150deg, rgba(8,36,32,.90), rgba(12,46,40,.82)), var(--bg-img); background-size:cover; background-position:center; background-repeat:no-repeat}

/* Video-Sektion */
.videosec{position:relative; overflow:hidden; background:var(--cream-2)}
.videosec.on-dark{background:linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light)}
.videosec .flower{top:-160px; right:-150px; width:520px; color:var(--gold); opacity:.08}
.videosec .sec-head{position:relative; z-index:2}
.videoframe{position:relative; z-index:2; max-width:900px; margin:0 auto; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); background:#000; border:1px solid rgba(201,162,75,.25)}
.videoframe video{display:block; width:100%; height:auto}

/* Zeitstrahl (Ablauf) */
.timeline{max-width:760px; margin:0 auto; display:grid; gap:0}
.tstep{display:grid; grid-template-columns:auto 1fr; gap:22px; position:relative; padding-bottom:30px}
.tstep:last-child{padding-bottom:0}
.tstep::before{content:""; position:absolute; left:24px; top:52px; bottom:-2px; width:2px; background:rgba(201,162,75,.35)}
.tstep:last-child::before{display:none}
.tnum{width:50px; height:50px; border-radius:50%; background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#3a2c0c; font-family:var(--serif); font-weight:600; font-size:1.3rem; display:flex; align-items:center; justify-content:center; flex:0 0 auto; box-shadow:0 10px 24px -12px rgba(201,162,75,.7); position:relative; z-index:2}
.tbody{padding-top:8px}
.tbody h4{font-family:var(--serif); font-size:1.22rem; color:var(--forest); margin-bottom:5px}
.tbody p{color:var(--ink-soft); margin:0; font-size:1.02rem}
.tbody .qs-line{margin-top:8px; color:var(--ink-soft); font-size:.98rem}
.tmeta{display:inline-flex; gap:8px; align-items:center; margin:24px auto 0; background:#fff; border:1px solid var(--cream-2); border-radius:100px; padding:9px 18px; font-weight:600; color:var(--forest); font-size:.95rem; box-shadow:0 10px 26px -22px rgba(8,30,26,.4)}
.tmeta svg{color:var(--gold-deep)}
.tmeta-wrap{text-align:center}

/* Orientierung "Welches Paket passt zu mir?" */
.orient{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:880px; margin:0 auto 38px}
.ocard{background:#fff; border:1px solid var(--cream-2); border-radius:16px; padding:20px 22px; text-align:center; box-shadow:0 12px 30px -26px rgba(8,30,26,.4)}
.ocard .pp{font-size:.76rem; text-transform:uppercase; letter-spacing:.09em; color:var(--ink-soft); font-weight:700}
.ocard b{display:block; font-family:var(--serif); color:var(--forest); font-size:1.35rem; margin:8px 0 2px}
.ocard span.note{font-size:.85rem; color:var(--gold-deep); font-weight:700}
@media(max-width:600px){ .orient{grid-template-columns:1fr; max-width:420px} }

/* Paket-Vergleichstabelle */
.cmp-wrap{max-width:940px; margin:0 auto; overflow-x:auto; -webkit-overflow-scrolling:touch}
.cmp{width:100%; border-collapse:collapse; min-width:620px; background:#fff; border:1px solid var(--cream-2); border-radius:var(--r); overflow:hidden}
.cmp th,.cmp td{padding:14px 16px; text-align:center; border-bottom:1px solid var(--cream-2); font-size:.95rem}
.cmp thead th{background:var(--cream-2); font-family:var(--serif); font-weight:600; color:var(--forest); font-size:1.08rem; vertical-align:bottom}
.cmp thead th small{display:block; font-family:var(--sans); font-weight:700; font-size:.78rem; color:var(--ink-soft); margin-top:3px}
.cmp thead th.feat{background:var(--forest); color:#fff}
.cmp thead th.feat small{color:var(--gold-2)}
.cmp td:first-child,.cmp th:first-child{text-align:left; color:var(--ink); font-weight:600; width:44%}
.cmp tbody tr:last-child td{border-bottom:none}
.cmp tr.grp td{background:var(--cream); font-weight:700; color:var(--gold-deep); text-transform:uppercase; letter-spacing:.07em; font-size:.74rem; text-align:left}
.cmp .yes{color:var(--gold-deep); font-weight:700; font-size:1.05rem}
.cmp .no{color:#c4baa6; font-weight:700}
.cmp .colfeat{background:rgba(201,162,75,.08)}
.cmp tr.pricerow td{font-family:var(--serif); color:var(--forest); font-size:1.12rem; font-weight:600; background:var(--cream)}
.cmp tr.pricerow td:first-child{font-family:var(--sans); font-size:.95rem}
@media(max-width:600px){ .cmp th,.cmp td{padding:11px 9px; font-size:.84rem} .cmp thead th{font-size:.95rem} }

/* Externer Video-Embed (Vimeo/YouTube) – responsiv 16:9 */
.embed{position:relative; z-index:2; max-width:900px; margin:0 auto; aspect-ratio:16/9; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(201,162,75,.25); background:#0a2c27}
.embed iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.embed-ph{position:absolute; inset:0; background-size:cover; background-position:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; color:#fff}
.embed-ph::before{content:""; position:absolute; inset:0; background:linear-gradient(rgba(8,36,32,.55), rgba(8,36,32,.72))}
.embed-ph .play{position:relative; width:74px; height:74px; border-radius:50%; background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#3a2c0c; display:flex; align-items:center; justify-content:center; font-size:1.7rem; padding-left:6px; box-shadow:0 14px 30px -12px rgba(201,162,75,.7)}
.embed-ph p{position:relative; font-weight:600; font-size:.92rem; background:rgba(8,36,32,.55); padding:7px 16px; border-radius:100px}

/* ===== Blog / Artikel ===== */
.article{max-width:760px; margin:0 auto}
.article > p{color:var(--ink-soft); font-size:1.07rem; margin-bottom:16px}
.article .lead{font-size:1.2rem; color:var(--ink); margin-bottom:24px}
.article h2{font-family:var(--serif); font-weight:500; font-size:clamp(1.5rem,2.8vw,2.05rem); color:var(--forest); line-height:1.18; margin:42px 0 14px}
.article h3{font-family:var(--serif); font-weight:600; font-size:1.2rem; color:var(--forest); margin:26px 0 8px}
.article ul{list-style:none; display:grid; gap:9px; margin:8px 0 18px}
.article ul li{position:relative; padding-left:24px; color:var(--ink-soft); font-size:1.04rem}
.article ul li::before{content:""; position:absolute; left:3px; top:11px; width:7px; height:7px; border-radius:50%; background:var(--gold)}
.article details{margin-top:12px}

.tldr{background:var(--cream-2); border:1px solid rgba(168,132,47,.28); border-radius:var(--r); padding:22px 24px; margin-bottom:30px}
.callout{background:#fff; border-left:3px solid var(--gold); border-radius:0 14px 14px 0; padding:18px 22px; margin:22px 0}
.callout.warn{border-left-color:#b8754e}
.tldr .lbl,.callout .lbl{display:block; font-weight:700; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:7px}
.tldr p,.callout p{margin:0; color:var(--ink)}

.related{max-width:760px; margin:10px auto 0; display:flex; flex-wrap:wrap; gap:11px}
.related a{background:#fff; border:1px solid var(--cream-2); border-radius:100px; padding:11px 20px; font-weight:600; color:var(--ink); font-size:.95rem; transition:border-color .2s,color .2s}
.related a:hover{border-color:var(--gold); color:var(--gold-deep)}

.sources{max-width:760px; margin:0 auto}
.sources ul{list-style:none; display:grid; gap:9px; margin-top:10px}
.sources li{font-size:.9rem; color:var(--ink-soft); padding-left:18px; position:relative; word-break:break-word}
.sources li::before{content:""; position:absolute; left:2px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--gold-deep)}
.sources a{color:var(--gold-deep); border-bottom:1px solid rgba(201,162,75,.5)}
.artmeta{font-family:var(--serif); font-style:italic; color:var(--gold-2); font-size:.98rem; margin-top:12px}
.byline{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:16px; color:var(--light-soft); font-size:.92rem}
.byline .ba{display:flex; align-items:center; gap:9px}
.byline img{width:34px; height:34px; border-radius:50%; object-fit:cover; border:1px solid rgba(201,162,75,.5)}
.byline b{color:var(--light); font-weight:600}
.byline .dot{opacity:.5}

/* Inhaltsverzeichnis */
.toc{background:#fff; border:1px solid var(--cream-2); border-radius:var(--r); padding:22px 26px; margin-bottom:30px}
.toc .lbl{display:block; font-weight:700; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:12px}
.toc ol{list-style:none; counter-reset:toc; display:grid; gap:9px}
.toc li{counter-increment:toc}
.toc a{display:flex; gap:11px; color:var(--ink); font-size:1rem; align-items:baseline}
.toc a::before{content:counter(toc,decimal-leading-zero); font-family:var(--serif); color:var(--gold-deep); font-size:.85rem; font-weight:600; flex:0 0 auto}
.toc a:hover{color:var(--gold-deep)}
.article h2{scroll-margin-top:90px}

/* Fach-Grafik (Figure-Card) */
.figurecard{max-width:760px; margin:26px auto; background:#fff; border:1px solid var(--cream-2); border-radius:var(--r); padding:28px 28px 18px; box-shadow:0 14px 36px -28px rgba(8,30,26,.4)}
.figurecard svg{display:block; width:100%; height:auto}
.figurecard img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover}
.figurecard figcaption{margin-top:14px; font-size:.9rem; color:var(--ink-soft); text-align:center; font-style:italic}

/* Symptom-Icon-Raster */
.symgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin:20px 0}
.symtile{background:#fff; border:1px solid var(--cream-2); border-radius:16px; padding:16px 16px; display:flex; gap:12px; align-items:center}
.symtile .ic2{width:42px; height:42px; border-radius:11px; background:rgba(201,162,75,.16); display:flex; align-items:center; justify-content:center; color:var(--gold-deep); flex:0 0 auto}
.symtile b{font-size:.96rem; color:var(--ink); font-family:var(--sans); font-weight:700; line-height:1.2}
.symgrid.center{display:flex; flex-wrap:wrap; justify-content:center}
.symgrid.center .symtile{flex:0 1 270px}
@media(max-width:600px){ .symgrid{grid-template-columns:1fr 1fr} .symgrid.center .symtile{flex:1 1 140px} }

/* Verlaufsform-Charts */
.charts{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:20px 0}
.chart{background:#fff; border:1px solid var(--cream-2); border-radius:16px; padding:16px 16px 14px}
.chart h4{font-family:var(--serif); font-size:1.05rem; color:var(--forest); margin-bottom:2px}
.chart .cap{font-size:.8rem; color:var(--ink-soft); margin-bottom:8px}
.chart svg{display:block; width:100%; height:auto}
@media(max-width:760px){ .charts{grid-template-columns:1fr; max-width:420px; margin-inline:auto} }

/* Bild-Band – breite, gerundete Aufnahme zur Auflockerung */
.imgband{padding:clamp(30px,5vw,52px) 0}
.bandframe{position:relative; margin:0; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow); aspect-ratio:16/6}
.bandframe img{width:100%; height:100%; object-fit:cover; object-position:center 35%; display:block}
.bandframe figcaption{position:absolute; left:0; right:0; bottom:0; padding:34px 30px 18px; background:linear-gradient(transparent, rgba(8,36,32,.78)); color:var(--light); font-family:var(--serif); font-style:italic; font-size:1.08rem}
@media (max-width:600px){ .bandframe{aspect-ratio:4/3} .bandframe figcaption{font-size:.98rem} }

/* === Programmseite: Module beige, Pakete grün (nur auf .on-beige/.on-green) === */
.pillars.on-beige{background:var(--cream-2); color:var(--ink)}
.on-beige .pcard{background:#fff; border:1px solid var(--cream-2); box-shadow:0 14px 36px -28px rgba(8,30,26,.4)}
.on-beige .pcard:hover{border-color:var(--gold); background:#fff}
.on-beige .picon{background:rgba(201,162,75,.16); color:var(--gold-deep)}
.on-beige .pcard h3{color:var(--forest)}
.on-beige .pcard .desc{color:var(--ink-soft)}
.on-beige .pcard .inhalt{background:var(--cream); color:var(--ink)}
.on-beige .pcard .inhalt b{color:var(--gold-deep)}
.on-beige .pcard .bsp{color:var(--ink-soft)}
.on-beige .pcard .dur{color:var(--gold-deep)}
.on-beige .pcard .hinweis{color:var(--ink-soft); border-top:1px solid var(--cream-2)}

.pricing.on-green{background:linear-gradient(160deg,var(--forest),#0a2c27); color:var(--light)}
.pricing.on-green .eyebrow{color:var(--gold-2)}
.pricing.on-green .sec-head h2{color:#fff}
.pricing.on-green .sec-head p{color:var(--light-soft)}
.pricing.on-green .price-foot{color:var(--light-soft)}
.pricing.on-green .price-foot a{color:var(--gold-2); border-bottom-color:var(--gold-2)}

/* Paket-Karten auf grüner Sektion: Text wieder dunkel (weisse Karten) */
.pricing.on-green .plan{color:var(--ink)}
.pricing.on-green .plan h3{color:var(--forest)}
.pricing.on-green .plan li{color:var(--ink)}

/* Video-Facade (Klick startet den Player) */
a.embed-ph{cursor:pointer}
a.embed-ph .play{transition:transform .25s ease}
a.embed-ph:hover .play{transform:scale(1.08)}

/* ---------- Rechtstexte (Impressum, Datenschutz, AGB) ---------- */
.legal-doc{max-width:840px; margin:0 auto; text-align:left}
.legal-doc h2{font-size:1.45rem; color:var(--forest); margin:38px 0 12px}
.legal-doc h2:first-of-type{margin-top:0}
.legal-doc h3{font-family:var(--sans); font-weight:700; font-size:1.02rem; color:var(--forest); margin:22px 0 8px}
.legal-doc p{color:var(--ink-soft); margin-bottom:13px}
.legal-doc ul{list-style:none; margin:0 0 16px; display:grid; gap:8px}
.legal-doc ul li{color:var(--ink-soft); padding-left:20px; position:relative}
.legal-doc ul li::before{content:"–"; position:absolute; left:0; color:var(--gold-deep); font-weight:700}
.legal-doc a{color:var(--gold-deep); border-bottom:1px solid rgba(201,162,75,.5)}
.legal-doc strong{color:var(--ink)}
.legal-doc .todo{background:#fff8ea; border-left:3px solid #C9A24B; border-radius:0 12px 12px 0;
  padding:14px 18px; margin:0 0 22px; color:var(--ink); font-size:.95rem}
.legal-doc .todo b{color:var(--gold-deep)}
.legal-doc .stand{font-size:.9rem; color:var(--ink-soft); border-top:1px solid var(--cream-2);
  padding-top:16px; margin-top:38px}
.legal-doc dl{margin:0 0 16px}
.legal-doc dt{font-weight:700; color:var(--ink); margin-top:12px}
.legal-doc dd{color:var(--ink-soft); margin:0}

/* Einwilligungs-Checkbox im Kontaktformular */
.form .consent label{display:flex; gap:11px; align-items:flex-start; font-size:.94rem;
  color:var(--ink-soft); font-weight:400; cursor:pointer; line-height:1.5}
.form .consent input[type="checkbox"]{width:19px; height:19px; flex:0 0 auto; margin-top:2px;
  accent-color:var(--gold-deep); cursor:pointer}
.form .consent a{color:var(--gold-deep); border-bottom:1px solid rgba(201,162,75,.5)}
.form button[disabled]{opacity:.65; cursor:progress}
