/* Inter lokal, das Paket fordert sie an ohne sie zu laden. */
@font-face{font-family:'Inter';src:url('/wp-content/uploads/lumentra/fonts/inter-400-latin-ext.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';src:url('/wp-content/uploads/lumentra/fonts/inter-400-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';src:url('/wp-content/uploads/lumentra/fonts/inter-500-latin-ext.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';src:url('/wp-content/uploads/lumentra/fonts/inter-500-latin.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';src:url('/wp-content/uploads/lumentra/fonts/inter-600-latin-ext.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';src:url('/wp-content/uploads/lumentra/fonts/inter-600-latin.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}


/* ===================== Bruecke zu Divi =====================
   Steht bewusst VOR den Designregeln: bei gleicher Spezifitaet soll das
   gelieferte Design gewinnen (z. B. .hero-grid{display:grid} ueber .et_pb_row).
   Divis eigene Kopf- und Fusszeile werden durch das Originalmarkup ersetzt,
   siehe novamira-sandbox/lumentra-rahmen.php. */

#main-header,#top-header,#et-secondary-nav,#main-footer,#footer-bottom{display:none!important}
#page-container{padding-top:0!important;margin-top:0!important}
#et-main-area,#main-content,#et-boc,.entry-content{background:transparent}

/* Divi gibt h1 bis h6 eine feste Farbe. Dadurch wuerde .dark-section{color:#fff}
   nicht mehr vererbt und Ueberschriften stuenden dunkel auf dunklem Grund. */
h1,h2,h3,h4,h5,h6{color:inherit}

/* Sektion, Zeile und Spalte sollen reine Container sein. Die Breite steuert
   .wrap, die Aufteilung die Grid-Klassen des Entwurfs. */
.et_pb_section{padding:0;background:transparent;overflow:visible}
.et_pb_row{width:auto;max-width:none;margin:0;padding:0;display:block}
.et_pb_column{width:auto!important;margin:0!important;padding:0;float:none!important;background:transparent}
.et_pb_module{margin:0}
.et_pb_text_inner>*:last-child{margin-bottom:0}
.entry-content p,.et_pb_text_inner p{padding-bottom:0}
.et_pb_image,.et_pb_image .et_pb_image_wrap{display:block;margin:0;max-width:none}
.et_pb_image img{width:100%}
/* Divi setzt .et_pb_code auf position:relative. Zusammen mit display:contents am
   Innencontainer faellt das Modul auf Hoehe 0 zusammen, und absolut positionierte
   Kinder wie .hero-arch bemessen sich daran statt an .hero-visual. */
.et_pb_code{position:static}
.et_pb_code_inner{display:contents}

/* Die Buttons standen im Entwurf in einem .actions-Flexcontainer. Als eigene
   Divi-Module haben sie den nicht mehr, deshalb hier der gleiche Abstand. */
.et_pb_button_module_wrapper{display:inline-block;vertical-align:top;margin:0 13px 13px 0}
.et_pb_button_module_wrapper .et_pb_button{margin:0}
.hero-copy .et_pb_button_module_wrapper:first-of-type{margin-top:0}

body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}



:root{
  --ivory:#fbf8f2;
  --paper:#fffdf9;
  --cream:#f2ebe2;
  --mist:#ebe8f0;
  --sage:#a5b09d;
  --sage-soft:#e7ece3;
  --lavender:#b7abc4;
  --plum:#54465e;
  --plum-deep:#302636;
  --rose:#d7aaa1;
  --gold:#c7a264;
  --gold-soft:#eadcc0;
  --ink:#403940;
  --muted:#746c73;
  --line:rgba(84,70,94,.14);
  --white-line:rgba(255,255,255,.20);
  --shadow:0 28px 80px rgba(68,54,76,.12);
  --shadow-soft:0 16px 45px rgba(68,54,76,.08);
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-width:320px;
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--gold-soft);color:var(--plum-deep)}
.wrap{width:min(1200px,calc(100% - 44px));margin-inline:auto}
.narrow{width:min(820px,calc(100% - 44px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--plum);color:#fff;padding:12px 16px;border-radius:999px}
.skip-link:focus{top:16px}

.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(251,248,242,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(84,70,94,.09);
}
.navbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;flex:0 0 auto}
.brand img{width:48px;height:48px;object-fit:contain}
.brand strong{display:block;font-family:var(--serif);font-size:1.38rem;font-weight:500;letter-spacing:.03em;line-height:1}
.brand span{display:block;margin-top:5px;color:var(--muted);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:27px;font-size:.9rem}
.nav-links a{position:relative;padding:8px 0}
.nav-links a:not(.nav-contact)::after{
  content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:.24s ease
}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{right:0}
.nav-contact{
  padding:11px 20px!important;
  border:1px solid rgba(84,70,94,.45);
  border-radius:999px;
  background:rgba(255,255,255,.45);
  transition:.22s
}
.nav-contact:hover{background:var(--plum);color:#fff;border-color:var(--plum)}
.menu-button{
  display:none;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);background:rgba(255,255,255,.6);
  align-items:center;justify-content:center
}
.menu-button span,.menu-button span::before,.menu-button span::after{
  display:block;width:18px;height:1px;background:var(--ink);position:relative
}
.menu-button span::before,.menu-button span::after{content:"";position:absolute;left:0}
.menu-button span::before{top:-6px}.menu-button span::after{top:6px}

.eyebrow{
  display:flex;align-items:center;gap:12px;
  color:var(--plum);font-weight:650;text-transform:uppercase;
  letter-spacing:.2em;font-size:.69rem
}
.eyebrow::before{content:"";width:38px;height:1px;background:var(--gold)}
h1,h2,h3{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.06;
  margin:0;
  letter-spacing:-.035em
}
h1{font-size:clamp(3.8rem,7.2vw,7.2rem)}
h2{font-size:clamp(2.9rem,5vw,5.2rem)}
h3{font-size:clamp(1.6rem,2.4vw,2.45rem)}
.lead{font-size:1.12rem;color:var(--muted);max-width:680px}
.btn{
  min-height:52px;padding:0 24px;border-radius:999px;
  border:1px solid transparent;display:inline-flex;align-items:center;
  justify-content:center;gap:10px;font-weight:600;font-size:.92rem;transition:.24s ease
}
.btn-primary{background:var(--plum);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(84,70,94,.22)}
.btn-secondary{border-color:rgba(84,70,94,.35);background:rgba(255,255,255,.34)}
.btn-secondary:hover{background:var(--paper)}
.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:650;margin-top:9px}
.text-link::after{content:"→";transition:.2s}.text-link:hover::after{transform:translateX(5px)}

.hero{
  position:relative;
  overflow:hidden;
  padding:78px 0 102px;
  background:
    radial-gradient(circle at 14% 20%,rgba(234,220,192,.58),transparent 32%),
    radial-gradient(circle at 88% 18%,rgba(183,171,196,.28),transparent 34%),
    linear-gradient(135deg,#fbf8f2 0%,#f4eee7 50%,#eee9f1 100%);
}
.hero::before{
  content:"";position:absolute;right:-180px;top:-250px;width:680px;height:680px;border-radius:50%;
  border:1px solid rgba(199,162,100,.20)
}
.hero::after{
  content:"";position:absolute;right:75px;top:58px;width:360px;height:360px;border-radius:50%;
  border:1px solid rgba(84,70,94,.08);box-shadow:0 0 0 34px rgba(199,162,100,.035),0 0 0 68px rgba(84,70,94,.025)
}
.hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:54px;align-items:center;position:relative;z-index:1}
.hero-copy{padding:24px 0}
.hero-copy h1{max-width:760px;margin:21px 0 28px;color:var(--plum-deep)}
.hero-copy .lead{margin:0 0 34px}
.actions{display:flex;gap:13px;flex-wrap:wrap}
.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:-30px 0 30px;color:var(--plum);font-size:1.02rem;font-weight:500}
.hero-meta span{display:flex;align-items:center;gap:18px}
.hero-meta i{
  width:10px;height:10px;display:block;position:relative;flex:none;
  transform:rotate(45deg);border:1px solid var(--gold);background:var(--gold)
}
.hero-visual{position:relative;min-height:650px}
.hero-arch{
  position:absolute;inset:0 12px 0 72px;overflow:hidden;
  border-radius:260px 260px 42px 42px;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.85);
  background:var(--mist)
}
.hero-arch img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-arch::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(84,70,94,.12))
}
.hero-orbit{
  position:absolute;left:2px;top:82px;width:188px;height:188px;border-radius:50%;
  border:1px solid rgba(199,162,100,.38);z-index:-1
}
.hero-orbit::before,.hero-orbit::after{
  content:"";position:absolute;border-radius:50%;border:1px solid rgba(183,171,196,.36)
}
.hero-orbit::before{inset:18px}.hero-orbit::after{inset:42px}
.hero-note{
  position:absolute;left:0;bottom:47px;width:min(280px,74%);padding:24px;
  background:rgba(255,253,248,.88);backdrop-filter:blur(18px);
  border:1px solid rgba(199,162,100,.34);border-radius:28px;box-shadow:var(--shadow-soft)
}
.hero-note img{width:52px;height:52px;object-fit:contain;margin-bottom:15px}
.hero-note strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.28rem;line-height:1.25}
.hero-note small{display:block;color:var(--muted);margin-top:9px}

.section{padding:112px 0;position:relative}
.paper{background:var(--paper)}
.sage-section{
  background:
    radial-gradient(circle at 12% 12%,rgba(255,255,255,.55),transparent 32%),
    linear-gradient(135deg,#edf1e9 0%,#e9ece8 46%,#ece8ef 100%)
}
.dark-section{
  color:#fff;
  background:
    radial-gradient(circle at 18% 12%,rgba(199,162,100,.12),transparent 28%),
    radial-gradient(circle at 84% 82%,rgba(183,171,196,.14),transparent 35%),
    linear-gradient(145deg,#302636,#46374f 55%,#2f2838);
  overflow:hidden
}
.dark-section::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.58) 0 1px,transparent 1.5px),
    radial-gradient(circle at 76% 24%,rgba(255,255,255,.42) 0 1px,transparent 1.5px),
    radial-gradient(circle at 62% 72%,rgba(255,255,255,.34) 0 1px,transparent 1.5px),
    radial-gradient(circle at 32% 82%,rgba(255,255,255,.28) 0 1px,transparent 1.5px);
  background-size:240px 240px,320px 320px,280px 280px,360px 360px;
  opacity:.34;pointer-events:none
}
.section-heading{
  display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:end;margin-bottom:58px;position:relative;z-index:1
}
.section-heading h2{margin-top:17px}
.section-heading p{margin:0;color:var(--muted);font-size:1.05rem;max-width:690px}
.dark-section .section-heading p{color:rgba(255,255,255,.70)}
.dark-section .eyebrow{color:var(--gold-soft)}

.journey-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:88px;align-items:center}
.journey-card{position:relative;min-height:580px}
.journey-card::before{
  content:"";position:absolute;width:320px;height:320px;border-radius:50%;
  left:-38px;top:10px;background:radial-gradient(circle,rgba(234,220,192,.52),rgba(234,220,192,0) 68%)
}
.journey-card .main-photo{
  position:absolute;inset:0 70px 48px 0;border-radius:190px 190px 34px 34px;
  overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(199,162,100,.32)
}
.journey-card .main-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.journey-card .small-photo{
  position:absolute;right:0;bottom:0;width:47%;height:245px;border-radius:50%;
  overflow:hidden;border:10px solid var(--paper);box-shadow:var(--shadow-soft)
}
.journey-card .small-photo img{width:100%;height:100%;object-fit:cover}
.journey-copy h2{margin:18px 0 26px}
.journey-copy p{color:var(--muted);font-size:1.07rem;margin:0 0 18px}

.signs-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:82px;align-items:start}
.sticky-intro{position:sticky;top:118px}
.sticky-intro h2{margin:18px 0 24px}
.sticky-intro p{color:var(--muted);font-size:1.05rem}
.sign-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sign-item{
  min-height:160px;padding:24px;
  background:rgba(255,255,255,.52);backdrop-filter:blur(12px);
  border:1px solid rgba(84,70,94,.11);border-radius:26px;
  box-shadow:0 10px 30px rgba(68,54,76,.045)
}
.sign-item span{display:block;color:var(--gold);font-family:var(--serif);font-size:1rem;letter-spacing:.12em;margin-bottom:18px}
.sign-item p{margin:0;font-size:.98rem}

.service-list{
  display:grid;grid-template-columns:1fr 1fr;gap:22px;
  position:relative;z-index:1;border:0
}
.service-row{
  min-height:330px;display:flex;flex-direction:column;align-items:flex-start;
  gap:0;padding:32px;border:1px solid rgba(255,255,255,.18);
  border-radius:32px;background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);transition:.25s ease;position:relative;overflow:hidden
}
.service-row::before{
  content:"";position:absolute;width:145px;height:145px;border-radius:50%;
  right:-52px;top:-58px;border:1px solid rgba(234,220,192,.22)
}
.service-row:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);border-color:rgba(234,220,192,.34)}
.service-row .number{font-family:var(--serif);color:var(--gold-soft)}
.service-row h3{margin:48px 0 16px}
.service-row p{margin:0;color:rgba(255,255,255,.68)}
.service-row .arrow{margin-top:auto;padding-top:26px;font-size:1.5rem;color:var(--gold-soft)}

.split-feature{display:grid;grid-template-columns:1.08fr .92fr;gap:84px;align-items:center}
.feature-image{
  height:650px;border-radius:230px 40px 40px 40px;overflow:hidden;
  box-shadow:var(--shadow);border:1px solid rgba(199,162,100,.28)
}
.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.feature-copy h2{margin:18px 0 26px}
.feature-copy p{color:var(--muted);font-size:1.05rem;margin:0 0 18px}
.pills{display:flex;flex-wrap:wrap;gap:9px;margin:27px 0}
.pills span{
  padding:9px 14px;border-radius:999px;border:1px solid rgba(84,70,94,.18);
  background:linear-gradient(135deg,rgba(231,236,227,.92),rgba(235,232,240,.88));
  font-size:.82rem
}

.workshop-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.workshop-card{
  background:rgba(255,255,255,.60);backdrop-filter:blur(12px);
  border:1px solid rgba(84,70,94,.11);border-radius:30px;padding:30px;min-height:320px;
  display:flex;flex-direction:column;box-shadow:0 12px 35px rgba(68,54,76,.055);transition:.25s
}
.workshop-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft)}
.workshop-card .tag{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);
  margin-bottom:42px
}
.workshop-card h3{margin-bottom:15px}
.workshop-card p{color:var(--muted);margin:0}
.workshop-card .text-link{margin-top:auto;padding-top:26px}

.quote-panel{
  min-height:570px;display:grid;place-items:center;text-align:center;color:#fff;
  background:
    linear-gradient(rgba(48,38,54,.24),rgba(48,38,54,.58)),
    url("light.jpg") center 58%/cover no-repeat;
  position:relative;overflow:hidden
}
.quote-panel::before{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 44px rgba(255,255,255,.04),0 0 0 88px rgba(255,255,255,.025)
}
.quote-panel blockquote{
  position:relative;z-index:1;margin:0;padding:50px 22px;max-width:980px;
  font-family:var(--serif);font-size:clamp(2.8rem,5.2vw,5.4rem);
  line-height:1.12;letter-spacing:-.035em
}

.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{
  min-height:275px;padding:30px;border-radius:30px;
  border:1px solid rgba(84,70,94,.11);background:rgba(255,255,255,.62);
  box-shadow:0 12px 34px rgba(68,54,76,.05)
}
.step .number{font-family:var(--serif);color:var(--gold);margin-bottom:48px}
.step h3{margin-bottom:12px}
.step p{margin:0;color:var(--muted)}

.cta-section{padding:84px 0 104px;background:var(--ivory)}
.cta-box{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1.3fr .7fr;
  gap:42px;align-items:center;padding:62px;border-radius:40px;
  color:#fff;
  background:
    radial-gradient(circle at 88% 22%,rgba(234,220,192,.16),transparent 26%),
    linear-gradient(135deg,#4b3d55,#322938)
}
.cta-box::after{
  content:"";position:absolute;width:350px;height:350px;border:1px solid rgba(234,220,192,.22);
  border-radius:50%;right:-100px;top:-145px;box-shadow:0 0 0 38px rgba(255,255,255,.025)
}
.cta-box h2{font-size:clamp(2.8rem,4.8vw,4.9rem)}
.cta-box p{margin:17px 0 0;color:rgba(255,255,255,.70);max-width:650px}
.cta-action{display:flex;justify-content:flex-end;position:relative;z-index:2}
.cta-box .btn-primary{background:var(--gold-soft);color:var(--plum-deep)}

.page-hero{
  padding:88px 0 82px;position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(circle at 16% 16%,rgba(199,162,100,.14),transparent 28%),
    radial-gradient(circle at 86% 74%,rgba(183,171,196,.18),transparent 34%),
    linear-gradient(145deg,#302636,#4a3b53)
}
.page-hero::after{
  content:"";position:absolute;right:-160px;top:-240px;width:560px;height:560px;border-radius:50%;
  border:1px solid rgba(234,220,192,.18);box-shadow:0 0 0 42px rgba(255,255,255,.025)
}
.page-hero-inner{position:relative;z-index:1;max-width:930px}
.page-hero h1{font-size:clamp(3.8rem,7vw,6.9rem);margin:18px 0 24px}
.page-hero .lead{margin:0;color:rgba(255,255,255,.72)}
.page-hero .eyebrow{color:var(--gold-soft)}
.breadcrumb{font-size:.78rem;color:rgba(255,255,255,.64);margin-bottom:16px}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}

.content-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:80px;align-items:start}
.aside-card{
  position:sticky;top:118px;
  background:linear-gradient(145deg,rgba(231,236,227,.95),rgba(235,232,240,.92));
  border:1px solid rgba(84,70,94,.11);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft)
}
.aside-card h3{font-size:1.65rem;margin-bottom:14px}
.aside-card p{color:var(--muted);font-size:.93rem;margin:0 0 18px}
.aside-links{display:grid;gap:8px}
.aside-links a{padding:10px 0;border-top:1px solid rgba(84,70,94,.12);font-weight:600;font-size:.9rem}
.prose h2{font-size:clamp(2.4rem,4vw,4.1rem);margin:0 0 20px}
.prose h3{margin:42px 0 15px}
.prose p{color:var(--muted);font-size:1.03rem;margin:0 0 18px}
.prose ul{padding-left:20px;color:var(--muted)}
.prose li{margin:8px 0}
.callout{
  margin:34px 0;padding:25px 27px;border-left:3px solid var(--gold);
  background:linear-gradient(135deg,var(--sage-soft),var(--mist));
  border-radius:0 24px 24px 0
}
.callout strong{display:block;margin-bottom:6px}.callout p{margin:0}

.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.offer-card{
  background:rgba(255,255,255,.72);border:1px solid rgba(84,70,94,.11);
  border-radius:30px;padding:30px;display:flex;flex-direction:column;box-shadow:var(--shadow-soft)
}
.offer-card .label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin-bottom:28px}
.offer-card h2{font-size:2.6rem;margin-bottom:15px}
.offer-card p{color:var(--muted);margin:0 0 18px}
.offer-card .meta{margin-top:auto;padding-top:22px;border-top:1px solid var(--line);font-size:.9rem;color:var(--plum)}
.timeline{border-left:1px solid rgba(84,70,94,.22);margin-left:8px}
.timeline-item{position:relative;padding:0 0 34px 32px}
.timeline-item::before{content:"";position:absolute;left:-6px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--gold)}
.timeline-item h3{font-size:1.7rem;margin-bottom:8px}.timeline-item p{margin:0;color:var(--muted)}
.draft-note{display:inline-block;margin-top:10px;padding:8px 12px;border-radius:999px;background:var(--gold-soft);color:#6b5431;font-size:.76rem}

.price-table{
  width:100%;border-collapse:collapse;background:rgba(255,255,255,.72);
  border-radius:26px;overflow:hidden;box-shadow:var(--shadow-soft)
}
.price-table th,.price-table td{text-align:left;padding:19px 20px;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#fff;background:var(--plum)}
.price-table tr:nth-child(even) td{background:rgba(231,236,227,.42)}
.price-table tr:last-child td{border-bottom:0}
.price-table td:last-child{white-space:nowrap;font-weight:700}
.price-note{margin-top:24px;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}
.contact-panel{
  position:sticky;top:118px;color:#fff;border-radius:34px;padding:36px;
  background:
    radial-gradient(circle at 90% 12%,rgba(234,220,192,.15),transparent 28%),
    linear-gradient(145deg,#302636,#4a3b53);
  box-shadow:var(--shadow)
}
.contact-panel h2{font-size:2.8rem;margin-bottom:18px}
.contact-panel p{color:rgba(255,255,255,.70)}
.contact-panel a{display:block;margin-top:24px;font-size:1.1rem;font-weight:700;color:var(--gold-soft)}
.contact-facts{display:grid;gap:12px;margin-top:30px}
.contact-fact{padding-top:14px;border-top:1px solid rgba(255,255,255,.16);font-size:.9rem;color:rgba(255,255,255,.74)}
.form-card{
  background:rgba(255,255,255,.75);border-radius:34px;padding:38px;
  border:1px solid rgba(84,70,94,.11);box-shadow:var(--shadow-soft)
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px}.field.full{grid-column:1/-1}
label{font-size:.83rem;font-weight:700;color:var(--plum)}
input,textarea,select{
  width:100%;border:1px solid rgba(84,70,94,.20);background:rgba(255,255,255,.88);
  border-radius:14px;padding:14px 15px;color:var(--ink);outline:none
}
input:focus,textarea:focus,select:focus{border-color:var(--lavender);box-shadow:0 0 0 3px rgba(183,171,196,.20)}
textarea{min-height:170px;resize:vertical}
.check{display:flex;gap:11px;align-items:flex-start;font-size:.82rem;color:var(--muted)}
.check input{width:18px;height:18px;margin-top:3px;flex:0 0 auto}
.form-status{margin-top:16px;padding:13px 15px;border-radius:12px;background:var(--sage-soft);display:none}
.form-status.show{display:block}

.legal-box{
  background:rgba(255,255,255,.72);border:1px solid rgba(84,70,94,.11);
  border-radius:28px;padding:30px;box-shadow:var(--shadow-soft)
}
.legal-box + .legal-box{margin-top:22px}
.legal-box h2{font-size:2rem;margin-bottom:14px}.legal-box p{color:var(--muted)}

.site-footer{
  padding:48px 0;color:rgba(255,255,255,.68);
  background:linear-gradient(145deg,#2d2533,#201b25);
  border-top:1px solid rgba(234,220,192,.15)
}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{color:#fff}
.footer-note{margin-top:14px;font-size:.76rem;color:rgba(255,255,255,.44)}

.mood-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mood-card{
  overflow:hidden;border-radius:30px;background:rgba(255,255,255,.72);
  border:1px solid rgba(84,70,94,.11);box-shadow:var(--shadow-soft)
}
.mood-image{height:290px;overflow:hidden;position:relative}
.mood-image img{width:100%;height:100%;object-fit:cover}
.mood-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(48,38,54,.20))}
.mood-copy{padding:25px}
.mood-copy h3{font-size:1.7rem;margin-bottom:10px}
.mood-copy p{margin:0;color:var(--muted);font-size:.93rem}
.mood-meta{display:grid;grid-template-columns:1fr 1fr;gap:7px 15px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line);font-size:.77rem}
.mood-meta span{color:var(--muted)}
.abstract-orb{
  height:290px;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 30% 35%,rgba(255,255,255,.95),transparent 14%),
    radial-gradient(circle at 40% 44%,rgba(199,162,100,.52),transparent 29%),
    radial-gradient(circle at 72% 32%,rgba(183,171,196,.62),transparent 34%),
    linear-gradient(145deg,#e9ece4,#eee8f0)
}
.abstract-orb::before{
  content:"";position:absolute;width:210px;height:210px;border-radius:50%;left:50%;top:50%;
  transform:translate(-50%,-50%);border:1px solid rgba(84,70,94,.18);
  box-shadow:0 0 0 30px rgba(199,162,100,.08),0 0 0 60px rgba(183,171,196,.06)
}

@media(max-width:960px){
  .nav-links{
    position:fixed;left:20px;right:20px;top:92px;display:none;
    flex-direction:column;align-items:stretch;gap:2px;padding:18px;
    background:rgba(255,253,248,.98);border:1px solid var(--line);
    border-radius:24px;box-shadow:var(--shadow)
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 10px}
  .menu-button{display:flex}
  .hero-grid,.journey-grid,.signs-grid,.section-heading,.split-feature,.cta-box,.content-grid,.contact-grid{grid-template-columns:1fr}
  .hero-visual{min-height:620px}
  .sticky-intro,.aside-card,.contact-panel{position:static}
  .workshop-teaser,.mood-grid{grid-template-columns:1fr}
  .feature-image{height:560px;max-width:740px}
  .cta-action{justify-content:flex-start}
}
@media(max-width:680px){
  .wrap,.narrow{width:min(100% - 28px,1200px)}
  .brand span{display:none}
  .hero{padding:56px 0 82px}
  .hero-copy h1{font-size:3.6rem}
  .hero-visual{min-height:500px}
  .hero-arch{left:28px;right:0;border-radius:175px 175px 30px 30px}
  .hero-orbit{width:124px;height:124px}
  .hero-note{bottom:22px;width:220px;padding:19px}
  .section{padding:82px 0}
  .journey-card{min-height:470px}
  .journey-card .main-photo{inset:0 38px 42px 0;border-radius:145px 145px 28px 28px}
  .journey-card .small-photo{height:180px;border-width:7px}
  .sign-list{grid-template-columns:1fr}
  .service-list,.offer-grid,.steps-grid,.form-grid{grid-template-columns:1fr}
  .service-row{min-height:300px}
  .feature-image{height:470px}
  .quote-panel{min-height:450px}
  .cta-box{padding:38px 28px;border-radius:30px}
  .page-hero{padding:66px 0 64px}
  .page-hero h1{font-size:3.6rem}
  .field.full{grid-column:auto}
  .price-table{display:block;overflow-x:auto}
  .footer-grid{grid-template-columns:1fr}
}


/* Bildwelt umgesetzt – neue Startseitenmodule */
.soul-intro{
  padding:118px 0;
  background:
    radial-gradient(circle at 84% 14%,rgba(199,162,100,.13),transparent 27%),
    linear-gradient(135deg,#f8f2ea 0%,#f2ebe2 55%,#eee6dc 100%);
  position:relative;
  overflow:hidden;
}
.soul-intro::before{
  content:"";
  position:absolute;
  left:-180px;
  bottom:-290px;
  width:520px;
  height:520px;
  border-radius:50%;
  border:1px solid rgba(183,171,196,.24);
  box-shadow:0 0 0 42px rgba(199,162,100,.035);
}
.soul-intro-grid{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:88px;
  align-items:center;
  position:relative;
  z-index:1;
}
.ritual-photo{
  position:relative;
  min-height:680px;
}
.ritual-photo-main{
  position:absolute;
  inset:0 52px 0 0;
  border-radius:220px 220px 34px 34px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(199,162,100,.34);
}
.ritual-photo-main img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 47%;
}
.ritual-photo::after{
  content:"";
  position:absolute;
  right:0;
  bottom:52px;
  width:170px;
  height:170px;
  border-radius:50%;
  border:1px solid rgba(199,162,100,.42);
  background:rgba(251,248,242,.50);
  backdrop-filter:blur(8px);
  box-shadow:0 0 0 24px rgba(183,171,196,.07);
}
.ritual-caption{
  position:absolute;
  right:4px;
  bottom:82px;
  width:160px;
  z-index:2;
  text-align:center;
  font-family:var(--serif);
  font-size:1.05rem;
  line-height:1.35;
  color:var(--plum);
}
.soul-copy h2{margin:18px 0 27px}
.soul-copy p{
  color:var(--muted);
  font-size:1.07rem;
  margin:0 0 18px;
}
.soft-quote{
  margin:31px 0 0;
  padding:25px 28px;
  border-left:2px solid var(--gold);
  background:linear-gradient(135deg,rgba(231,236,227,.74),rgba(235,232,240,.72));
  border-radius:0 26px 26px 0;
  font-family:var(--serif);
  font-size:1.35rem;
  line-height:1.45;
}

.recognition-visual{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 25%,rgba(255,255,255,.68),transparent 30%),
    linear-gradient(135deg,#e9eee6,#ebe7ee);
}
.recognition-visual .signs-grid{position:relative;z-index:1}
.recognition-visual::after{
  content:"";
  position:absolute;
  right:-130px;
  top:60px;
  width:380px;
  height:380px;
  border-radius:50%;
  border:1px solid rgba(84,70,94,.09);
  box-shadow:0 0 0 38px rgba(199,162,100,.035);
}

.prayer-band{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  min-height:600px;
  background:var(--plum-deep);
  color:#fff;
}
.prayer-image{
  position:relative;
  overflow:hidden;
}
.prayer-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:sepia(.08) saturate(.88);
}
.prayer-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 62%,rgba(48,38,54,.34));
}
.prayer-copy{
  padding:76px clamp(30px,6vw,88px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 18%,rgba(199,162,100,.15),transparent 28%),
    linear-gradient(145deg,#3d3045,#2d2534);
}
.prayer-copy::after{
  content:"";
  position:absolute;
  right:-110px;
  bottom:-120px;
  width:330px;
  height:330px;
  border-radius:50%;
  border:1px solid rgba(234,220,192,.18);
  box-shadow:0 0 0 34px rgba(255,255,255,.025);
}
.prayer-copy .eyebrow{color:var(--gold-soft)}
.prayer-copy h2{
  margin:18px 0 26px;
  max-width:620px;
}
.prayer-copy p{
  color:rgba(255,255,255,.70);
  max-width:620px;
  font-size:1.05rem;
}
.prayer-copy .text-link{
  color:#fff;
  position:relative;
  z-index:2;
}

.workshop-stage{
  padding:118px 0;
  background:
    radial-gradient(circle at 11% 18%,rgba(234,220,192,.40),transparent 26%),
    linear-gradient(135deg,#f8f4ec,#eef0e9);
}
.workshop-stage-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:72px;
  align-items:center;
}
.workshop-photo{
  height:660px;
  overflow:hidden;
  border-radius:34px 210px 34px 34px;
  box-shadow:var(--shadow);
  border:1px solid rgba(199,162,100,.28);
  position:relative;
}
.workshop-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
}
.workshop-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(84,70,94,.12));
}
.workshop-stage-copy h2{margin:18px 0 26px}
.workshop-stage-copy p{
  color:var(--muted);
  font-size:1.06rem;
}
.workshop-facts{
  display:grid;
  gap:12px;
  margin:28px 0;
}
.workshop-fact{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:15px;
  align-items:start;
  padding:15px 0;
  border-top:1px solid rgba(84,70,94,.13);
}
.workshop-fact span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(199,162,100,.50);
  color:var(--plum);
  font-family:var(--serif);
}
.workshop-fact p{margin:0;font-size:.96rem}

.image-story{
  padding:110px 0;
  background:var(--paper);
}
.image-story-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.image-story-card{
  min-height:440px;
  border-radius:32px;
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow-soft);
}
.image-story-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.image-story-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 46%,rgba(48,38,54,.72));
}
.image-story-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:28px;
  color:#fff;
}
.image-story-content small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:.67rem;
  color:var(--gold-soft);
  margin-bottom:10px;
}
.image-story-content h3{font-size:1.75rem;margin-bottom:8px}
.image-story-content p{
  margin:0;
  color:rgba(255,255,255,.70);
  font-size:.91rem;
}
.image-story-card.abstract{
  background:
    radial-gradient(circle at 32% 33%,rgba(255,255,255,.92),transparent 12%),
    radial-gradient(circle at 38% 42%,rgba(199,162,100,.48),transparent 28%),
    radial-gradient(circle at 75% 29%,rgba(183,171,196,.62),transparent 36%),
    linear-gradient(145deg,#e9eee6,#eee7ef);
}
.image-story-card.abstract::before{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  border-radius:50%;
  border:1px solid rgba(84,70,94,.18);
  left:50%;
  top:43%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 30px rgba(199,162,100,.07),0 0 0 60px rgba(183,171,196,.05);
}
.image-story-card.abstract::after{
  background:linear-gradient(180deg,transparent 42%,rgba(48,38,54,.62));
}

.workshop-page-hero-image{
  margin-top:46px;
  height:560px;
  border-radius:34px 190px 34px 34px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(234,220,192,.30);
}
.workshop-page-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
}
.ritual-inline{
  margin:38px 0;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:35px;
  align-items:center;
  padding:28px;
  background:linear-gradient(135deg,var(--sage-soft),var(--mist));
  border-radius:30px;
}
.ritual-inline-image{
  height:360px;
  border-radius:170px 170px 24px 24px;
  overflow:hidden;
}
.ritual-inline-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:960px){
  .soul-intro-grid,.prayer-band,.workshop-stage-grid{grid-template-columns:1fr}
  .ritual-photo{min-height:610px}
  .prayer-image{min-height:560px}
  .workshop-photo{height:590px}
  .image-story-grid{grid-template-columns:1fr}
  .image-story-card{min-height:530px}
  .ritual-inline{grid-template-columns:1fr}
}
@media(max-width:680px){
  .soul-intro,.workshop-stage,.image-story{padding:82px 0}
  .ritual-photo{min-height:500px}
  .ritual-photo-main{right:25px;border-radius:160px 160px 28px 28px}
  .ritual-photo::after{width:125px;height:125px;bottom:30px}
  .ritual-caption{width:118px;bottom:55px;font-size:.86rem}
  .prayer-image{min-height:430px}
  .prayer-copy{padding:58px 28px}
  .workshop-photo{height:480px;border-radius:28px 145px 28px 28px}
  .image-story-card{min-height:430px}
  .workshop-page-hero-image{height:430px;border-radius:28px 135px 28px 28px}
}


/* ===================== Korrekturen nach Rueckmeldung =====================
   Steht bewusst am Ende und ueberschreibt Werte des gelieferten Entwurfs.

   1. Der Schriftgrad war zu gross. h1 lief mit clamp(3.8rem,7.2vw,7.2rem) auf
      breiten Schirmen auf 115px und brach die Hero-Ueberschrift in acht Zeilen.
   2. Das Motiv sitzt im rechten Drittel von hero.png. Der hohe schmale Bogen
      zeigte mit object-position:center den leeren Hintergrund, die Person war
      stark angeschnitten. */

h1{font-size:clamp(2.6rem,4.6vw,5rem)}
h2{font-size:clamp(2rem,3.4vw,3.5rem)}
h3{font-size:clamp(1.35rem,1.8vw,1.8rem)}
.section-heading h2{font-size:clamp(2rem,3.4vw,3.5rem)}
.hero-copy h1{font-size:clamp(2.2rem,3.8vw,4rem)}
.hero-arch img{object-position:76% 30%}

/* Divi verschachtelt Bilder in .et_pb_image > .et_pb_image_wrap > img. Diese
   Wrapper geben die Hoehe des Containers nicht weiter, dadurch fuellte das
   Portrait seinen Kasten nicht und liess unten eine leere Flaeche. */
.et_pb_image,.et_pb_image .et_pb_image_wrap{display:block;height:100%}
.feature-image .et_pb_image,.ritual-photo-main .et_pb_image,.workshop-photo .et_pb_image,
.prayer-image .et_pb_image,.mood-image .et_pb_image{height:100%}

/* Karten, die als Code-Modul stehen mussten (Links um Blockelemente), fuellen
   sonst ihre Rasterzelle nicht und stehen unterschiedlich hoch nebeneinander. */
.sign-list .et_pb_text,.sign-list .et_pb_text_inner,
.service-list .et_pb_code,.service-list .et_pb_text,.service-list .et_pb_text_inner,
.steps-grid .et_pb_text,.steps-grid .et_pb_text_inner,
.mood-grid .et_pb_text,.mood-grid .et_pb_text_inner,
.workshop-teaser .et_pb_text,.workshop-teaser .et_pb_text_inner{height:100%}
.service-row,.offer-card,.mood-card,.sign-item,.step{height:100%}

@media(max-width:680px){
  .hero-copy h1{font-size:2.4rem}
  .page-hero h1{font-size:2.4rem}
}


/* ============ Runde 2 der Rueckmeldung ============ */

/* Divis Akzentblau #2ea3f2 trifft ueber eine Sammelregel auch .et_pb_button und
   gewinnt wegen der Dokumentreihenfolge. Hoehere Spezifitaet statt !important. */
.et_pb_button.btn-primary,.et_pb_button.btn-primary:hover{color:#fff}
.et_pb_button.btn-secondary,.et_pb_button.btn-secondary:hover{color:var(--ink)}
.cta-box .et_pb_button.btn-primary{color:var(--plum-deep)}

/* Divi setzt seine Module auf position:relative. Absolut positionierte Elemente
   des Entwurfs bemassen sich dadurch am Modul statt am gedachten Container,
   die Bildunterschrift rutschte so in die Hero-Sektion hinauf. */
.et_pb_text,.et_pb_image{position:static}

/* Die Zeile am Ritualfoto ist eine Ueberschrift und steht jetzt im Textbereich
   unter dem letzten Absatz statt als Einblendung im Bild. Die absolute
   Positionierung des Entwurfs wird dafuer zurueckgenommen. */
.ritual-caption{
  position:static;width:auto;right:auto;bottom:auto;
  text-align:left;font-size:clamp(1.35rem,1.8vw,1.8rem);
  line-height:1.25;margin:34px 0 0;color:var(--plum)
}
/* Der Deko-Kreis im Bild entfaellt. */
.ritual-photo::after{display:none}

/* Statt Zahlen das Rautenmotiv, das der Entwurf im Hero schon benutzt. */
.marke{display:block;width:10px;height:10px;transform:rotate(45deg);
 border:1px solid var(--gold);background:rgba(255,255,255,.45)}
/* Die Raute steht bei den Punkten am Zeilenanfang, nicht als eigene Zeile
   darueber. Die Karte wird dafuer zur Zeile aus Marke und Text. */
.sign-item{display:flex;align-items:flex-start;gap:14px}
.sign-item .marke{flex:0 0 auto;margin:8px 0 0}
.sign-item p{margin:0}
.step .marke{margin-bottom:48px}
.service-row .marke{border-color:var(--gold-soft);background:rgba(255,255,255,.10)}
.workshop-fact span .marke{width:9px;height:9px}

/* Portraet mittig: das Motiv sitzt im rechten Drittel der Bilddatei, mit
   object-position:center zeigte der Kasten den leeren Hintergrund links. */
.feature-image img{object-position:100% 40%}

/* Das Workshopbild hat den Kopfbereich verlassen und steht nun zurueckhaltend
   unter den Workshopkarten. */
.workshop-bild{padding:0 0 112px}
.workshop-bild .workshop-page-hero-image{max-width:720px;margin:0 auto;height:300px;
 border-radius:170px 170px 34px 34px;overflow:hidden;box-shadow:var(--shadow-soft);
 border:1px solid rgba(199,162,100,.28)}
.workshop-bild .workshop-page-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%}

@media(max-width:680px){
 .ritual-caption{width:150px;font-size:1rem}
 .workshop-bild{padding:0 0 82px}
 .workshop-bild .workshop-page-hero-image{height:220px;border-radius:120px 120px 28px 28px}
}


/* ============ Runde 3 der Rueckmeldung ============ */

/* Divi blendet auf jedem Button ein eigenes Pfeilsymbol ein und schiebt beim
   Hover den Innenabstand, damit Platz dafuer entsteht. Der Pfeil lief dadurch
   ueber die Beschriftung. Beides gehoert in diesem Entwurf nicht hin. */
.et_pb_button::after,.et_pb_button::before{display:none!important;content:none!important}
.et_pb_button,.et_pb_button:hover{padding:0 24px!important}

/* Divi faerbt Buttons ueber .et_pb_bg_layout_light.et_pb_button. Das ist die
   gleiche Spezifitaet wie die vorige Korrektur und steht spaeter im Dokument,
   deshalb gewann weiter das Akzentblau. Eine Klasse mehr entscheidet es. */
.et_pb_bg_layout_light.et_pb_button.btn-primary,
.et_pb_bg_layout_light.et_pb_button.btn-primary:hover{color:#fff}
.et_pb_bg_layout_light.et_pb_button.btn-secondary,
.et_pb_bg_layout_light.et_pb_button.btn-secondary:hover{color:var(--ink)}
.cta-box .et_pb_bg_layout_light.et_pb_button.btn-primary,
.cta-box .et_pb_bg_layout_light.et_pb_button.btn-primary:hover{color:var(--plum-deep)}

/* wpautop hinterlaesst leere Absaetze. Im Raster der Workshop-Fakten belegten
   sie eine Zelle und quetschten den Text in die 42px breite Markenspalte. */
p:empty{display:none}

/* Divi-Spalten sind Flexcontainer. Ein Bildmodul darin schrumpft auf seine
   Inhaltsbreite statt die Spalte zu fuellen. */
.et_pb_column>.et_pb_image{width:100%}

/* Divis .entry-content thead th{color:#555} hat einen Elementselektor mehr als
   .price-table th und gewinnt deshalb unabhaengig von der Reihenfolge. Die
   Kopfzeile der Honorartabelle stand dadurch dunkel auf dunklem Pflaumengrund. */
.entry-content .price-table th,.price-table thead th,.price-table tr th{color:#fff}

/* Das Zitatband war von der Verkleinerung der Ueberschriften nicht erfasst,
   weil es ein blockquote ist. Es stand dadurch deutlich groesser als jedes h2. */
.quote-panel blockquote{font-size:clamp(1.9rem,3.6vw,3.8rem)}


/* ============ Divi-Kontaktformular im Stil des Entwurfs ============
   Das gelieferte Demo-Formular ist durch das Divi-Formularmodul ersetzt.
   Divis DOM heisst anders als das des Entwurfs, deshalb hier die Zuordnung
   auf .form-card, .form-grid, .field, .check und die Eingabefelder. */

.form-card .et_pb_contact_form_container,
.form-card .et_pb_contact{margin:0;padding:0}
.form-card .et_pb_contact_form{display:grid;grid-template-columns:1fr 1fr;gap:18px}

.form-card .et_pb_contact_field{
  display:grid;gap:7px;padding:0!important;margin:0;
  grid-column:1/-1;float:none;width:auto
}
.form-card .et_pb_contact_field[data-id="name"],
.form-card .et_pb_contact_field[data-id="email"]{grid-column:span 1}

/* Die Feldnamen stehen als Platzhalter im Feld. Die Beschriftung bleibt fuer
   Screenreader erhalten, wird aber nicht doppelt angezeigt. */
.form-card .et_pb_contact_form_label{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap
}

/* Divis Meldungsfeld steht auch dann da, wenn es leer ist. */
.form-card .et-pb-contact-message:empty{display:none}

.form-card .et_pb_contact_field .input,
.form-card .et_pb_contact_field input.input,
.form-card .et_pb_contact_field textarea.input,
.form-card .et_pb_contact_field select.input{
  width:100%;border:1px solid rgba(84,70,94,.20)!important;
  background:rgba(255,255,255,.88)!important;border-radius:14px!important;
  padding:14px 15px!important;color:var(--ink)!important;
  font-family:var(--sans)!important;font-size:1rem!important;box-shadow:none!important
}
.form-card .et_pb_contact_field .input:focus{
  border-color:var(--lavender)!important;box-shadow:0 0 0 3px rgba(183,171,196,.20)!important
}
.form-card .et_pb_contact_field textarea.input{min-height:170px;resize:vertical}
.form-card .et_pb_contact_field .input::placeholder{color:rgba(64,57,64,.45)}

/* Einwilligung: Divi rendert das Kaestchen als <i> im Label. */
.form-card .et_pb_contact_field[data-type="checkbox"] .et_pb_contact_form_label,
.form-card .et_pb_contact_field_options_title{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap
}
.form-card .et_pb_contact_field_checkbox{display:block;position:relative}
.form-card .et_pb_contact_field_checkbox input[type=checkbox]{position:absolute;opacity:0;width:18px;height:18px;margin:0}
.form-card .et_pb_contact_field_checkbox label{
  position:relative;display:block;padding-left:29px;
  font-size:.82rem;color:var(--muted);line-height:1.55;cursor:pointer
}
.form-card .et_pb_contact_field_checkbox label i{
  position:absolute;left:0;top:2px;display:block;width:18px;height:18px;margin:0;
  border:1px solid rgba(84,70,94,.30);border-radius:5px;background:rgba(255,255,255,.88)
}
.form-card .et_pb_contact_field_checkbox label i:before{display:none}
.form-card .et_pb_contact_field_checkbox input[type=checkbox]:checked+label i{
  background:var(--plum);border-color:var(--plum)
}
.form-card .et_pb_contact_field_checkbox input[type=checkbox]:checked+label i:after{
  content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)
}
.form-card .et_pb_contact_field_checkbox input[type=checkbox]:focus-visible+label i{
  outline:2px solid var(--lavender);outline-offset:2px
}

/* Sicherheitsabfrage und Absendeknopf */
.form-card .et_contact_bottom_container{
  grid-column:1/-1;display:flex;align-items:center;gap:20px;
  flex-wrap:wrap;float:none;margin:0;text-align:left
}
.form-card .et_pb_contact_right{margin:0;padding:0!important;width:auto;float:none}
.form-card .et_pb_contact_right p{margin:0}
.form-card .et_pb_contact_captcha_question{color:var(--muted);font-size:.9rem}
.form-card input.et_pb_contact_captcha{width:74px!important;text-align:center}

.form-card .et_pb_contact_submit{
  min-height:52px;padding:0 24px!important;border-radius:999px!important;
  background:var(--plum)!important;color:#fff!important;
  border:1px solid var(--plum)!important;font-family:var(--sans)!important;
  font-weight:600;font-size:.92rem;box-shadow:none!important;transition:.24s ease
}
.form-card .et_pb_contact_submit:hover{
  transform:translateY(-2px);box-shadow:0 14px 32px rgba(84,70,94,.22)!important
}

.form-card .et-pb-contact-message{
  grid-column:1/-1;margin:0;padding:13px 15px;border-radius:12px;
  background:var(--sage-soft);color:var(--ink)
}
.form-card .et-pb-contact-message ul{list-style:none;padding:0;margin:0}

.form-hinweis{margin:18px 0 0;font-size:.82rem;color:var(--muted);line-height:1.6}
.form-hinweis a{border-bottom:1px solid rgba(199,162,100,.6)}

@media(max-width:680px){
  .form-card .et_pb_contact_form{grid-template-columns:1fr}
  .form-card .et_pb_contact_field[data-id="name"],
  .form-card .et_pb_contact_field[data-id="email"]{grid-column:1/-1}
}

/* Die Raute steht zwischen den Begriffen, nicht vor dem ersten. */
.hero-meta span:first-child i{display:none}

/* ============ Runde 3 der Rueckmeldung ============ */

/* Abschnitt "Vielleicht erkennst du dich hier wieder": Die Einleitung stand als
   schmale linke Spalte neben den Kaesten, die sich dadurch in der rechten
   Haelfte draengten. Jetzt steht sie mittig darueber, die Kaesten darunter
   nutzen die volle Breite der Zeile. */
.signs-grid{grid-template-columns:1fr;gap:54px}
.sticky-intro{position:static;max-width:820px;justify-self:center}
/* Die Bruecke setzt margin:0!important auf Divi-Spalten, deshalb zentriert
   justify-self statt margin-inline:auto. Und Divi setzt text-align direkt am
   Textmodul, ein geerbtes center vom Elternteil verliert dagegen. */
.sticky-intro .et_pb_text,.sticky-intro .et_pb_text_inner,
.sticky-intro h2,.sticky-intro p{text-align:center}
.sticky-intro .eyebrow{justify-content:center}
/* Zwei Spalten: zehn Kaesten ergeben fuenf volle Zeilen, alle gleich breit. */
.sign-list{grid-template-columns:repeat(2,1fr)}
@media(max-width:680px){
  .sign-list{grid-template-columns:1fr}
}
/* Keine feste Mindesthoehe mehr: die Kaesten richten sich nach ihrem Inhalt.
   grid-auto-rows:1fr haelt trotzdem alle Zeilen und damit alle zehn Kaesten
   auf gleicher Hoehe, bemessen am laengsten Text. */
.sign-list{grid-auto-rows:1fr}
.sign-item{min-height:0}

/* ============ Uebernachtung: Lichtental-Apart ============ */

.stay-section{padding:96px 0}
.stay-card{
  background:var(--paper);
  border:1px solid var(--gold-soft);
  border-radius:34px;
  box-shadow:var(--shadow-soft);
  padding:34px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  grid-template-areas:"bild text" "slider text";
  gap:18px 44px;
  align-items:start;
  scroll-margin-top:110px
}
.stay-main{grid-area:bild;margin:0;border-radius:26px;overflow:hidden;background:var(--mist);aspect-ratio:4/3}
.stay-main img{width:100%;height:100%;object-fit:cover;display:block}
.stay-copy{grid-area:text}
.stay-copy h2{margin:16px 0 20px;font-size:clamp(1.7rem,2.4vw,2.3rem)}
.stay-copy p{color:var(--muted)}
.stay-facts{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 20px}
.stay-facts li{display:flex;align-items:flex-start;gap:11px;font-size:.94rem;color:var(--ink);line-height:1.5}
.stay-facts .marke{flex:0 0 auto;margin:7px 0 0}
.stay-adresse{margin:28px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:.92rem}
.stay-adresse strong{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:var(--ink);display:block;margin-bottom:5px}

.stay-slider-wrap{grid-area:slider;display:flex;flex-direction:column;gap:12px}
.stay-slider{
  position:relative;overflow:hidden;
  border-radius:24px;background:var(--mist);
  height:clamp(200px,19vw,290px)
}
.stay-slide{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;pointer-events:none}
.stay-slide.is-active{opacity:1;pointer-events:auto}
.stay-slide img{width:100%;height:100%;object-fit:cover;display:block}
.stay-nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:40px;height:40px;border-radius:999px;padding:0;
  border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.74);
  backdrop-filter:blur(6px);color:var(--plum-deep);
  font-size:1.35rem;line-height:1;display:flex;align-items:center;justify-content:center
}
.stay-nav:hover{background:#fff}
.stay-nav:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.stay-prev{left:14px}
.stay-next{right:14px}
.stay-dots{position:absolute;left:0;right:0;bottom:14px;z-index:2;display:flex;justify-content:center;gap:7px}
.stay-dot{width:7px;height:7px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.6);transition:width .3s ease,background .3s ease}
.stay-dot.is-active{width:20px;background:var(--gold)}
.stay-caption{margin:0;text-align:center;font-size:.84rem;color:var(--muted)}

@media(prefers-reduced-motion:reduce){
  .stay-slide{transition:none}
  .stay-dot{transition:none}
}
@media(max-width:960px){
  .stay-section{padding:72px 0}
  .stay-card{grid-template-columns:1fr;grid-template-areas:"bild" "slider" "text";gap:20px;padding:26px}
}
@media(max-width:680px){
  .stay-card{padding:20px;border-radius:26px}
  .stay-facts{grid-template-columns:1fr}
  .stay-nav{width:34px;height:34px;font-size:1.15rem}
}

/* Hinweis weiter oben auf der Seite, der zum Unterkunftskasten am Seitenende
   fuehrt. Bewusst schmal gehalten, damit er den Lesefluss nicht unterbricht. */
.stay-teaser-section{padding:0 0 24px}
.stay-teaser{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:14px 26px;text-align:center;
  padding:26px 30px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.stay-teaser-text{max-width:58ch}
.stay-teaser h3{margin:0 0 7px;font-size:1.3rem;line-height:1.3;color:var(--ink)}
.stay-teaser p{margin:0;color:var(--muted);font-size:1rem}
.stay-teaser .btn{flex:0 0 auto}
@media(max-width:680px){
  .stay-teaser{flex-direction:column;padding:24px 18px}
}

/* Die Preiszeile soll am Kartenfuss stehen. Das vorhandene margin-top:auto
   greift dort erst, wenn Divis Textmodul und dessen Innencontainer die
   Kartenhoehe mitnehmen und selbst zur Flex-Spalte werden. */
.offer-card .et_pb_text,
.offer-card .et_pb_text_inner{flex:1 1 auto;display:flex;flex-direction:column}
.offer-card .meta strong{font-weight:600;color:var(--ink)}

/* Im gerenderten Markup stehen zwischen den Begriffen leere span-Elemente.
   Als Flex-Kinder verbrauchen sie je einen vollen Abstand, dadurch stand die
   Raute weiter vom vorigen Wort entfernt als vom folgenden. */
.hero-meta span:empty{display:none}
.hero-meta br{display:none}

/* Divi haengt jeder Zeile einen Clearfix ::after an. Steht die Zeile auf
   display:grid, wird dieses Pseudoelement selbst zum Rasterelement: Es
   erzeugt eine zweite Zeile von 0 Pixeln plus den vollen Zeilenabstand.
   Dadurch stand unter den Rasterbloecken mehr Luft als darueber. */
.hero-grid::after,
.soul-intro-grid::after,
.signs-grid::after,
.split-feature::after,
.cta-box::after,
.content-grid::after,
.offer-grid::after,
.contact-grid::after,
.workshop-stage-grid::after{content:none}

/* Empfehlungsblock auf der Podcast-Seite: bewusst groesser als die uebrigen
   Abschnitte, weil er das Fazit der Seite traegt. */
.empfehlung{
  background:var(--paper);
  border:1px solid var(--gold-soft);
  border-radius:38px;
  box-shadow:var(--shadow);
  padding:clamp(32px,4.4vw,66px)
}
.empfehlung h2{margin:18px 0 22px;font-size:clamp(2rem,3.3vw,3.1rem);line-height:1.16}
.empfehlung .lead{margin:0;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.6;color:var(--ink);max-width:62ch}
.empfehlung-punkte{
  display:grid;grid-template-columns:1fr 1fr;gap:34px 48px;
  margin-top:44px;padding-top:40px;border-top:1px solid var(--line)
}
.empfehlung-punkt{display:flex;align-items:flex-start;gap:16px}
.empfehlung-punkt .marke{flex:0 0 auto;margin:9px 0 0}
.empfehlung-punkt h3{margin:0 0 9px;font-size:1.3rem;line-height:1.3;color:var(--ink)}
.empfehlung-punkt p{margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
@media(max-width:960px){
  .empfehlung-punkte{grid-template-columns:1fr;gap:28px;margin-top:34px;padding-top:32px}
}
@media(max-width:680px){
  .empfehlung{border-radius:28px}
}

/* Bedenkenblock in den Wegen auf der Podcast-Seite. Bewusst zurueckgenommen,
   damit er als Einwand lesbar ist und nicht als Warnung schreit. */
.podcast-wege{grid-template-columns:repeat(3,1fr)}
.bedenken{margin:22px 0 0;padding:20px 22px;background:rgba(84,70,94,.045);border-radius:18px}
.bedenken h3{margin:0 0 12px;font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--plum)}
.bedenken ul{margin:0;padding:0;list-style:none;display:grid;gap:11px}
.bedenken li{position:relative;padding-left:19px;font-size:.92rem;line-height:1.55;color:var(--muted)}
.bedenken li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;transform:rotate(45deg);border:1px solid var(--gold);background:rgba(255,255,255,.45)}
@media(max-width:1180px){ .podcast-wege{grid-template-columns:repeat(2,1fr)} }
@media(max-width:680px){ .podcast-wege{grid-template-columns:1fr} }

/* Pflichthinweis zur Kleinunternehmerregelung unter den Preisrastern. */
.steuerhinweis{margin:30px 0 0}


/* ==========================================================================
   Untermenue in der Kopfzeile

   Ein Menuepunkt mit Unterpunkten wird zu .nav-gruppe: der Kopf bleibt ein
   Link auf die Elternseite, die Kinder liegen darunter in .nav-untermenue.

   Geoeffnet wird ueber :hover UND :focus-within - damit erreicht auch die
   Tastatur das Untermenue, ohne dass dafuer JavaScript noetig waere.

   Die Regeln stehen bewusst hier im Basisblatt und nicht in einem der
   Varianten-Blaetter: die Kopfzeile ist auf allen Seiten dieselbe. Farben
   kommen aus den Variablen, damit jede Variante ihre eigene Familie behaelt.
   ========================================================================== */

.nav-gruppe{position:relative;display:inline-flex;align-items:center}

.nav-gruppe-kopf{display:inline-flex;align-items:center;gap:7px}

/* Das Pfeilchen: ein gedrehtes Quadrat aus zwei Kanten, kein Zeichensatz. */
.nav-gruppe-kopf i{
  display:block;
  width:5px;
  height:5px;
  margin-top:-3px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  opacity:.55;
  transition:transform .22s ease,opacity .22s ease;
}
.nav-gruppe:hover .nav-gruppe-kopf i,
.nav-gruppe:focus-within .nav-gruppe-kopf i{transform:rotate(225deg) translate(-2px,-2px);opacity:.9}

.nav-untermenue{
  position:absolute;
  top:100%;
  left:50%;
  z-index:70;
  display:grid;
  gap:2px;
  min-width:150px;
  margin-top:10px;
  padding:10px;
  transform:translateX(-50%) translateY(-6px);
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
  opacity:0;
  visibility:hidden;
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.nav-gruppe:hover .nav-untermenue,
.nav-gruppe:focus-within .nav-untermenue{
  opacity:1;
  visibility:visible;
  transform:translateX(-50%) translateY(0);
}

/* Eine unsichtbare Bruecke ueber den Abstand: sonst schliesst sich das Menue,
   sobald der Zeiger die Luecke zwischen Kopf und Klappe quert. */
.nav-untermenue::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
}

.nav-untermenue a{
  padding:7px 12px;
  border-radius:9px;
  font-size:.86rem;
  white-space:nowrap;
  transition:background .18s ease;
}
.nav-untermenue a:hover,
.nav-untermenue a[aria-current="page"]{background:var(--cream)}
/* Der Unterstrich der Hauptnavigation gehoert nicht in die Klappe. */
.nav-untermenue a::after{display:none}

@media(prefers-reduced-motion:reduce){
  .nav-untermenue,
  .nav-gruppe-kopf i{transition:none}
}

/* Auf schmalen Schirmen klappt nichts auf: die Unterpunkte stehen eingerueckt
   unter ihrem Kopf, wie es das Mobilmenue des Entwurfs erwartet. */
@media(max-width:960px){
  .nav-gruppe{display:block;width:100%}
  .nav-gruppe-kopf{width:100%}
  .nav-untermenue{
    position:static;
    display:grid;
    min-width:0;
    margin:2px 0 6px 16px;
    padding:0 0 0 12px;
    transform:none;
    border:0;
    border-left:1px solid var(--line);
    border-radius:0;
    background:none;
    box-shadow:none;
    opacity:1;
    visibility:visible;
  }
  .nav-untermenue::before{display:none}
  .nav-untermenue a{padding:6px 0}
  .nav-untermenue a:hover,
  .nav-untermenue a[aria-current="page"]{background:none;text-decoration:underline}
}
