/* Final visual system — Neue Lebensrichtung */
:root{
  --brand-forest:#183b27;
  --brand-forest-2:#2c5638;
  --brand-sage:#aeb99f;
  --brand-gold:#bd8732;
  --brand-gold-soft:#e7c982;
  --brand-ivory:#faf7ef;
  --brand-paper:#fffdf8;
  --brand-mist:#eef0e7;
  --brand-ink:#173022;
  --brand-muted:#667066;
  --brand-line:rgba(24,59,39,.12);
  --brand-shadow:0 24px 70px rgba(27,49,29,.12);
  --brand-shadow-soft:0 12px 35px rgba(27,49,29,.08);
}

html{ scroll-padding-top:104px; }
body{
  color:var(--brand-ink);
  background:var(--brand-ivory);
  font-family:"Nunito Sans",sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
body::before,
body::after,
.site-shell::after{ display:none!important; }
.site-shell{ overflow:clip; background:transparent; }
.container{ width:calc(100% - 48px); max-width:1280px!important; padding-inline:0; }

h1,h2,h3,.brand-title,.footer-title,.page-hero-title{
  font-family:"Cormorant Garamond",serif;
  color:var(--brand-forest);
  text-wrap:balance;
}
p{ text-wrap:pretty; }

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:1020;
  min-height:94px;
  background:rgba(250,247,239,.92)!important;
  border:0!important;
  border-bottom:1px solid var(--brand-line)!important;
  box-shadow:0 8px 28px rgba(24,59,39,.045)!important;
  backdrop-filter:blur(18px);
}
.navbar{ min-height:94px; padding:10px 0; }
.brand-lockup{ gap:14px!important; margin-right:32px; }
.brand-symbol{
  width:86px!important;
  height:56px!important;
  border:0!important;
  border-radius:12px!important;
  box-shadow:none!important;
  object-fit:cover;
}
.brand-title{
  color:var(--brand-forest)!important;
  font-size:1.9rem!important;
  font-weight:600;
  line-height:.95;
  letter-spacing:.01em!important;
}
.brand-subtitle{
  margin-top:7px;
  color:var(--brand-gold)!important;
  font-size:.7rem!important;
  font-weight:800!important;
  letter-spacing:.17em!important;
  text-transform:uppercase;
}
.navbar-nav{ gap:2px; }
.navbar-nav .nav-link{
  position:relative;
  padding:11px 14px!important;
  border-radius:999px;
  color:var(--brand-ink)!important;
  font-size:.91rem!important;
  font-weight:700;
  transition:background .2s ease,color .2s ease;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active{
  color:var(--brand-forest)!important;
  background:rgba(24,59,39,.075)!important;
}
.dropdown-menu{
  min-width:250px;
  margin-top:10px!important;
  padding:10px;
  border:1px solid var(--brand-line);
  border-radius:18px;
  background:rgba(255,253,248,.98);
  box-shadow:var(--brand-shadow-soft);
}
.dropdown-item{
  padding:10px 12px;
  border-radius:10px;
  color:var(--brand-ink);
  font-size:.92rem;
  font-weight:650;
}
.dropdown-item:hover,.dropdown-item.active{ color:var(--brand-forest); background:rgba(24,59,39,.075); }
.dropdown-divider{ border-color:var(--brand-line); }
.btn-nav{ margin-left:12px; }
.navbar-toggler{ border:1px solid var(--brand-line); border-radius:12px; box-shadow:none!important; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 24px;
  border-radius:999px!important;
  font-size:.94rem;
  font-weight:800;
  letter-spacing:.005em;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn-accent{
  color:#fff!important;
  border:1px solid var(--brand-forest)!important;
  background:var(--brand-forest)!important;
  box-shadow:0 14px 30px rgba(24,59,39,.16)!important;
}
.btn-accent:hover{ background:#102c1c!important; box-shadow:0 18px 38px rgba(24,59,39,.2)!important; }
.btn-soft{
  color:var(--brand-forest)!important;
  border:1px solid rgba(189,135,50,.3)!important;
  background:#f5e6bd!important;
  box-shadow:none!important;
}
.btn-soft:hover{ background:#efd79c!important; }
.btn-outline-warm{
  color:var(--brand-forest)!important;
  border:1px solid rgba(24,59,39,.23)!important;
  background:rgba(255,253,248,.58)!important;
}
.btn-outline-warm:hover{ border-color:var(--brand-gold)!important; background:var(--brand-paper)!important; }
.quiet-text-link{ color:var(--brand-forest); border-color:rgba(24,59,39,.28); }
.quiet-text-link:hover{ color:var(--brand-gold); }

/* Shared sections */
.section{
  position:relative;
  z-index:2;
  padding:clamp(76px,8vw,124px) 0!important;
}
.section::before,.section::after{ display:none!important; }
.section-title{ max-width:790px; margin-bottom:44px; }
.section-title h2{
  max-width:16ch!important;
  margin:14px 0 18px!important;
  color:var(--brand-forest)!important;
  font-size:clamp(2.8rem,4.5vw,4.8rem)!important;
  font-weight:500!important;
  line-height:.98!important;
}
.section-title p,
.feature-split-copy p,
.quiet-manifesto-copy p{
  max-width:680px;
  color:var(--brand-muted)!important;
  font-size:1.08rem!important;
  line-height:1.8!important;
}
.eyebrow,.eyebrow-light{
  display:inline-flex;
  padding:8px 13px!important;
  border:1px solid rgba(189,135,50,.18);
  border-radius:999px;
  color:var(--brand-forest)!important;
  background:rgba(231,201,130,.24)!important;
  font-size:.72rem!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
}
.hero-actions{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.section-action{ margin-top:38px; }

/* Homepage backdrop and hero */
.page-home .site-shell::before{
  content:""!important;
  display:block!important;
  position:fixed!important;
  z-index:0!important;
  top:94px!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:min(62vw,1120px)!important;
  height:calc(100vh - 94px)!important;
  border-radius:0!important;
  background:url('/img/brand-woman-nature.png') right center/auto 100% no-repeat!important;
  opacity:.32!important;
  filter:saturate(.82) contrast(.98)!important;
  -webkit-mask-image:linear-gradient(to right,transparent 0,transparent 42%,rgba(0,0,0,.34) 62%,#000 90%)!important;
  mask-image:linear-gradient(to right,transparent 0,transparent 42%,rgba(0,0,0,.34) 62%,#000 90%)!important;
  pointer-events:none;
}
.page-home .site-shell>header,
.page-home .site-shell>section,
.page-home .site-shell>footer,
.page-home .site-shell>.floating-whatsapp{ position:relative; z-index:2; }
.brand-home-hero{
  position:relative;
  z-index:2;
  padding:0!important;
  background:linear-gradient(90deg,var(--brand-ivory) 0%,rgba(250,247,239,.96) 48%,rgba(250,247,239,.08) 76%,transparent 100%)!important;
}
.nature-home-hero{
  display:block!important;
  min-height:720px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.nature-home-copy{
  display:flex!important;
  width:min(56%,690px)!important;
  min-height:720px!important;
  padding:clamp(82px,10vw,138px) 0!important;
  justify-content:center;
}
.nature-home-copy h1{
  max-width:10ch!important;
  margin:18px 0 24px!important;
  color:var(--brand-forest)!important;
  font-size:clamp(4rem,6.2vw,6.4rem)!important;
  font-weight:500!important;
  line-height:.9!important;
  letter-spacing:-.03em!important;
}
.nature-home-copy p{
  max-width:600px!important;
  margin:0 0 32px!important;
  color:#59675d!important;
  font-size:1.12rem!important;
  line-height:1.85!important;
}

/* Three brand paths */
.brand-intro-section{
  border-block:1px solid var(--brand-line)!important;
  background:rgba(255,253,248,.78)!important;
  backdrop-filter:blur(10px);
}
.brand-intro-copy{ margin-inline:auto; text-align:center; }
.brand-intro-copy h2{ max-width:18ch!important; margin-inline:auto!important; }
.brand-pillar-grid{ grid-template-columns:repeat(3,1fr); gap:22px!important; margin-top:42px!important; }
.brand-pillar{
  min-height:240px;
  padding:34px 28px!important;
  justify-content:center;
  border:1px solid var(--brand-line)!important;
  border-radius:24px!important;
  background:rgba(255,253,248,.86)!important;
  box-shadow:none!important;
}
.brand-pillar:hover{ transform:translateY(-4px)!important; border-color:rgba(189,135,50,.34)!important; box-shadow:var(--brand-shadow-soft)!important; }
.brand-pillar span{
  width:56px!important;
  height:56px!important;
  margin-bottom:10px;
  border:1px solid rgba(189,135,50,.26)!important;
  background:#f7edcf!important;
  color:var(--brand-gold)!important;
}
.brand-pillar strong{ color:var(--brand-forest); font-size:1.8rem!important; font-weight:600; }
.brand-pillar small{ max-width:250px; color:var(--brand-muted)!important; font-size:.95rem!important; line-height:1.6; }

/* Manifesto */
.quiet-manifesto-section{ background:var(--brand-mist)!important; }
.quiet-manifesto{ gap:clamp(54px,9vw,120px)!important; }
.quiet-manifesto-copy{ top:132px!important; }
.quiet-manifesto-copy h2{
  max-width:12ch!important;
  color:var(--brand-forest)!important;
  font-size:clamp(3.2rem,5vw,5.2rem)!important;
  font-weight:500;
  line-height:.96!important;
}
.quiet-values>div{ padding:28px 0 32px!important; border-color:rgba(24,59,39,.16)!important; }
.quiet-values span{ color:var(--brand-gold)!important; }
.quiet-values strong{ color:var(--brand-forest)!important; font-size:2rem!important; font-weight:600; }
.quiet-values p{ color:var(--brand-muted)!important; line-height:1.7; }

/* Music feature */
.music-feature-section{ background:var(--brand-paper)!important; }
.feature-split{ grid-template-columns:.9fr 1.1fr!important; gap:clamp(52px,8vw,112px)!important; }
.feature-split-copy h2{
  max-width:12ch;
  margin:15px 0 20px;
  color:var(--brand-forest);
  font-size:clamp(3rem,4.7vw,4.8rem);
  font-weight:500;
  line-height:.98;
}
.featured-song-card{
  min-height:480px!important;
  border-radius:26px!important;
  box-shadow:var(--brand-shadow)!important;
}
.featured-song-card::after{ inset:28% 0 0!important; }
.featured-song-card>div{ left:28px!important; right:28px!important; bottom:26px!important; }
.featured-song-card strong{ color:#fff; font-size:2.35rem!important; }
.play-badge{ width:58px!important; height:58px!important; background:rgba(255,253,248,.94)!important; color:var(--brand-forest)!important; }

/* Retreat cards */
.retreat-feature-section{ background:#f3efe5!important; }
.retreat-grid{ gap:24px!important; }
.retreat-card{
  min-height:520px!important;
  border-radius:26px!important;
  box-shadow:var(--brand-shadow-soft)!important;
}
.retreat-card::after{ inset:18% 0 0!important; background:linear-gradient(transparent,rgba(12,33,20,.9))!important; }
.retreat-card-overlay{ left:28px!important; right:28px!important; bottom:26px!important; }
.retreat-card-overlay h3{ color:#fff!important; font-size:2.25rem!important; }

/* Applications */
#leistungen{ background:rgba(255,253,248,.78)!important; }
.featured-service-grid{ grid-template-columns:repeat(3,1fr)!important; gap:22px!important; }
.featured-service-grid .service-card:nth-child(n+7){ display:none!important; }
.service-card{
  display:flex!important;
  min-height:455px;
  padding:26px!important;
  overflow:hidden;
  border:1px solid var(--brand-line)!important;
  border-radius:22px!important;
  background:var(--brand-paper)!important;
  box-shadow:none!important;
}
.service-card:hover{ transform:translateY(-4px); border-color:rgba(189,135,50,.34)!important; box-shadow:var(--brand-shadow-soft)!important; }
.service-card h3{ color:var(--brand-forest)!important; font-size:1.8rem!important; font-weight:600; }
.service-card p{ color:var(--brand-muted)!important; font-size:.96rem!important; line-height:1.65!important; }
.service-card-more{ margin-top:auto; color:var(--brand-gold)!important; font-weight:800; }
.service-card>img{
  order:-1;
  width:calc(100% + 52px)!important;
  height:210px!important;
  margin:-26px -26px 24px!important;
  border-radius:0!important;
  object-fit:cover;
}
.service-number{ display:none; }

/* Static reviews */
.review-marquee{ overflow:visible!important; }
.review-marquee-track{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  width:auto!important;
  gap:20px!important;
  animation:none!important;
  transform:none!important;
}
.review-marquee-track:nth-child(2),
.review-marquee-track .review-card:nth-child(n+4){ display:none!important; }
.review-card{
  width:auto!important;
  min-width:0!important;
  padding:28px!important;
  border:1px solid var(--brand-line)!important;
  border-radius:20px!important;
  background:rgba(255,253,248,.86)!important;
  box-shadow:none!important;
}
.review-strip{ display:none!important; }

/* Final CTA */
.final-cta-section{ background:var(--brand-paper)!important; }
.final-cta-card{
  max-width:1040px;
  margin-inline:auto;
  padding:clamp(44px,7vw,84px);
  border:1px solid rgba(189,135,50,.2);
  border-radius:28px;
  background:linear-gradient(135deg,#f4ead0 0%,#fffdf8 72%);
  text-align:center;
  box-shadow:var(--brand-shadow-soft);
}
.final-cta-card h2{ margin:16px auto 18px; color:var(--brand-forest); font-size:clamp(3rem,5vw,5rem); font-weight:500; line-height:.95; }
.final-cta-card p{ max-width:650px; margin:0 auto 30px; color:var(--brand-muted); font-size:1.06rem; }
.final-cta-card .hero-actions{ justify-content:center; }

/* Interior page heroes */
.page-hero{ padding:72px 0 44px!important; background:transparent!important; }
.page-hero-shell{
  min-height:450px;
  padding:clamp(34px,6vw,72px)!important;
  border:1px solid var(--brand-line)!important;
  border-radius:28px!important;
  background:linear-gradient(135deg,#f1ead9 0%,#fffdf8 70%)!important;
  box-shadow:none!important;
}
.page-hero-copy{ max-width:720px; }
.page-hero-title{ margin:16px 0 20px!important; color:var(--brand-forest)!important; font-size:clamp(3.2rem,5.5vw,5.8rem)!important; font-weight:500!important; line-height:.94!important; }
.page-hero-copy p{ max-width:650px; color:var(--brand-muted)!important; font-size:1.08rem!important; line-height:1.8!important; }
.page-hero-copy-butterfly,.page-hero-mark-butterfly{ display:none!important; }
.page-brand-logo{ width:min(30vw,330px)!important; border:0!important; border-radius:50%!important; box-shadow:var(--brand-shadow-soft)!important; }

/* Music overview */
.music-grid{ grid-template-columns:repeat(3,1fr)!important; gap:22px!important; }
.music-card{
  border:1px solid var(--brand-line)!important;
  border-radius:20px!important;
  background:var(--brand-paper)!important;
  box-shadow:none!important;
}
.music-card:hover{ transform:translateY(-4px)!important; border-color:rgba(189,135,50,.32)!important; box-shadow:var(--brand-shadow-soft)!important; }
.music-card-image{ aspect-ratio:16/9!important; }
.music-card-copy{ padding:22px!important; }
.music-card-copy h3{ color:var(--brand-forest)!important; font-size:1.55rem!important; }
.custom-song-card{
  padding:clamp(38px,6vw,72px)!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,var(--brand-forest),#2f5a3a)!important;
  box-shadow:var(--brand-shadow)!important;
}

/* Retreat overview */
.retreat-detail-grid{ gap:30px!important; }
.retreat-detail-card{
  border:1px solid var(--brand-line)!important;
  border-radius:26px!important;
  background:var(--brand-paper)!important;
  box-shadow:var(--brand-shadow-soft)!important;
}
.retreat-detail-copy h2{ color:var(--brand-forest)!important; font-size:clamp(2.6rem,4vw,4.2rem)!important; }
.retreat-detail-copy p{ color:var(--brand-muted)!important; font-size:1.03rem!important; line-height:1.75!important; }

/* Shared content cards and forms */
.story-card,.soft-card,.text-card,.media-card,.contact-panel,.legal-card,.form-panel{
  border:1px solid var(--brand-line)!important;
  border-radius:22px!important;
  background:rgba(255,253,248,.9)!important;
  box-shadow:none!important;
}
.story-card h3,.soft-card h3,.text-card h3,.contact-panel h3,.legal-card h3{ color:var(--brand-forest)!important; }
.story-card p,.soft-card p,.text-card p,.contact-panel p,.legal-card p,.story-list li{ color:var(--brand-muted)!important; }
.contact-form input,.contact-form select,.contact-form textarea{
  border:1px solid rgba(24,59,39,.16)!important;
  border-radius:12px!important;
  background:#fffefb!important;
  box-shadow:none!important;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{ border-color:var(--brand-gold)!important; outline:3px solid rgba(189,135,50,.1)!important; }

/* Footer */
.site-footer{
  position:relative;
  z-index:2;
  padding:82px 0 30px!important;
  background:var(--brand-forest)!important;
  color:rgba(255,255,255,.82);
}
.footer-panel{ padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.footer-symbol{ width:96px!important; height:64px!important; border:0!important; box-shadow:none!important; }
.footer-title{ color:#fff!important; font-size:2rem!important; }
.footer-text,.footer-note{ color:rgba(255,255,255,.66)!important; }
.footer-heading{ color:var(--brand-gold-soft)!important; }
.footer-links a{ color:rgba(255,255,255,.78)!important; }
.footer-links a:hover{ color:#fff!important; }
.footer-note{ margin-top:34px!important; padding-top:28px!important; border-top:1px solid rgba(255,255,255,.12)!important; }
.footer-bottom{ margin-top:26px!important; color:rgba(255,255,255,.52)!important; }
.social-link{ border-color:rgba(255,255,255,.18)!important; background:rgba(255,255,255,.08)!important; color:#fff!important; }
.floating-whatsapp{ box-shadow:0 18px 38px rgba(18,80,51,.24)!important; }

@media (max-width:1199px){
  .brand-copy{ display:flex!important; }
  .brand-title{ font-size:1.55rem!important; }
  .brand-subtitle{ display:none; }
  .brand-symbol{ width:72px!important; height:48px!important; }
  .navbar-nav .nav-link{ padding-inline:10px!important; font-size:.86rem!important; }
  .btn-nav{ padding-inline:18px; }
}

@media (max-width:991px){
  .site-header,.navbar{ min-height:82px; }
  .navbar-collapse{
    margin-top:12px;
    padding:14px;
    border:1px solid var(--brand-line);
    border-radius:18px;
    background:var(--brand-paper);
    box-shadow:var(--brand-shadow-soft);
  }
  .navbar-nav{ align-items:stretch!important; }
  .navbar-nav .nav-link{ padding:12px!important; }
  .dropdown-menu{ margin:0!important; border:0; box-shadow:none; background:#f7f3e9; }
  .page-home .site-shell::before{ width:78vw!important; opacity:.2!important; }
  .nature-home-copy{ width:66%!important; }
  .brand-pillar-grid,.featured-service-grid,.music-grid{ grid-template-columns:repeat(2,1fr)!important; }
  .quiet-manifesto,.feature-split{ grid-template-columns:1fr!important; }
  .quiet-manifesto-copy{ position:static!important; }
  .featured-song-card{ min-height:420px!important; }
  .review-marquee-track{ grid-template-columns:1fr!important; }
  .review-marquee-track .review-card:nth-child(n+2){ display:none!important; }
}

@media (max-width:680px){
  .container{ width:calc(100% - 32px); }
  .site-header,.navbar{ min-height:76px; }
  .brand-symbol{ width:62px!important; height:42px!important; }
  .brand-title{ font-size:1.35rem!important; }
  .page-home .site-shell::before{
    top:76px!important;
    width:100%!important;
    height:70vh!important;
    opacity:.11!important;
    background-size:auto 85%!important;
    background-position:right top!important;
    -webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,#000 0,transparent 100%)!important;
  }
  .brand-home-hero{ background:linear-gradient(180deg,rgba(250,247,239,.72),var(--brand-ivory))!important; }
  .nature-home-hero,.nature-home-copy{ min-height:auto!important; }
  .nature-home-copy{ width:100%!important; padding:78px 0 90px!important; }
  .nature-home-copy h1{ font-size:clamp(3.3rem,16vw,4.8rem)!important; }
  .nature-home-copy .hero-actions{ display:grid; width:100%; }
  .nature-home-copy .btn{ width:100%; }
  .quiet-text-link{ justify-self:start; }
  .section{ padding:72px 0!important; }
  .section-title h2{ font-size:clamp(2.7rem,12vw,4rem)!important; }
  .brand-pillar-grid,.featured-service-grid,.music-grid,.retreat-grid{ grid-template-columns:1fr!important; }
  .brand-pillar{ min-height:210px; }
  .retreat-card{ min-height:430px!important; }
  .service-card{ min-height:430px; }
  .page-hero{ padding-top:42px!important; }
  .page-hero-shell{ min-height:auto; padding:32px 22px!important; }
  .page-hero-title{ font-size:clamp(3rem,14vw,4.6rem)!important; }
  .page-brand-logo{ width:min(76vw,300px)!important; }
  .custom-song-card{ grid-template-columns:1fr!important; }
  .retreat-detail-card,.retreat-detail-card:nth-child(even){ grid-template-columns:1fr!important; }
  .retreat-detail-card:nth-child(even) img{ order:0!important; }
  .retreat-detail-card>img{ min-height:320px!important; }
  .final-cta-card{ padding:42px 22px; }
}
