/* Neue LebensRichtung 6.0 — warmes, vom Logo abgeleitetes Designsystem */
:root {
  --h-ink:#30241d;
  --h-espresso:#39271f;
  --h-brown:#5d3d2c;
  --h-cognac:#8f5b31;
  --h-gold:#b98536;
  --h-gold-dark:#85581f;
  --h-terracotta:#b56547;
  --h-paper:#fffdf8;
  --h-cream:#fbf4e8;
  --h-sand:#eee0ca;
  --h-rose:#f2dfd6;
  --h-muted:#6e625a;
  --h-line:rgba(93,61,44,.16);
  --h-shadow:0 24px 60px rgba(66,42,28,.12);
  --h-shadow-soft:0 12px 34px rgba(66,42,28,.08);
  --petrol:var(--h-brown);
  --petrol-deep:var(--h-ink);
  --petrol-soft:var(--h-cognac);
  --olive:var(--h-gold-dark);
  --olive-soft:#f3e7d2;
  --gold:var(--h-gold);
  --gold-soft:#d7ae6c;
  --sand:var(--h-sand);
  --sand-strong:#dcc7a8;
  --sand-deep:#af8c65;
  --cream:var(--h-cream);
  --cream-deep:#f2e6d3;
  --paper:var(--h-paper);
  --ink:var(--h-ink);
  --muted:var(--h-muted);
  --white:#fffefb;
  --border:var(--h-line);
  --shadow:var(--h-shadow);
  --shadow-soft:var(--h-shadow-soft);
  --shadow-card:var(--h-shadow-soft);
  --shadow-strong:var(--h-shadow);
  --nlr-ink:var(--h-ink);
  --nlr-forest:var(--h-brown);
  --nlr-moss:var(--h-cognac);
  --nlr-gold:var(--h-gold);
  --nlr-sand:var(--h-sand);
  --nlr-cream:var(--h-cream);
  --nlr-paper:var(--h-paper);
  --nlr-white:#fffefb;
  --premium-green:var(--h-brown);
  --premium-gold:var(--h-gold-dark);
  --premium-gold-light:#e4bf78;
  --premium-ink:var(--h-ink);
  --premium-paper:var(--h-paper);
  --premium-cream:var(--h-cream);
}

html { background:var(--h-paper); }
body { background:var(--h-paper); color:var(--h-ink); }
body p { color:var(--h-muted); }
a { color:var(--h-brown); }
a:hover { color:var(--h-terracotta); }

/* Kopfbereich: ruhig, hell und ohne farbige Fläche */
.site-header,
.page-premium .site-header {
  position:relative;
  inset:auto;
  height:96px;
  border:0;
  border-bottom:1px solid var(--h-line);
  background:rgba(255,253,248,.97);
  box-shadow:0 8px 30px rgba(66,42,28,.055);
  backdrop-filter:blur(18px);
}
.site-header .container { width:min(1440px,calc(100% - 64px)); max-width:none; }
.site-header .navbar { min-height:96px; }
.brand-symbol { background:transparent !important; }
.brand-title,
.page-premium .brand-title,
.site-header .nav-link,
.page-premium .site-header .nav-link { color:var(--h-ink) !important; text-shadow:none; }
.brand-subtitle,
.page-premium .brand-subtitle { color:var(--h-cognac) !important; }
.site-header .nav-link { position:relative; }
.site-header .nav-link.active,
.site-header .nav-link:hover,
.page-premium .site-header .nav-link.active,
.page-premium .site-header .nav-link:hover { color:var(--h-cognac) !important; }
.site-header .nav-link.active::before {
  content:""; position:absolute; right:14px; bottom:7px; left:14px; height:1px; background:var(--h-gold);
}
.site-header .btn-nav,
.page-premium .site-header .btn-nav {
  border:1px solid var(--h-espresso); border-radius:2px; background:var(--h-espresso); color:#fffaf0 !important;
}
.site-header .btn-nav:hover { border-color:var(--h-cognac); background:var(--h-cognac); }
.site-header .dropdown-menu {
  padding:13px; border:1px solid var(--h-line); border-radius:2px; background:rgba(255,253,248,.99); box-shadow:var(--h-shadow-soft);
}
.site-header .dropdown-item { color:var(--h-brown); }
.site-header .dropdown-item:hover,
.site-header .dropdown-item.active { background:#f3e7d4; color:var(--h-ink); }

/* Bedienelemente */
.premium-overline,
body:not(.page-renewal) .section .eyebrow { color:var(--h-gold-dark); }
.premium-button-green,
body:not(.page-renewal) .btn-accent {
  border:1px solid var(--h-espresso); background:var(--h-espresso); color:#fffaf0; box-shadow:none;
}
.premium-button-green:hover,
body:not(.page-renewal) .btn-accent:hover { border-color:var(--h-cognac); background:var(--h-cognac); color:#fff; }
.btn-outline-warm,
.btn-soft { border-color:rgba(93,61,44,.32) !important; background:transparent !important; color:var(--h-brown) !important; }
.btn-outline-warm:hover,
.btn-soft:hover { border-color:var(--h-cognac) !important; background:#f3e6d2 !important; color:var(--h-ink) !important; }
.premium-link { color:var(--h-brown); }
.premium-link span,
.premium-link:hover { color:var(--h-terracotta); }

/* Startseite */
.premium-shell { width:min(1280px,calc(100% - 96px)); }
.premium-hero {
  min-height:790px;
  background:
    radial-gradient(circle at 10% 17%,rgba(220,173,91,.22),transparent 27%),
    radial-gradient(circle at 92% 82%,rgba(181,101,71,.1),transparent 30%),
    linear-gradient(142deg,#fffdf8 0%,#f9f0e2 51%,#ead8bd 100%);
}
.premium-hero::before { background:linear-gradient(145deg,rgba(185,133,54,.08),rgba(143,91,49,.14)); }
.premium-hero::after { background:linear-gradient(0deg,var(--h-paper),transparent); }
.premium-hero h1 { color:var(--h-ink); }
.premium-hero h1 em,
.page-premium h1 em,
.page-premium h2 em { color:var(--h-cognac); }
.premium-hero-copy > p { color:#62544b; }
.premium-hero-notes { border-color:var(--h-line); }
.premium-hero-notes span { color:var(--h-brown); }
.premium-hero-notes span:not(:last-child)::after { background:var(--h-gold); }
.premium-hero-portrait {
  border:1px solid rgba(143,91,49,.2); background:rgba(255,253,248,.7); box-shadow:0 32px 80px rgba(83,52,32,.16);
}
.premium-portrait-logo { background:transparent !important; box-shadow:none !important; }
.premium-portrait-logo img { filter:drop-shadow(0 8px 15px rgba(78,48,29,.17)); }

.premium-founders-v2 {
  background:radial-gradient(circle at 92% 14%,rgba(185,133,54,.08),transparent 25%),var(--h-paper);
}
.premium-founder-heading h2,
.premium-founders-copy h2 { color:var(--h-ink); }
.premium-founder-since { border-color:var(--h-line); }
.premium-founder-since strong { color:var(--h-cognac); }
.premium-founders-copy blockquote { border-color:var(--h-gold); color:var(--h-brown); }

.premium-inspiration {
  background:radial-gradient(circle at 5% 90%,rgba(181,101,71,.09),transparent 25%),linear-gradient(145deg,#f7ecda,#fbf5ec);
}
.premium-inspiration::after { color:rgba(93,61,44,.035); }
.premium-path-grid { border-color:var(--h-line); }
.premium-path {
  border-color:var(--h-line); background:rgba(255,253,248,.77); box-shadow:0 8px 28px rgba(74,44,27,.035);
}
.premium-path:nth-child(3),
.premium-path:nth-child(4) { background:rgba(237,220,193,.62); }
.premium-path:hover { background:#fffdf9; box-shadow:var(--h-shadow-soft); }
.premium-path h3 { color:var(--h-ink); }
.premium-path > span { color:var(--h-cognac); }

.premium-experiences {
  background:radial-gradient(circle at 90% 10%,rgba(185,133,54,.18),transparent 30%),linear-gradient(135deg,#30221c,#533526 60%,#70462d);
}
.premium-experiences .premium-overline,
.premium-quote footer { color:#edc77e; }
.premium-quote { border-color:rgba(255,244,225,.17); background:rgba(255,247,234,.045); }
.premium-quote-mark { color:#dcae5e; }

.premium-possibilities { background:var(--h-paper); }
.premium-situation { border-color:rgba(93,61,44,.18); background:linear-gradient(155deg,#f5e9d8,#ead8be); }
.premium-situation > span { color:rgba(76,49,34,.5); }
.premium-situation > small { color:var(--h-cognac); }
.premium-situation a { color:var(--h-brown); }
.premium-situation a:hover { color:var(--h-terracotta); }
.premium-situation-gold { border-color:#c69b54; background:linear-gradient(155deg,#efd49d,#d8aa5e); }
.premium-situation-gold > small { color:#67401d; }
.premium-situation-gold p { color:#4c3b31; }
.premium-situation-dark { border-color:var(--h-brown); background:linear-gradient(145deg,#4b3025,#795038); }
.premium-situation-dark > small { color:#f0c87d; }
.premium-situation-dark > div { border-color:rgba(255,255,255,.18); }
.premium-situation-dark a { color:#fff8ec; }

.premium-journey { background:linear-gradient(130deg,#f1e3cf,#e5cfad); }
.premium-journey-grid > div { border-color:rgba(93,61,44,.3); }
.premium-journey-grid span { background:#ead8bc; color:var(--h-cognac); }
.premium-closing {
  background:radial-gradient(circle at 78% 50%,rgba(201,156,80,.2),transparent 28%),linear-gradient(130deg,#2b201b,#4d3125 58%,#70462f);
}
.premium-closing .premium-overline { color:#edc77e; }
.premium-button-light { border-color:#e8cf9e; background:#fff8eb; color:var(--h-brown); }
.premium-button-light:hover { border-color:var(--h-gold); background:var(--h-gold); color:#30241d; }
.premium-closing-image::after { display:none; }

/* Echte Schmetterlinge: nur sanft schweben, keine grafische Verformung */
.premium-butterfly { filter:drop-shadow(0 14px 22px rgba(78,43,24,.18)); animation:heritageFloat 7s ease-in-out infinite; transform-origin:center; }
.premium-butterfly-hero { top:118px; left:2.8%; width:145px; opacity:.55; animation-delay:-1.5s; }
.premium-butterfly-founders { width:102px !important; opacity:.66 !important; animation-delay:-3.8s; }
.premium-butterfly-inspiration { width:265px; opacity:.11; animation-delay:-2.2s; }
.premium-butterfly-closing { animation-delay:-4.7s; }
.premium-closing-image img { animation:heritageFloatLarge 8.5s ease-in-out infinite; filter:drop-shadow(0 25px 45px rgba(0,0,0,.24)); }
@keyframes heritageFloat {
  0%,100% { transform:translate3d(0,0,0) rotate(-3deg); }
  50% { transform:translate3d(3px,-11px,0) rotate(3deg); }
}
@keyframes heritageFloatLarge {
  0%,100% { transform:translate3d(0,0,0) rotate(-1deg) scale(1); }
  50% { transform:translate3d(4px,-10px,0) rotate(1.5deg) scale(1.015); }
}

/* Unterseiten: neuer redaktioneller Aufbau */
body:not(.page-premium) .page-hero {
  position:relative; min-height:580px; display:flex; align-items:center; padding:92px 0 82px !important; overflow:hidden;
  background:
    radial-gradient(circle at 78% 26%,rgba(222,178,99,.18),transparent 28%),
    linear-gradient(135deg,#fffdf8 0%,#f7ecd9 65%,#ead7ba 100%) !important;
}
body:not(.page-premium) .page-hero::after {
  content:""; position:absolute; right:-6vw; bottom:-32%; width:52vw; height:72%; border:1px solid rgba(143,91,49,.12); border-radius:50% 50% 0 0; transform:rotate(-7deg); pointer-events:none;
}
body:not(.page-premium) .page-hero::before {
  content:""; position:absolute; z-index:0; right:4.5%; top:50%; width:clamp(135px,17vw,255px); aspect-ratio:1;
  background:url('/img/chakra-butterfly-real.webp') center/contain no-repeat; opacity:.16; pointer-events:none;
  animation:heritageHeroFloat 8s ease-in-out infinite;
}
@keyframes heritageHeroFloat {
  0%,100% { transform:translateY(-50%) rotate(-3deg); }
  50% { transform:translateY(calc(-50% - 10px)) rotate(3deg); }
}
body:not(.page-premium) .page-hero .container { position:relative; z-index:1; }
body:not(.page-premium) .page-hero-shell {
  width:100%; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.65fr); gap:clamp(50px,8vw,125px); align-items:center;
  padding:0; border:0; background:transparent; box-shadow:none;
}
body:not(.page-premium) .page-hero-shell-single { grid-template-columns:minmax(0,830px) minmax(180px,.45fr); }
body:not(.page-premium) .page-hero-copy { max-width:800px; }
body:not(.page-premium) .page-hero-title,
body:not(.page-premium) .page-hero h1 {
  max-width:11ch; margin:17px 0 25px !important; color:var(--h-ink) !important;
  font:500 clamp(3.7rem,6vw,6.7rem)/.88 'Cormorant Garamond',serif !important; letter-spacing:-.045em;
}
body:not(.page-premium) .page-hero-copy p { max-width:640px; color:#66574d !important; font-size:1.06rem !important; line-height:1.78 !important; }
body:not(.page-premium) .page-hero-photo,
body:not(.page-premium) .page-hero-mark {
  position:relative; overflow:hidden; border:1px solid rgba(143,91,49,.22); border-radius:0; background:#f5ead8; box-shadow:var(--h-shadow);
}
body:not(.page-premium) .page-hero-photo img,
body:not(.page-premium) .page-hero-mark img { width:100%; min-height:390px; object-fit:cover; }
body:not(.page-premium) .brand-page-hero-shell::after {
  content:"Neue LebensRichtung"; align-self:end; padding:0 0 28px; border-bottom:1px solid var(--h-gold); color:var(--h-cognac);
  font:500 2rem/1 'Cormorant Garamond',serif; letter-spacing:.03em;
}

body:not(.page-premium) .section { padding:clamp(90px,9vw,145px) 0; background:var(--h-paper); }
body:not(.page-premium) .section:nth-of-type(odd) { background:#faf3e8; }
body:not(.page-premium) .section::before,
body:not(.page-premium) .section::after { display:none !important; }
body:not(.page-premium) .section-title { max-width:880px; margin-bottom:60px; }
body:not(.page-premium) .section-title h2 {
  color:var(--h-ink) !important; font:500 clamp(3.1rem,5vw,5.4rem)/.94 'Cormorant Garamond',serif !important; letter-spacing:-.035em;
}
body:not(.page-premium) .section-title p { max-width:690px; color:var(--h-muted) !important; line-height:1.8 !important; }

body:not(.page-premium) .story-grid,
body:not(.page-premium) .page-reading-layout {
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(50px,8vw,120px); align-items:start;
}
body:not(.page-premium) .section:nth-of-type(even) .story-grid > :first-child { order:2; }
body:not(.page-premium) .section:nth-of-type(even) .story-grid > :last-child { order:1; }
body:not(.page-premium) .story-card,
body:not(.page-premium) .text-card,
body:not(.page-premium) .soft-card,
body:not(.page-premium) .content-card,
body:not(.page-premium) .contact-panel,
body:not(.page-premium) .form-panel {
  border:0; border-top:1px solid var(--h-gold); border-radius:0; background:transparent; box-shadow:none; padding:clamp(30px,4vw,56px) 0 0;
}
body:not(.page-premium) .story-card h2,
body:not(.page-premium) .story-card h3,
body:not(.page-premium) .text-card h2,
body:not(.page-premium) .text-card h3,
body:not(.page-premium) .content-card h2,
body:not(.page-premium) .content-card h3 { color:var(--h-ink); }
body:not(.page-premium) .page-inline-photo { border:0; box-shadow:var(--h-shadow-soft); }
body:not(.page-premium) .page-inline-photo img { min-height:360px; }

body:not(.page-premium) .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--h-line); }
body:not(.page-premium) .service-card {
  min-height:420px; padding:42px; border:0; border-radius:0; background:var(--h-paper); box-shadow:none; color:var(--h-ink);
}
body:not(.page-premium) .service-card:nth-child(4n+2),
body:not(.page-premium) .service-card:nth-child(4n+3) { background:#f6ecdd; }
body:not(.page-premium) .service-card:hover { background:#fffaf1; transform:translateY(-4px); box-shadow:var(--h-shadow-soft); }
body:not(.page-premium) .service-card h3 { color:var(--h-ink); }
body:not(.page-premium) .service-number,
body:not(.page-premium) .service-card-more { color:var(--h-cognac); }

.music-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:24px !important; }
.music-card { overflow:hidden; border:0 !important; border-radius:0 !important; background:#fffdf8 !important; box-shadow:var(--h-shadow-soft) !important; }
.music-card:nth-child(3n+2) { transform:translateY(34px); }
.music-card h2,.music-card h3 { color:var(--h-ink) !important; }
.music-card .btn { background:var(--h-espresso) !important; border-color:var(--h-espresso) !important; }

.retreat-detail-grid { gap:70px !important; }
.retreat-detail-card {
  grid-template-columns:1.12fr .88fr !important; min-height:580px; overflow:hidden; border:0 !important; border-radius:0 !important; background:#f5ead8 !important; box-shadow:var(--h-shadow-soft) !important;
}
.retreat-detail-card:nth-child(even) { grid-template-columns:.88fr 1.12fr !important; background:#eee0ca !important; }
.retreat-detail-card > img { min-height:580px !important; }
.retreat-detail-copy { padding:clamp(45px,6vw,86px) !important; }
.retreat-detail-copy h2 { color:var(--h-ink) !important; }

.contact-grid { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); gap:clamp(55px,8vw,115px); align-items:start; }
.form-field input,.form-field textarea,.form-field select,
.form-control,.form-select {
  border:0 !important; border-bottom:1px solid rgba(93,61,44,.35) !important; border-radius:0 !important; background:transparent !important; color:var(--h-ink) !important;
}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus,
.form-control:focus,.form-select:focus { border-color:var(--h-cognac) !important; box-shadow:none !important; }
.quote-card { border:0; border-left:2px solid var(--h-gold); border-radius:0; background:#f4e8d6; color:var(--h-brown); box-shadow:none; }

/* Footer: Espresso statt Grün */
.site-footer { padding:0; background:var(--h-espresso); color:rgba(255,248,237,.73); }
.site-footer .footer-panel { background:transparent; }
.footer-title,.footer-heading { color:#fff8ed; }
.footer-text,.footer-note { color:rgba(255,248,237,.68); }
.footer-links a,.footer-bottom a { color:rgba(255,248,237,.78); }
.footer-links a:hover,.footer-bottom a:hover { color:#edc77e; }
.footer-symbol { background:transparent !important; }
.social-link { border-color:rgba(255,248,237,.28) !important; background:transparent !important; color:#fff8ed !important; }
.social-link:hover { border-color:var(--h-gold) !important; background:var(--h-gold) !important; color:var(--h-ink) !important; }
.floating-whatsapp { background:var(--h-brown) !important; color:#fff8ed !important; box-shadow:0 12px 30px rgba(48,31,23,.24) !important; }
.floating-whatsapp:hover { background:var(--h-cognac) !important; }

@media (max-width:991.98px) {
  .site-header,.page-premium .site-header { height:auto; min-height:82px; }
  .site-header .container { width:min(100% - 32px,1440px); }
  .site-header .navbar { min-height:82px; }
  .site-header .navbar-collapse,
  .page-premium .site-header .navbar-collapse { margin:10px -16px 0; padding:15px 16px 22px; border-top:1px solid var(--h-line); background:#fffdf8; }
  .site-header .nav-link.active::before { display:none; }
  .premium-shell { width:min(100% - 48px,1280px); }
  .premium-hero { min-height:auto; }
  body:not(.page-premium) .page-hero { min-height:auto; padding:72px 0 !important; }
  body:not(.page-premium) .page-hero-shell,
  body:not(.page-premium) .page-hero-shell-single { grid-template-columns:1fr; gap:42px; }
  body:not(.page-premium) .page-hero::before { right:2%; top:25%; opacity:.1; }
  body:not(.page-premium) .brand-page-hero-shell::after { display:none; }
  body:not(.page-premium) .story-grid,
  body:not(.page-premium) .page-reading-layout,
  .contact-grid { grid-template-columns:1fr; gap:45px; }
  body:not(.page-premium) .section:nth-of-type(even) .story-grid > * { order:initial; }
  .music-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .music-card:nth-child(3n+2) { transform:none; }
}

@media (max-width:767.98px) {
  .premium-shell { width:min(100% - 32px,1280px); }
  .premium-butterfly-hero { width:92px; opacity:.35; }
  body:not(.page-premium) .page-hero-title,
  body:not(.page-premium) .page-hero h1 { font-size:clamp(3rem,15vw,4.5rem) !important; }
  body:not(.page-premium) .page-hero-photo img,
  body:not(.page-premium) .page-hero-mark img { min-height:280px; }
  body:not(.page-premium) .service-grid,
  .music-grid { grid-template-columns:1fr !important; }
  body:not(.page-premium) .service-card:nth-child(n) { background:var(--h-paper); }
  body:not(.page-premium) .service-card:nth-child(even) { background:#f6ecdd; }
  .retreat-detail-card,
  .retreat-detail-card:nth-child(even) { grid-template-columns:1fr !important; min-height:0; }
  .retreat-detail-card:nth-child(even) img { order:0 !important; }
  .retreat-detail-card > img { min-height:310px !important; }
  .retreat-detail-copy { padding:38px 28px !important; }
}

@media (prefers-reduced-motion:reduce) {
  .premium-butterfly,
  .premium-closing-image img,
  body:not(.page-premium) .page-hero::before { animation:none !important; }
}

/* 6.1 — Feinschliff und Rhythmus für sämtliche Unterseiten */
body:not(.page-premium) .page-hero .container,
body:not(.page-premium) .section .container {
  width:min(1280px,calc(100% - 96px));
  max-width:none;
}
body:not(.page-premium) .page-hero {
  min-height:540px;
  padding-block:clamp(76px,8vw,116px) !important;
}
body:not(.page-premium) .page-hero-shell {
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.58fr);
  gap:clamp(54px,8vw,118px);
}
body:not(.page-premium) .page-hero-shell:has(> :only-child),
body:not(.page-premium) .page-hero-shell-single:has(> :only-child) {
  grid-template-columns:minmax(0,980px);
  justify-content:start;
}
body:not(.page-premium) .page-hero-title,
body:not(.page-premium) .page-hero h1 {
  max-width:16ch;
  margin-block:18px 28px !important;
  font-size:clamp(3.25rem,5.25vw,5.7rem) !important;
  line-height:.94 !important;
  text-wrap:balance;
}
body:not(.page-premium) .page-hero-copy > p,
body:not(.page-premium) .page-hero > .container > p { max-width:720px; }
body:not(.page-premium) .page-hero-copy > p + p { margin-top:13px; }
body:not(.page-premium) .page-hero .hero-actions { margin-top:34px; gap:12px; }
body:not(.page-premium) .page-hero-photo img,
body:not(.page-premium) .page-hero-mark img {
  min-height:430px;
  max-height:620px;
}
body:not(.page-premium) .page-brand-logo {
  justify-self:center;
  width:min(290px,82%);
  height:auto;
  padding:0;
  background:transparent;
  filter:drop-shadow(0 22px 32px rgba(72,43,25,.15));
}
body:not(.page-premium) .brand-page-hero-shell::after { display:none; }

body:not(.page-premium) .section { padding-block:clamp(92px,9vw,138px); }
body:not(.page-premium) .section + .section { border-top:1px solid rgba(93,61,44,.075); }
body:not(.page-premium) .section-title { margin-bottom:clamp(46px,6vw,72px); }
body:not(.page-premium) .section-title h2 {
  max-width:17ch;
  margin-block:17px 24px;
  text-wrap:balance;
}
body:not(.page-premium) .section-title p { margin:0; }
body:not(.page-premium) .section-title p + p { margin-top:12px; }

body:not(.page-premium) .story-grid,
body:not(.page-premium) .media-grid,
body:not(.page-premium) .page-reading-layout { gap:clamp(54px,7vw,105px); }
body:not(.page-premium) .story-grid:has(> :only-child),
body:not(.page-premium) .media-grid:has(> :only-child),
body:not(.page-premium) .page-reading-layout:has(> :only-child) {
  grid-template-columns:minmax(0,920px);
  justify-content:center;
}
body:not(.page-premium) .story-card,
body:not(.page-premium) .text-card,
body:not(.page-premium) .soft-card,
body:not(.page-premium) .content-card,
body:not(.page-premium) .contact-panel,
body:not(.page-premium) .form-panel {
  align-self:start;
  padding-top:clamp(32px,4vw,50px);
}
body:not(.page-premium) .story-card h2,
body:not(.page-premium) .story-card h3,
body:not(.page-premium) .text-card h2,
body:not(.page-premium) .text-card h3,
body:not(.page-premium) .soft-card h2,
body:not(.page-premium) .soft-card h3,
body:not(.page-premium) .content-card h2,
body:not(.page-premium) .content-card h3,
body:not(.page-premium) .contact-panel h3,
body:not(.page-premium) .form-panel h3 {
  max-width:20ch;
  margin:0 0 22px;
  font:600 clamp(1.85rem,2.65vw,2.65rem)/1.08 'Cormorant Garamond',serif;
  letter-spacing:-.02em;
  text-wrap:balance;
}
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel) .eyebrow + h3 { margin-top:15px; }
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel) p {
  max-width:67ch;
  margin-bottom:0;
  font-size:.99rem;
  line-height:1.82;
}
body:not(.page-premium) :is(.story-card,.text-card,.soft-card,.content-card,.contact-panel,.form-panel) p + p { margin-top:17px; }
body:not(.page-premium) .story-list,
body:not(.page-premium) .clean-list {
  margin:26px 0 0;
  padding:0;
  list-style:none;
}
body:not(.page-premium) .story-list li,
body:not(.page-premium) .clean-list li {
  position:relative;
  padding:11px 0 11px 24px;
  border-bottom:1px solid rgba(93,61,44,.1);
  color:var(--h-muted);
  line-height:1.62;
}
body:not(.page-premium) .story-list li::before,
body:not(.page-premium) .clean-list li::before {
  content:"";
  position:absolute;
  top:1.22rem;
  left:2px;
  width:7px;
  height:7px;
  border:1px solid var(--h-cognac);
  transform:rotate(45deg);
}

body:not(.page-premium) .image-frame,
body:not(.page-premium) .page-inline-photo {
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#eee0ca;
  box-shadow:var(--h-shadow-soft);
}
body:not(.page-premium) .image-frame img { min-height:420px; object-fit:cover; }
body:not(.page-premium) .media-grid > .image-frame { position:sticky; top:126px; }
body:not(.page-premium) .form-note { margin-top:30px !important; }
body:not(.page-premium) .form-note.text-center { margin-top:42px !important; }

/* Kurze Übersichtsseiten mit Bootstrap-Spalten */
body:not(.page-premium) .section > .container > .row {
  --bs-gutter-x:0;
  --bs-gutter-y:0;
  border-top:1px solid var(--h-line);
  border-left:1px solid var(--h-line);
}
body:not(.page-premium) .section > .container > .row > [class*="col-"] {
  border-right:1px solid var(--h-line);
  border-bottom:1px solid var(--h-line);
}
body:not(.page-premium) .section > .container > .row .content-card {
  min-height:240px;
  height:100%;
  padding:40px 34px;
  border:0;
  background:rgba(255,253,248,.76);
}
body:not(.page-premium) .section > .container > .row > [class*="col-"]:nth-child(even) .content-card { background:#f5ead9; }

/* Leistungskacheln und weiterführende Angebote */
body:not(.page-premium) .service-card { min-height:360px; }
body:not(.page-premium) .service-card .service-number { margin-bottom:54px; }
body:not(.page-premium) .service-card h3 {
  max-width:18ch;
  margin-bottom:16px;
  font-size:clamp(1.75rem,2.3vw,2.45rem);
  line-height:1.06;
  text-wrap:balance;
}
body:not(.page-premium) .service-card p { line-height:1.72; }
body:not(.page-premium) .related-services .service-card { min-height:320px; }

/* Musik, Auszeitoasen und Sonderblöcke */
.music-grid { padding-bottom:34px; }
.music-card-copy { padding:28px 26px 31px !important; }
.music-card-copy h3 { margin-bottom:8px !important; font-size:1.8rem !important; line-height:1.05 !important; }
.music-card-copy p { min-height:3.1em; line-height:1.6 !important; }
.custom-song-card {
  grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(42px,8vw,110px);
  padding:clamp(48px,7vw,92px);
  border:0;
  border-radius:0;
  background:linear-gradient(130deg,var(--h-espresso),#65422f);
  box-shadow:var(--h-shadow);
}
.custom-song-card h2 { max-width:18ch; margin:16px 0 22px; font-size:clamp(2.7rem,4.6vw,5rem); line-height:.96; text-wrap:balance; }
.custom-song-card p { max-width:680px; line-height:1.78; }
.retreat-detail-copy h2 { max-width:12ch; margin:17px 0 22px; line-height:.96 !important; text-wrap:balance; }
.retreat-detail-copy p { margin-bottom:30px; }
.quote-card {
  max-width:1040px;
  margin-inline:auto;
  padding:clamp(28px,4vw,48px);
}
.quote-card blockquote { max-width:68ch; margin:0 0 22px; font:500 20px/1.7 'Nunito Sans',sans-serif; color:var(--h-ink); }
.quote-card p { max-width:68ch; font-size:18px; line-height:1.75; }

/* Kontakt und Rechtliches */
.contact-grid { gap:1px; background:var(--h-line); }
.contact-grid .contact-panel {
  min-height:100%;
  padding:48px;
  border:0;
  background:var(--h-paper);
}
.contact-grid .contact-panel:nth-child(even) { background:#f5ead9; }
.info-stack { gap:0 !important; }
.info-item { padding:17px 0; border-bottom:1px solid rgba(93,61,44,.1); color:var(--h-muted); line-height:1.7; }
.info-item strong { margin-bottom:4px !important; color:var(--h-brown) !important; }
.form-panel { max-width:980px; margin-inline:auto; }
.contact-form { margin-top:42px; }
.form-grid { gap:28px 32px; }
.form-field { margin-bottom:26px; }
.form-field label { margin-bottom:9px; color:var(--h-brown); font-size:.73rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.form-field input,.form-field select,.form-field textarea { min-height:52px; padding:12px 0 !important; }
.form-field textarea { min-height:150px; }
.check-option { margin:8px 0 32px; padding:22px 0; border-top:1px solid var(--h-line); border-bottom:1px solid var(--h-line); }

body:not(.page-premium) .page-reading-layout:has(> .legal-card) {
  grid-template-columns:minmax(0,920px);
  justify-content:center;
  gap:30px;
}
.legal-grid { gap:30px; }
.legal-card {
  padding:clamp(35px,5vw,58px) !important;
  border:1px solid var(--h-line) !important;
  border-radius:0 !important;
  background:rgba(255,253,248,.82) !important;
  box-shadow:none !important;
}
.legal-card h3 { margin-bottom:24px; color:var(--h-ink); font-size:clamp(1.7rem,2.4vw,2.35rem); line-height:1.08; }
.legal-card p { max-width:74ch; line-height:1.78; }
.legal-card p + p { margin-top:15px; }

/* Galerie und Video mit bewussten Zwischenräumen */
.karten-gallery { gap:14px !important; margin-top:46px !important; }
.karten-gallery .image-frame { box-shadow:none; }
.click-play-video { max-width:760px; margin-inline:auto; }

/* Der bisher zerlegte Grafik-Schmetterling wird überall als echtes Motiv gezeigt. */
.butterfly-art { width:var(--butterfly-width,220px); height:var(--butterfly-height,220px); }
.butterfly-art .butterfly-real {
  width:100%;
  height:100%;
  object-fit:contain;
  animation:heritageFloat 7s ease-in-out infinite;
  filter:drop-shadow(0 14px 22px rgba(78,43,24,.18));
}

@media (max-width:991.98px) {
  body:not(.page-premium) .page-hero .container,
  body:not(.page-premium) .section .container { width:min(100% - 48px,1280px); }
  body:not(.page-premium) .page-hero-shell { gap:46px; }
  body:not(.page-premium) .media-grid > .image-frame { position:relative; top:auto; }
  body:not(.page-premium) .section:nth-of-type(even) .story-grid > * { order:initial; }
  .custom-song-card { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
}

@media (max-width:767.98px) {
  body:not(.page-premium) .page-hero .container,
  body:not(.page-premium) .section .container { width:min(100% - 32px,1280px); }
  body:not(.page-premium) .page-hero { padding-block:62px !important; }
  body:not(.page-premium) .page-hero-title,
  body:not(.page-premium) .page-hero h1 { max-width:100%; font-size:clamp(2.75rem,13vw,4rem) !important; }
  body:not(.page-premium) .section { padding-block:76px; }
  body:not(.page-premium) .section-title h2 { max-width:100%; }
  body:not(.page-premium) .image-frame img { min-height:280px; }
  body:not(.page-premium) .section > .container > .row .content-card { min-height:0; padding:32px 26px; }
  body:not(.page-premium) .service-card { min-height:0; padding:34px 28px; }
  body:not(.page-premium) .service-card .service-number { margin-bottom:36px; }
  .music-grid { padding-bottom:0; }
  .custom-song-card { padding:42px 28px; }
  .contact-grid .contact-panel { padding:36px 28px; }
  .legal-card { padding:32px 24px !important; }
  .quote-card { padding:30px 24px; }
  .quote-card blockquote { font-size:18px; line-height:1.7; }
}

@media (prefers-reduced-motion:reduce) {
  .butterfly-art .butterfly-real { animation:none !important; }
}
