/* ==========================================================================
   Elena Stark Coaching – Stylesheet
   Aufbau nach dem Muster von thinver.com (Sticky-Header, Hero, Section-Heads
   mit Eyebrow, Karten-Grids, dunkles Statement-Band, CTA-Block, 4-spaltiger
   Footer, Floating-Button). Farben & Schriften aus Elenas Entwurf.
   ========================================================================== */
:root{
  --cream:#FBF8F1; --cream-deep:#F3EEE2; --sage-bg:#EEF1E6;
  --ink:#3C4232; --sage:#54603E; --sage-dark:#46512F; --sage-soft:#8A9A6F; --sage-mute:#8E967A;
  --terra:#DD895A; --terra-soft:#E8A57E; --heart:#C79BD6; --line:#DAD3C2;
  --shadow:0 18px 50px -28px rgba(60,66,50,.45);
  --serif:'Cormorant Garamond',Georgia,serif; --body:'EB Garamond',Georgia,serif; --script:'Satisfy',cursive;
  --header-h:84px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{background:var(--cream);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
::selection{background:var(--terra-soft);color:#fff}
a{color:var(--sage)}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--sage);color:#fff;padding:8px 14px;z-index:100}
.skip-link:focus{left:8px}

/* ---------- Layout ---------- */
.container{max-width:1160px;margin:0 auto;padding:0 32px}
section{padding:clamp(72px,10vw,128px) 0}
.tint{background:var(--cream-deep)}
.tint-sage{background:var(--sage-bg)}

/* ---------- Typo ---------- */
.eyebrow{font-family:var(--serif);letter-spacing:.38em;text-transform:uppercase;font-size:.74rem;font-weight:600;color:var(--terra);display:inline-block;margin-bottom:1.2rem}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;color:var(--sage)}
h2{font-size:clamp(2rem,4.4vw,3.3rem);margin-bottom:.5em}
h2 strong,h1 strong{font-weight:700;font-style:italic}
h3{font-size:clamp(1.4rem,2.4vw,1.85rem);color:var(--terra)}
p{margin-bottom:1.1rem}
strong{font-weight:600;color:var(--sage)}
em{font-style:italic;color:var(--terra)}
.muted{color:var(--sage-mute)}
.accent-line{font-family:var(--serif);font-weight:600;color:var(--sage);font-size:1.28rem;line-height:1.4}
.ask{font-family:var(--serif);font-weight:700;font-style:italic;font-size:clamp(1.6rem,3vw,2.2rem);color:var(--sage);margin:1.2rem 0}
.section-head{max-width:62ch;margin-bottom:3.2rem}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;cursor:pointer;border:1px solid var(--sage);font-family:var(--serif);font-size:1.08rem;font-weight:600;letter-spacing:.04em;background:var(--sage);color:var(--cream);padding:.85rem 1.6rem;border-radius:3px;transition:transform .25s,background .25s,box-shadow .25s,gap .25s}
.btn:hover{background:var(--sage-dark);transform:translateY(-2px);box-shadow:var(--shadow);gap:1rem}
.btn svg{width:18px;height:12px}
.btn-ghost{background:transparent;color:var(--sage)}
.btn-ghost:hover{background:var(--sage);color:var(--cream)}
.btn-light{background:var(--cream);color:var(--sage);border-color:var(--cream)}
.btn-light:hover{background:#fff}

/* ---------- Header (sticky, wie thinver) ---------- */
header.main{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(251,248,241,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .4s,box-shadow .4s}
header.main.scrolled{border-color:var(--line);box-shadow:0 10px 30px -24px rgba(60,66,50,.5)}
.nav{display:flex;align-items:center;height:var(--header-h);gap:24px}
.logo-wrap{display:flex;flex-direction:column;line-height:1;text-decoration:none;flex:0 0 auto}
.logo-wrap .mark{font-family:var(--script);font-size:1.85rem;color:var(--terra);white-space:nowrap}
.mark .dot{color:var(--heart)}
.logo-wrap .tag{font-family:var(--serif);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-soft);margin-top:.4rem;white-space:nowrap}
.logo-wrap .tag b{color:var(--sage);font-weight:600}
.nav-links{display:flex;gap:30px;margin-left:auto}
.nav-links a{font-family:var(--serif);color:var(--sage);text-decoration:none;font-size:1.06rem;position:relative;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--terra)}
.nav-links a:hover::after,.nav-links a[aria-current]::after{transform:scaleX(1)}
.nav-cta{flex:0 0 auto;padding:.7rem 1.3rem;font-size:1rem}
.ham-btn{display:none;margin-left:auto;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:10px}
.ham-btn span{width:26px;height:2px;background:var(--sage);transition:.3s}
.ham-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ham-btn.active span:nth-child(2){opacity:0}
.ham-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;background:var(--cream);border-top:1px solid var(--line);box-shadow:var(--shadow);padding:18px 32px 26px}
.mobile-nav.open{display:block}
.mobile-nav-links{display:flex;flex-direction:column}
.mobile-nav-links a{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--sage);text-decoration:none;padding:.6rem 0;border-bottom:1px solid var(--line)}
.mobile-nav-bottom{margin-top:18px}

/* ---------- Hero ---------- */
.hero{padding-top:calc(var(--header-h) + clamp(56px,7vw,96px))}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(36px,5vw,72px);align-items:center}
.hero-label{font-family:var(--serif);letter-spacing:.32em;text-transform:uppercase;font-size:.78rem;font-weight:600;color:var(--terra);margin-bottom:1.4rem}
.hero h1{font-size:clamp(2.7rem,6vw,4.7rem);margin-bottom:.35em}
.hero-lead{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.35;color:var(--ink);margin-bottom:1.6rem}
.hero-lead b{font-weight:600;color:var(--terra)}
.hero-human{border-left:3px solid var(--terra);padding-left:1.2rem;color:var(--ink);max-width:46ch}
.welcome{font-family:var(--serif);font-style:italic;font-size:1.45rem;color:var(--sage);font-weight:600;margin:1.4rem 0 2rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:1.8rem;font-size:.95rem;color:var(--sage-mute)}
.hero-trust li{display:flex;align-items:center;gap:.5rem}
.hero-trust li::before{content:"✓";color:var(--terra);font-weight:700}

/* ---------- Fotos ---------- */
.photo{position:relative;border-radius:4px;overflow:hidden;box-shadow:var(--shadow);background:var(--sage-bg)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.portrait{aspect-ratio:4/5}
.photo.landscape{aspect-ratio:3/2}

/* ---------- Split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,84px);align-items:center}
.split.top{align-items:start}
.split.reverse .photo{order:-1}
.stack p{margin-bottom:.9rem}

/* ---------- Statement-Band (wie thinver "Mission") ---------- */
.mission{background:var(--ink);color:#e6e8dc;position:relative;overflow:hidden}
.mission::before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(221,137,90,.22),transparent 70%)}
.mission .container{position:relative}
.mission .eyebrow{color:var(--terra-soft)}
.mission h3{color:var(--terra-soft);margin-bottom:1rem}
.mission p{color:#d9dccd}
.mission strong{color:#fff}
.mission .accent-line{color:#fff}
.mission-quote{font-family:var(--serif);font-weight:500;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.18;color:#fff;margin:2rem 0}
.mission-quote em{color:var(--terra-soft)}
.mission .photo{box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}

/* ---------- Problem-/Nummern-Liste (wie thinver "Problem") ---------- */
.num-list{list-style:none;counter-reset:n}
.num-list li{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.num-list li:first-child{padding-top:0}
.num-list li:last-child{border-bottom:none}
.num-list .n{font-family:var(--serif);font-size:1.7rem;color:var(--terra);line-height:1.2}
.num-list p{margin:0}

/* ---------- Karten (wie thinver "Pillars") ---------- */
.card-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:clamp(28px,3.4vw,44px);position:relative;box-shadow:0 14px 40px -32px rgba(60,66,50,.5)}
.card::before{content:"";position:absolute;left:clamp(28px,3.4vw,44px);top:-1px;width:56px;height:3px;background:var(--terra)}
.card.soft::before{background:var(--sage-soft)}
.card-label{font-family:var(--serif);letter-spacing:.3em;text-transform:uppercase;font-size:.7rem;font-weight:600;color:var(--terra);margin-bottom:.6rem}
.card.soft .card-label{color:var(--sage-soft)}
.card h3{color:var(--sage);margin-bottom:1rem}
.vlist{list-style:none;margin:1rem 0 1.4rem}
.vlist li{display:flex;gap:.8rem;align-items:baseline;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:1.08rem}
.vlist li:last-child{border-bottom:none}
.vlist .ic{color:var(--terra);flex:0 0 auto}
.vlist.no .ic{color:var(--sage-soft)}
.quote-block{border-left:3px solid var(--terra);padding-left:1.3rem;margin-top:1.6rem}
.quote-block .big{font-family:var(--serif);font-weight:700;font-style:italic;font-size:1.45rem;line-height:1.3;color:var(--sage);margin:0}
.reg{font-size:.95rem;color:var(--sage-mute);font-style:italic}

/* ---------- Angebot (wie thinver "Product") ---------- */
.offer-box{display:grid;grid-template-columns:1.15fr .85fr;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.offer-text{background:#fff;padding:clamp(32px,4vw,56px)}
.offer-text h3{color:var(--sage);font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:.6rem}
.offer-panel{background:var(--sage);color:var(--cream);padding:clamp(32px,4vw,56px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.6rem}
.offer-panel .price{font-family:var(--serif);font-size:4rem;font-weight:600;color:#fff;line-height:1}
.offer-panel .price small{font-size:1.15rem;font-weight:400;opacity:.85}
.offer-panel .dur{color:rgba(255,255,255,.82);font-style:italic;margin:0 0 1rem}

/* ---------- Brief / Manifest ---------- */
.letter .container{max-width:780px;text-align:center}
.letter p{color:var(--sage-soft);margin-bottom:.15rem;font-size:1.15rem}
.letter .grp{margin-bottom:1.5rem}
.letter .em-line{color:var(--sage);font-weight:600;font-size:1.38rem;font-family:var(--serif);line-height:1.45}
.letter .terra{color:var(--terra)}
.letter strong{color:var(--sage)}
.sig{font-family:var(--script);font-size:2.5rem;color:var(--terra)!important;margin-top:1.6rem}

/* ---------- CTA (wie thinver "cta-wrap") ---------- */
.cta{background:var(--sage-bg)}
.cta-wrap{background:var(--sage);color:var(--cream);border-radius:10px;padding:clamp(44px,6vw,84px) clamp(28px,6vw,80px);text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.cta-wrap::after{content:"";position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(232,165,126,.28),transparent 70%)}
.cta-wrap>*{position:relative;z-index:1}
.cta-wrap .eyebrow{color:var(--terra-soft)}
.cta-wrap h2{color:#fff}
.cta-wrap p{color:rgba(255,255,255,.85);max-width:50ch;margin:0 auto 2rem}
.cta-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:14px}

/* ---------- Platzhalter-Kennzeichnung ---------- */
.ph{display:inline-block;background:#FFF3C4;color:#6b5400;border:1px dashed #C9A227;border-radius:3px;padding:0 .4em;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78em;font-style:normal;line-height:1.6}
.cta-wrap .ph{margin-top:1.2rem}

/* ---------- Footer (4 Spalten wie thinver) ---------- */
footer{background:var(--ink);color:#cdd2c0;padding:64px 0 32px;font-size:1rem}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer-brand .mark{font-family:var(--script);font-size:1.8rem;color:var(--terra-soft);line-height:1.2}
.footer-brand .ftag{font-family:var(--serif);letter-spacing:.28em;text-transform:uppercase;font-size:.62rem;color:#9aa388;margin:.5rem 0 1rem}
.footer-brand p{color:#a9b09a;max-width:34ch;font-size:.98rem}
.footer-col h3{font-family:var(--serif);font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:#9aa388;font-weight:600;margin-bottom:1rem}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.45rem;color:#cdd2c0}
.footer-col a{color:#cdd2c0;text-decoration:none;font-family:var(--serif);font-size:1.05rem}
.footer-col a:hover{color:var(--terra-soft)}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;font-size:.88rem;color:#7e8670}

/* ---------- Floating-Button (wie thinver "Book a call") ---------- */
.fb-btn{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;align-items:center;gap:.5rem;background:var(--terra);color:#fff;text-decoration:none;font-family:var(--serif);font-weight:600;font-size:1rem;padding:.7rem 1.15rem;border-radius:999px;box-shadow:0 12px 30px -12px rgba(60,66,50,.6);transition:transform .25s,background .25s}
.fb-btn:hover{background:#cf7646;transform:translateY(-2px)}
.fb-btn svg{width:16px;height:16px}

/* ---------- Rechtsseiten (wie thinver Impressum) ---------- */
.page-head{background:var(--sage-bg);padding:calc(var(--header-h) + 64px) 0 64px}
.breadcrumb{font-size:.92rem;color:var(--sage-mute);margin-bottom:1rem}
.breadcrumb a{color:var(--sage-mute);text-decoration:none}
.breadcrumb a:hover{color:var(--terra)}
.breadcrumb .sep{margin:0 .5rem}
.page-head h1{font-size:clamp(2.6rem,5.5vw,4rem);margin-bottom:.3em}
.page-head .subtitle{color:var(--sage-mute);margin:0}
.content{padding:clamp(56px,7vw,96px) 0}
.content-grid{display:grid;grid-template-columns:220px 1fr;gap:56px}
.content-sidebar .side-label{font-family:var(--serif);letter-spacing:.28em;text-transform:uppercase;font-size:.7rem;font-weight:600;color:var(--sage);border-top:2px solid var(--terra);padding-top:.7rem;position:sticky;top:calc(var(--header-h) + 24px)}
.content-main h2{font-size:1.75rem;padding-bottom:.6rem;border-bottom:1px solid var(--line);margin:2.6rem 0 1.2rem}
.content-main h2:first-child{margin-top:0}
.info-card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:4px;padding:26px 30px;margin-bottom:22px}
.info-card .card-label{color:var(--sage)}
.row{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:.6rem 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:none}
.row .label{color:var(--sage-mute);font-size:.95rem}
.note{font-size:.92rem;color:var(--sage-mute);font-style:italic}

/* ---------- Scroll-Reveal ----------
   Inhalte sind standardmäßig SICHTBAR. Nur wenn JS läuft (html.js) und ein
   Element beim Laden noch nicht im Viewport war, wird es bis zum Hineinscrollen
   ausgeblendet. Ohne JS, bei Druck und bei "reduzierter Bewegung" bleibt alles
   sichtbar; ganzseitige Screenshots zeigen alles, da dann alles im Viewport ist. */
html.js .reveal:not(.in){opacity:0;transform:translateY(22px)}
html.js .reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
html.js .hero .reveal{opacity:1;transform:none;transition:none}
@media print{html.js .reveal{opacity:1!important;transform:none!important}.fb-btn,header.main{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.js .reveal{opacity:1!important;transform:none!important;transition:none}.btn:hover,.fb-btn:hover{transform:none}}

/* ---------- Responsive ---------- */
@media(max-width:1080px){.nav-links{gap:20px}.nav-links a{font-size:1rem}}
@media(max-width:960px){
  .nav-links,.nav .nav-cta{display:none}
  .ham-btn{display:flex}
  .hero-grid,.split,.card-grid,.offer-box{grid-template-columns:1fr}
  .split.reverse .photo{order:0}
  .footer-top{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .content-grid{grid-template-columns:1fr;gap:24px}
  .content-sidebar .side-label{position:static}
}
@media(max-width:600px){
  :root{--header-h:72px}
  body{font-size:18px}
  .container{padding:0 22px}
  .logo-wrap .mark{font-size:1.6rem}
  .logo-wrap .tag{font-size:.52rem;letter-spacing:.22em}
  .hero h1{font-size:2.6rem}
  .hero-ctas .btn{width:100%;justify-content:center}
  .cta-buttons .btn{width:100%;justify-content:center}
  .footer-top{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:2px}
  .info-card{padding:22px 20px}
  .num-list li{grid-template-columns:44px 1fr}
  .fb-btn{right:14px;bottom:14px;font-size:.95rem}
}
.offer-text .dur-text{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--ink);margin:0}
.cta-wrap h2 strong{color:var(--terra-soft)}
.cta{background:var(--cream)}
.hero-label{text-transform:none;letter-spacing:.12em;font-size:1.05rem}
/* ---------- Echte Fotos (Okt 2026) ---------- */
.photo picture{display:block;width:100%;height:100%}
.photo.tall{aspect-ratio:2/3}
.way-photo{margin-top:2rem;max-width:460px}
.letter .container{max-width:1100px}
#brief .container{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:clamp(40px,6vw,80px);align-items:start;text-align:center}
#brief .container>.eyebrow{grid-column:1/-1;justify-self:center}
#brief .letter-photo{position:sticky;top:calc(var(--header-h) + 32px);margin-top:.4rem}
.cta-avatar{width:148px;height:148px;margin:0 auto 1.6rem;border-radius:50%;overflow:hidden;border:4px solid rgba(251,248,241,.9);box-shadow:0 18px 40px -18px rgba(0,0,0,.45)}
.cta-avatar picture,.cta-avatar img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:960px){
  #brief .container{grid-template-columns:1fr;max-width:780px}
  #brief .letter-photo{position:static;width:min(260px,70%);justify-self:center;margin:0 0 2.4rem}
  .way-photo{max-width:none}
}
@media(max-width:600px){.cta-avatar{width:120px;height:120px}}
#das-bist-du .way-split{align-items:center}

/* ===== Neue Bausteine (Okt 2026): Breathwork, Angebotskarten, Gruppen-Auszeit, Stimmen =====
   Nur CSS-Variablen – Farben kommen aus :root bzw. dem Paletten-Block unten. */
:root{--panel:var(--sage-bg)}
.lead-serif{font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.45rem);line-height:1.45;color:var(--ink)}
.mini-h{font-size:1.2rem;color:var(--sage);margin:1.8rem 0 .4rem;letter-spacing:.02em}
.meta-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;margin:1.2rem 0;font-size:.95rem;color:var(--sage-mute)}
.meta-list li{display:flex;align-items:center;gap:.5rem}
.meta-list li::before{content:"✓";color:var(--terra);font-weight:700}
.bw-cards{margin-top:clamp(48px,6vw,80px)}
.bw-cards .num-list li{grid-template-columns:48px 1fr;padding:1rem 0}
.bw-cards .num-list .n{font-size:1.4rem}
.note-box{background:var(--cream-deep);border-left:3px solid var(--terra-soft);border-radius:4px;padding:1rem 1.2rem;margin-top:1.4rem}
.note-box p{font-size:.95rem;line-height:1.6;color:var(--ink);margin:0}
.center-cta{text-align:center;margin-top:2.6rem}
.small-note{font-size:.92rem;color:var(--sage-mute);font-style:italic;margin-top:1.4rem}
/* Angebotskarten */
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.offer-card{display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}
.offer-card-body{padding:clamp(26px,3vw,38px);flex:1}
.offer-card-body h3{color:var(--sage);font-size:clamp(1.55rem,2.4vw,1.95rem);margin-bottom:.6rem}
.offer-card .dur-text{font-family:var(--serif);font-style:italic;font-size:1.22rem;line-height:1.4;color:var(--ink);margin:0 0 .4rem}
.offer-card .meta-list{flex-direction:column;gap:4px;margin-bottom:0}
.offer-card-foot{background:var(--panel);color:var(--ink);padding:clamp(22px,2.6vw,32px) clamp(26px,3vw,38px);display:flex;flex-direction:column;align-items:flex-start;gap:.8rem}
.offer-card-foot .price{font-family:var(--serif);font-size:3rem;font-weight:600;color:var(--sage);line-height:1}
.offer-card-foot .price small{font-size:1.05rem;font-weight:400}
.offer-card-foot .price.price-sm{font-size:1.75rem;line-height:1.2;padding:.45rem 0}
/* Gruppen */
.vlist.two-col{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:.4rem}
.vlist.two-col li:nth-last-child(2){border-bottom:none}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:.6rem 0 1rem}
.chips li{border:1px solid var(--line);background:var(--sage-bg);color:var(--ink);border-radius:999px;padding:.25rem .9rem;font-size:.95rem}
/* Stimmen */
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.grp-quotes{margin-top:clamp(48px,6vw,80px)}
.testimonial{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:clamp(28px,3.4vw,44px);position:relative;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}
.grp-quotes .testimonial{background:var(--sage-bg)}
.testimonial::before{content:"\201C";position:absolute;top:18px;left:clamp(24px,3vw,40px);font-family:var(--serif);font-size:4.6rem;line-height:1;color:var(--terra-soft)}
.testimonial blockquote{padding-top:1.6rem}
.testimonial blockquote p{font-family:var(--serif);font-size:1.22rem;line-height:1.55;font-style:italic;color:var(--ink);margin:1.2rem 0 1rem}
.testimonial figcaption{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:600;color:var(--terra)}
/* Kontakt: Ort */
.cta-loc{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:-.8rem 0 2rem;font-size:.98rem}
.cta-loc li::before{content:"✓ ";color:var(--terra)}
@media(max-width:960px){
  .offer-grid,.testimonial-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .vlist.two-col{grid-template-columns:1fr}
  .vlist.two-col li:nth-last-child(2){border-bottom:1px solid var(--line)}
  .offer-card-foot .btn,.center-cta .btn,#gruppen .hero-ctas .btn{width:100%;justify-content:center}
}

/* Textfarbe weicher (Okt 2026): #29292A -> #4A423D, muted #66605D -> #6B625D, Hover #735C56 mit weißer Schrift */
/* ===== FARBVARIANTE (orientiert an Referenz): Greige & Taupe (nur Farben/Flächen überschrieben – Vorschau) ===== */
:root{
  --cream:#FFFFFF; --cream-deep:#F1EEEA; --sage-bg:#F7F5F2;
  --ink:#4A423D; --sage:#4A423D; --sage-dark:#4A423D; --sage-soft:#6B625D; --sage-mute:#6B625D;
  --terra:#735C56; --terra-soft:#AD9A94; --heart:#4A423D; --line:#E3DDD8;
  --band:#7B6658; --panel:#E8E1DC; --btn:#735C56; --btn-hover:#5F4B46; --btn-text:#FFFFFF;
  --shadow:0 18px 50px -30px rgba(74,66,61,.30);
}
::selection{background:var(--terra-soft);color:var(--ink)}
header.main{background:rgba(255,255,255,.9)}
header.main.scrolled{box-shadow:0 10px 30px -24px rgba(74,66,61,.35)}
/* Buttons: freundlicher Pastellton mit dunkler Schrift */
.btn{background:var(--btn);border-color:var(--btn);color:var(--btn-text)}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-text)}
.btn-ghost{background:transparent;border-color:var(--sage);color:var(--sage)}
.btn-ghost:hover{background:var(--sage);border-color:var(--sage);color:#fff}
.btn-light{background:#fff;border-color:#fff;color:var(--sage)}
.btn-light:hover{background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-text)}
.skip-link{background:var(--btn);color:var(--btn-text)}
.card::before,.hero-human,.quote-block{border-color:var(--terra-soft)}
.card::before{background:var(--terra-soft)}
.card.soft::before{background:var(--btn)}
.hero-human,.quote-block{border-left-color:var(--terra-soft)}
/* Statement-Band: helle Tönung, dunkle Schrift */
.mission{background:var(--band);color:var(--ink)}
.mission::before{background:radial-gradient(circle,rgba(255,255,255,.75),transparent 70%)}
.mission .eyebrow,.mission h3,.mission-quote em{color:var(--terra)}
.mission p{color:var(--ink)}
.mission strong,.mission .accent-line{color:var(--ink)}
.mission-quote{color:var(--sage)}
.mission .photo{box-shadow:0 30px 60px -34px rgba(74,66,61,.35)}
/* Preis-Panel & Kontakt-Box: hell */
.offer-panel{background:#E8E1DC;color:var(--ink)}
.offer-panel .price{color:var(--sage)}
.offer-panel .dur{color:var(--ink)}
.cta-wrap{background:#E8E1DC;color:var(--ink)}
.cta-wrap::after{background:radial-gradient(circle,rgba(255,255,255,.7),transparent 70%)}
.cta-wrap .eyebrow,.cta-wrap h2 strong{color:var(--terra)}
.cta-wrap h2{color:var(--sage)}
.cta-wrap p{color:var(--ink)}
.cta-avatar{border-color:#fff}
/* Footer: hell */
footer{background:#F1EEEA;color:var(--ink)}
.footer-top{border-bottom-color:rgba(74,66,61,.12)}
.footer-brand .mark{color:var(--terra)}
.footer-brand .ftag,.footer-col h3{color:var(--sage-mute)}
.footer-brand p{color:var(--sage-mute)}
.footer-col li,.footer-col a{color:var(--ink)}
.footer-col a:hover{color:var(--terra)}
.footer-bottom,.footer-bottom a{color:var(--sage-mute)}
.fb-btn{background:var(--btn);color:var(--btn-text);box-shadow:0 12px 30px -14px rgba(74,66,61,.45)}
.fb-btn:hover{background:var(--btn-hover);color:var(--btn-text)}

/* Statement-Band dunkel – spiegelt das warme Taupe-Fotoband der Referenz */
.mission{background:var(--band);color:#fff}
.mission::before{background:radial-gradient(circle,rgba(255,255,255,.10),transparent 70%)}
.mission .eyebrow,.mission h3,.mission-quote em{color:#F1EEEA}
.mission p,.mission strong,.mission .accent-line,.mission-quote{color:#fff}
.mission .photo{box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}

/* Hero in Greige wie die Referenz (Hintergründe der Abschnitte wechseln über .tint / .tint-sage) */
.hero{background:var(--cream-deep)}

/* Breathwork: nur noch eine Karte – Liste und Hinweis nebeneinander */
.bw-cards.single{grid-template-columns:1fr}
.bw-single .bw-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.bw-single .note-box{margin-top:.4rem}
@media(max-width:860px){.bw-single .bw-inner{grid-template-columns:1fr;gap:0}.bw-single .note-box{margin-top:1.4rem}}
.cta-contact{margin:1.4rem 0 0;font-size:1rem;color:var(--ink)}
.cta-contact a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--terra-soft);text-underline-offset:3px}
.cta-contact a:hover{color:var(--terra)}
@media(max-width:600px){.cta-contact>span{display:none}.cta-contact a{display:block;padding:.35rem 0}}
.cta-wrap .cta-contact{margin:1.5rem auto 0}
a[href^="tel:"]{font-variant-numeric:lining-nums;white-space:nowrap}
/* Angebotskarten: Body- und Fußbereiche über alle Karten auf gleicher Höhe (Subgrid) */
.offer-grid{grid-auto-rows:auto}
.offer-card{display:grid;grid-row:span 2;grid-template-rows:subgrid;gap:0}
.offer-card-foot .price-sub{font-size:.95rem;letter-spacing:.04em;color:var(--terra);margin-top:-.35rem}
.offer-card-foot .btn{margin-top:auto}

/* ===== Runde Okt 2026: Header ohne CTA, Angebot-Untermenü, Angebot 1:1 / Gruppen ===== */
/* Header: Dropdown "Angebot" (Hover + Tastatur-Fokus) */
.nav-links{align-items:center}
.nav-item{position:relative}
.nav-item>a .caret{display:inline-block;width:.42em;height:.42em;margin-left:.45em;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.2em) rotate(45deg);transition:transform .2s}
.has-sub:hover>a .caret,.has-sub:focus-within>a .caret{transform:translateY(0) rotate(-135deg)}
.sub-menu{position:absolute;top:100%;left:-18px;min-width:180px;padding:14px 0 10px;margin-top:10px;background:var(--cream);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:60}
.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.nav-links .sub-menu a{padding:.45rem 18px;font-size:1rem}
.nav-links .sub-menu a::after{display:none}
.nav-links .sub-menu a:hover,.nav-links .sub-menu a:focus-visible{color:var(--terra);background:var(--panel)}
/* Mobile: eingerückte Unterpunkte */
.mobile-nav-links a.sub{padding-left:1.4rem;font-size:1.08rem;color:var(--sage-soft)}
.mobile-nav-links a.sub::before{content:"– ";color:var(--terra)}
/* Footer: eingerückte Unterpunkte */
.footer-col li.sub{padding-left:1rem}
/* Angebot: Unterteile 1:1 und Gruppen */
.angebot-sub{scroll-margin-top:90px}
.angebot-sub+.angebot-sub{margin-top:clamp(3.5rem,7vw,6rem)}
.sub-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem 1rem;padding-bottom:.9rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}
.sub-head .sub-num{font-family:var(--serif);font-size:1rem;letter-spacing:.12em;color:var(--terra)}
.sub-head h3{margin:0;font-size:clamp(1.7rem,3vw,2.2rem);color:var(--ink)}
.sub-head p{margin:0 0 0 auto;color:var(--sage-soft);font-size:1rem}
.offer-grid.two{grid-template-columns:repeat(2,1fr)}
.h2-like{font-size:clamp(2rem,4.4vw,3.3rem);margin-bottom:.5em}
.h2-like strong{font-weight:700;font-style:italic}
@media(max-width:600px){.offer-grid.two{grid-template-columns:1fr}.sub-head p{margin-left:0;flex-basis:100%}}
h4.h2-like,h5.mini-h{font-family:var(--serif);font-weight:500;line-height:1.12;color:var(--sage)}
#stimmen .testimonial{background:var(--sage-bg)}
#ausbildung .card{background:var(--sage-bg)}
.sub-menu a,.mobile-nav-links a,.sub-head,.footer-col li.sub{font-variant-numeric:lining-nums}
/* Instagram-Link (reiner Link, Inline-SVG, kein Embed) */
.ig-link{display:inline-flex;align-items:center;gap:.4em}
.ig-icon{width:1.05em;height:1.05em;flex:0 0 auto;color:var(--terra)}
.cta-contact .ig-link:hover,.footer-col .ig-link:hover{color:var(--terra)}
.cta-contact a.ig-link{display:flex;justify-content:center;width:max-content;margin:.45rem auto 0}
.cta-contact a.ig-link span{text-decoration:inherit}
/* Logo: mehr Luft zwischen Schreibschrift-Unterlänge (g) und Claim (Okt 2026) */
.logo-wrap .tag{margin-top:.85rem}
.footer-brand .ftag{margin-top:.8rem}
@media(max-width:960px){.logo-wrap .tag{margin-top:.7rem}}
/* Rechtstexte: Listen mit Abstand (Okt 2026) */
.content-main ul{margin:0 0 1.1rem;padding-left:1.3rem}
.content-main li{margin-bottom:.35rem}
.content-main li::marker{color:var(--terra)}
/* Logo-Wortmarke Variante 08 (Okt 2026): Jost Regular/Light, Versalien, weit gesperrt */
:root{--logo:'Jost','Helvetica Neue',Arial,sans-serif}
.logo-wrap .mark,.footer-brand .mark{font-family:var(--logo);font-size:1.09375rem;font-weight:400;text-transform:uppercase;letter-spacing:.24em;line-height:1;color:var(--terra);white-space:nowrap}
.logo-wrap .mark .w2,.footer-brand .mark .w2{font-weight:300}
.logo-wrap .tag{margin-top:.7rem}
.footer-brand .ftag{margin-top:.7rem}
@media(max-width:960px){.logo-wrap .mark{font-size:.946rem}.logo-wrap .tag{margin-top:.574rem}}
/* Schrift-Pairing B (Okt 2026): Jost für Navigation, Labels, Buttons & Checklisten; Überschriften + Fließtext bleiben Serif */
:root{--ui:var(--logo)}
.nav-links a,.mobile-nav-links a,.footer-col a{font-family:var(--ui);font-weight:400;letter-spacing:.03em}
.nav-links a{font-size:.97rem}
.nav-links .sub-menu a{font-size:.95rem}
.mobile-nav-links a{font-size:1.1rem}
.mobile-nav-links a.sub{font-size:.98rem}
.footer-col a{font-size:.95rem}
.eyebrow,.card-label,.side-label,.content-sidebar .side-label,.footer-col h3,.testimonial figcaption,.sub-num{font-family:var(--ui);font-weight:500;letter-spacing:.24em;font-size:.7rem}
.hero-label{font-family:var(--ui);font-weight:400;letter-spacing:.14em;font-size:.95rem}
.btn,.fb-btn{font-family:var(--ui);font-weight:500;letter-spacing:.06em;font-size:.95rem}
.hero-trust li,.meta-list li,.cta-loc li{font-family:var(--ui);font-weight:400;font-size:.88rem;letter-spacing:.02em}
.footer-col li{font-family:var(--ui);font-size:.95rem;letter-spacing:.03em}
.breadcrumb{font-family:var(--ui);font-size:.85rem;letter-spacing:.03em}
@media(max-width:1080px){.nav-links a{font-size:.92rem}}

/* SEO-Umsetzung (Okt 2026): Hero-Unterzeile, H2-Präfixe, Region, FAQ, 404 – nur CSS-Variablen */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero h1 .hero-sub{display:block;margin-top:1.1rem;font-family:var(--ui);font-weight:400;font-style:normal;font-size:clamp(.9rem,1.2vw,1.02rem);letter-spacing:.06em;line-height:1.5;color:var(--sage-soft)}
h2 .h2-pre{display:block;font-family:var(--ui);font-weight:500;font-style:normal;text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;line-height:1.6;color:var(--terra);margin-bottom:1.2rem}
.region-split{align-items:center}
.region-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(26px,3.4vw,40px)}
.region-card .meta-list{flex-direction:column;gap:8px;margin:0 0 1.4rem}
.nap{font-style:normal;font-family:var(--ui);font-size:.95rem;line-height:1.75;letter-spacing:.02em;color:var(--ink);border-top:1px solid var(--line);padding-top:1.2rem}
.nap strong{font-weight:500;color:var(--terra)}
.nap a{color:var(--ink)}
.nap a:hover{color:var(--terra)}
.faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.2rem;padding:1.25rem .2rem;font-family:var(--serif);font-size:clamp(1.2rem,1.9vw,1.42rem);font-weight:600;line-height:1.3;color:var(--sage)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--terra)}
.faq-item summary:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:4px}
.faq-icon{position:relative;flex:0 0 18px;width:18px;height:18px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;left:0;top:8px;width:18px;height:1.5px;background:var(--terra);transition:transform .25s ease}
.faq-icon::after{transform:rotate(90deg)}
.faq-item[open] .faq-icon::after{transform:rotate(0deg)}
.faq-answer{padding:0 .2rem 1.4rem;max-width:68ch}
.faq-answer p{margin:0;color:var(--ink)}
.page-404{padding:calc(var(--header-h) + 80px) 0 120px}
.page-404 h1{font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:.4em}
.page-404 .lead-serif{margin:0 auto 2rem;max-width:52ch}
.center-ctas{justify-content:center}
@media(prefers-reduced-motion:reduce){.faq-icon::before,.faq-icon::after{transition:none}}
.region-card .meta-list li{align-items:baseline}

/* Hero-Headline Variante 3 (Okt 2026, von Patrick gewählt): ganze H1 in hellem Rosé-Taupe #8C7670 (3,68:1 auf #F1EEEA – nur für große Schrift), Schriftgewicht unverändert */
:root{--hero-h1:#8C7670}
.hero h1,.hero h1 strong{color:var(--hero-h1)}

/* Copy-Review Okt 2026: Block „Wie du dich danach fühlen kannst“ (nur Variablen) */
.feel{background:var(--sage-bg)}
.feel .section-head{margin-bottom:2.4rem}
.feel-list{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.1rem;max-width:1100px}
.feel-list li{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:1.4rem 1.3rem;color:var(--ink);font-size:1.02rem;line-height:1.55}
.feel-list li strong{display:block;font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.35rem;color:var(--terra);margin-bottom:.35rem}
.feel-note{text-align:center;margin:2rem auto 0;max-width:52ch;color:var(--sage-soft);font-style:italic}

/* ===== Mobile-Optimierung (Okt 2026, Patrick): Foto zuerst, weniger Text im ersten Screen, ruhigere Abstände =====
   Gilt nur ≤768px – Desktop bleibt unverändert. Farben/Schriften unverändert (nur Variablen). */
@media(max-width:768px){
  :root{--header-h:72px}
  body{font-size:17px;line-height:1.65}
  p{margin-bottom:1rem}
  .container{padding:0 20px}
  section{padding:56px 0}
  .section-head{margin-bottom:2rem}
  h2{font-size:clamp(1.85rem,7.6vw,2.4rem)}
  .lead-serif{font-size:1.2rem;line-height:1.45}

  /* Header & Menü: größere Tap-Fläche, Menü scrollbar falls zu lang */
  .ham-btn{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:10px;margin-right:-10px}
  .mobile-nav{padding:8px 20px 18px;max-height:calc(100vh - var(--header-h));max-height:calc(100svh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
  .mobile-nav-links a{padding:.7rem 0}

  /* --- Hero: großes Foto oben, dann Headline, eine Unterzeile, Button. Restlicher Intro-Text folgt darunter. --- */
  .hero{padding:var(--header-h) 0 44px}
  .hero-grid{display:flex;flex-direction:column;gap:0}
  .hero-text,.hero .hero-ctas{display:contents}
  .hero .photo.portrait{order:1;margin:0 -20px;width:calc(100% + 40px);aspect-ratio:auto;height:clamp(300px,calc(100vh - 340px),125vw);height:clamp(300px,calc(100svh - 340px),125vw);border-radius:0;box-shadow:none}
  .hero .photo img{object-position:50% 30%}
  .hero h1{order:2;font-size:clamp(2.1rem,9.4vw,2.45rem);line-height:1.08;margin:1.2rem 0 0}
  .hero h1 .hero-sub{margin-top:.7rem;font-size:.9rem;line-height:1.45}
  .hero-ctas .btn:first-child{order:3;margin-top:1.1rem}
  .hero-ctas .btn{width:100%;justify-content:center;min-height:52px}
  .hero-lead{order:4;margin:2.4rem 0 1rem;font-size:1.35rem}
  .hero-human{order:5;max-width:none;margin-bottom:0}
  .welcome{order:6;margin:1.2rem 0 1.4rem;font-size:1.3rem}
  .hero-ctas .btn-ghost{order:7}
  .hero-trust{order:8;margin-top:1.4rem;gap:6px 18px}
  .hero-label{display:none} /* steht als Claim bereits im Header */

  /* Fotos früher im Text: Überschrift → Foto → Text (bricht lange Textblöcke auf) */
  #breathwork .split,#ueber-mich .split,.mission .split,#gruppen .split{display:flex;flex-direction:column;align-items:stretch;gap:0}
  #breathwork .split>.reveal:not(.photo),#ueber-mich .split>.reveal:not(.photo),.mission .split>.reveal:not(.photo),#gruppen .split>.reveal:not(.photo){display:contents}
  #breathwork .split>.reveal:not(.photo)>*,#ueber-mich .split>.reveal:not(.photo)>*,.mission .split>.reveal:not(.photo)>*,#gruppen .split>.reveal:not(.photo)>*{order:3}
  #breathwork .split>.reveal:not(.photo)>h2,#ueber-mich .split>.reveal:not(.photo)>.eyebrow,#ueber-mich .split>.reveal:not(.photo)>h2,.mission .split>.reveal:not(.photo)>h3,#gruppen .split>.reveal:not(.photo)>.eyebrow,#gruppen .split>.reveal:not(.photo)>h4{order:1}
  #breathwork .split>.photo,#ueber-mich .split>.photo,.mission .split>.photo,#gruppen .split>.photo{order:2;margin:.6rem 0 1.8rem}
  #breathwork .split>.reveal:not(.photo)>:last-child,#gruppen .split>.reveal:not(.photo)>:last-child{margin-bottom:0}
  .split{gap:32px}
  .way-photo{margin:1.6rem 0 .4rem}
  .photo.portrait{aspect-ratio:4/5}

  /* Karten & Listen */
  .card-grid,.testimonial-grid,.offer-grid{gap:18px}
  .card{padding:28px 22px 24px}
  .card::before{left:22px}
  .vlist li{font-size:1.04rem;line-height:1.5;padding:.55rem 0}
  .quote-block .big{font-size:1.3rem}
  .note-box{padding:1rem 1.1rem}
  .note-box p{font-size:1rem;line-height:1.6}
  .small-note{font-size:.95rem;line-height:1.55}
  .meta-list li,.hero-trust li,.cta-loc li{font-size:.92rem}
  .num-list li{padding:1.1rem 0}
  .bw-cards{margin-top:40px}
  .center-cta{margin-top:2rem}
  .center-cta .btn,.offer-card-foot .btn,#gruppen .hero-ctas .btn,.cta-buttons .btn{width:100%;justify-content:center;min-height:52px}
  .offer-card-body{padding:24px 22px}
  .offer-card-foot{padding:20px 22px 22px}
  .offer-card-foot .price{font-size:2.6rem}
  .angebot-sub+.angebot-sub{margin-top:3rem}
  .sub-head{margin-bottom:1.4rem}
  .feel-list{gap:.8rem}
  .feel-list li{padding:1.1rem 1.15rem}
  .testimonial{padding:26px 22px 24px}
  .testimonial::before{left:22px;font-size:4rem}
  .testimonial blockquote p{font-size:1.15rem;line-height:1.55;margin:1rem 0 .9rem}
  .mission-quote{font-size:clamp(1.8rem,7.4vw,2.2rem);margin:1.4rem 0}
  .ask{font-size:1.7rem}

  /* Brief: voller Text, nur ruhigere Abstände */
  #brief .letter-photo{width:min(240px,66%);margin:0 0 2rem}
  .letter p{font-size:1.1rem;line-height:1.6}
  .letter .em-line{font-size:1.3rem;line-height:1.4}
  .letter .grp{margin-bottom:1.3rem}

  /* Region, FAQ, Kontakt */
  .region-card{padding:24px 22px}
  .faq-item summary{padding:1.1rem .1rem;min-height:56px}
  .faq-answer p{line-height:1.6}
  .cta-wrap{padding:40px 18px}
  .cta-buttons .btn{padding-left:1rem;padding-right:1rem}
  .cta-wrap h2{font-size:clamp(1.85rem,7.6vw,2.3rem)}
  .cta-contact a{padding:.55rem 0}

  /* Footer: größere Tap-Flächen */
  footer{padding:48px 0 96px}
  .footer-top{gap:28px}
  .footer-col li{margin-bottom:.15rem}
  .footer-col a{display:inline-flex;align-items:center;min-height:44px}
  .nap a{display:inline-block;padding:.5rem 0;margin:-.25rem 0}
  .breadcrumb a{display:inline-block;padding:.6rem 0}

  /* Floating-Button erst nach dem Hero (sonst überdeckt er den Hero-Button), Steuerung in js/main.js */
  .fb-btn{transition:opacity .3s,transform .3s,background .25s}
  .fb-btn.fb-hidden{opacity:0;transform:translateY(16px);pointer-events:none}
}
@media(max-width:380px){
  .container{padding:0 18px}
  .hero .photo.portrait{margin:0 -18px;width:calc(100% + 36px)}
  .logo-wrap .mark{letter-spacing:.2em}
}
