@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Work+Sans:wght@300;400;500;600&display=swap');

:root{
  --stone-dark: #3a342b;
  --canvas: #f3ede1;
  --canvas-2: #ebe2d0;
  --sage: #6e7b5c;
  --sage-deep: #545e44;
  --ochre: #b3814a;
  --ochre-deep: #96692f;
  --slate: #45505a;
  --ink: #2c2721;
  --cream: #f7f2e7;
  --line: rgba(44,39,33,0.14);
  --strata: #7c5a96, #8a9169, #4f5b52, #d7b26a, #6d5843;

  /* Yoga · Kunst · Werk — brand triad */
  --yoga-green: #4f7a3d;
  --yoga-green-deep: #3d5f2f;
  --kunst-ochre: #c99a3d;
  --werk-violet: #7c5a96;
  --werk-violet-deep: #614876;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  color:var(--stone-dark);
  margin:0 0 0.5em;
  line-height:1.12;
}
h1{font-weight:400; letter-spacing:-0.01em;}
p{margin:0 0 1.1em;}
a{color:var(--ochre-deep);}
img{max-width:100%; display:block;}

.eyebrow{
  font-family:'Work Sans', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:0.72rem;
  font-weight:600;
  color:var(--sage-deep);
  margin-bottom:0.9em;
  display:inline-block;
}

.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
.wrap-narrow{max-width:740px; margin:0 auto; padding:0 28px;}

/* ---------- strata divider: signature element ---------- */
.strata{
  display:flex;
  height:10px;
  width:100%;
}
.strata span{flex:1;}
.strata span:nth-child(1){background:#7c5a96;}
.strata span:nth-child(2){background:#8a9169;}
.strata span:nth-child(3){background:#4f5b52;}
.strata span:nth-child(4){background:#d7b26a;}
.strata span:nth-child(5){background:#6d5843;}

/* ---------- nav ---------- */
header.site-nav{
  position:sticky; top:0; z-index:10000;
  background:rgba(243,237,225,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
  isolation:isolate;
}
.nav-inner{
  max-width:1080px; margin:0 auto; padding:18px 28px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{
  font-family:'Fraunces', serif;
  font-size:1.28rem;
  text-decoration:none;
  letter-spacing:0.01em;
}
.brand .b-yoga{color:var(--yoga-green-deep);}
.brand .b-kunst{color:var(--kunst-ochre); font-style:italic; font-weight:400;}
.brand .b-werk{color:var(--werk-violet-deep);}
nav.links{display:flex; gap:28px; align-items:center;}
nav.links a{
  color:var(--ink); text-decoration:none;
  font-size:0.92rem; font-weight:500;
  padding-top:3px;
  padding-bottom:3px;
  border-bottom:1px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
nav.links a:hover, nav.links a.active{border-color:var(--ochre); color:var(--ochre-deep);}
.nav-cta{
  background:var(--stone-dark); color:var(--cream) !important;
  padding:9px 18px; border-radius:2px;
  border-bottom:none !important;
}
.nav-cta:hover{background:var(--ochre-deep) !important;}
.menu-toggle{display:none; background:none; border:none; font-size:1.6rem; color:var(--stone-dark); cursor:pointer;}

@media (max-width:760px){
  nav.links{display:none;}
  .menu-toggle{display:block;}
}

/* Eigenständiges Mobil-Menü — bewusst AUSSERHALB des Headers im DOM,
   damit es unabhängig von dessen "sticky"-Stapelkontext zuverlässig
   als deckendes Overlay über der gesamten Seite liegt. */
.mobile-menu{
  display:none;
}
@media (max-width:760px){
  .mobile-menu{
    display:block;
    position:fixed;
    top:0; left:0; right:0; bottom:0;
    width:100vw; height:100vh;
    background-color:#f3ede1;
    z-index:9999;
    transform:translateX(100%);
    transition:transform .25s ease;
    overflow-y:auto;
  }
  .mobile-menu.open{transform:translateX(0);}
  .mobile-menu nav{
    display:flex; flex-direction:column;
    align-items:flex-start;
    padding:100px 28px 32px;
    gap:26px;
  }
  .mobile-menu nav a{
    color:var(--ink);
    text-decoration:none;
    font-size:1.1rem;
    font-weight:500;
  }
  .mobile-menu nav a.active{color:var(--ochre-deep);}
  .mobile-menu nav a.nav-cta{
    background:var(--stone-dark);
    color:var(--cream);
    padding:12px 22px;
    border-radius:2px;
  }
  body.menu-open{overflow:hidden;}
}

/* ---------- hero ---------- */
.hero{
  position:relative;
  min-height:78vh;
  display:flex; align-items:flex-end;
  background:#241f19;
  overflow:hidden;
}
.hero img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 30%;
  opacity:0.88;
}
.hero::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(36,31,25,0.15) 0%, rgba(36,31,25,0.55) 65%, rgba(28,24,19,0.86) 100%);
}
.hero-content{
  position:relative; z-index:2;
  color:var(--cream);
  padding:56px 28px 64px;
  max-width:1080px; margin:0 auto; width:100%;
}
.hero-content .eyebrow{color:#e9d4a8;}
.hero-content h1{
  color:var(--cream);
  font-size:clamp(2.2rem, 5vw, 3.6rem);
  max-width:14ch;
}
.hero-content p{
  color:#e9e2d2; max-width:46ch;
  font-size:1.08rem;
}
.btn{
  display:inline-block;
  background:var(--ochre);
  color:#241f19;
  text-decoration:none;
  font-weight:600;
  padding:13px 26px;
  border-radius:2px;
  font-size:0.95rem;
  transition:background .2s ease, transform .2s ease;
  border:1px solid transparent;
}
.btn:hover{background:#c79256; transform:translateY(-1px);}
.btn-ghost{
  background:transparent; color:var(--cream);
  border:1px solid rgba(247,242,231,0.55);
}
.btn-ghost:hover{background:rgba(247,242,231,0.1); border-color:var(--cream);}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px;}

.btn-yoga-green{background:var(--yoga-green); color:var(--cream); border-color:transparent;}
.btn-yoga-green:hover{background:var(--yoga-green-deep);}
.btn-resilienz-violet{background:var(--werk-violet); color:var(--cream); border-color:transparent;}
.btn-resilienz-violet:hover{background:var(--werk-violet-deep);}
.btn-kunst-gold{background:var(--kunst-ochre); color:#241f19; border-color:transparent;}
.btn-kunst-gold:hover{background:var(--ochre-deep); color:var(--cream);}

/* ---------- sections ---------- */
section{padding:84px 0;}
.section-tight{padding:64px 0;}
.two-col{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
}
.two-col.reverse .col-img{order:2;}
.col-img img{border-radius:2px;}
.angebot-photos{display:grid; grid-template-columns:1.4fr 1fr; gap:16px;}
.angebot-photos img{border-radius:2px; width:100%; height:100%; object-fit:cover;}
.angebot-photos .cap{
  margin-top:8px; font-size:0.78rem; letter-spacing:0.03em; text-transform:uppercase;
  color:var(--sage-deep); font-weight:600; text-align:center;
}
.angebot-photos .photo-credit{margin-top:2px;}
@media (max-width:800px){
  .angebot-photos{grid-template-columns:1fr 1fr;}
}
@media (max-width:800px){
  .two-col{grid-template-columns:1fr; gap:32px;}
  .two-col.reverse .col-img{order:0;}
}

section#wer-bin-ich{padding:84px 0;}
#wer-bin-ich .wrap{max-width:1080px; margin:0 auto; padding:0 28px;}
.wbi-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.wbi-text{grid-column:1 / -1;}
.wbi-photos{grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:8px;}
.wbi-photo{position:relative;}
.wbi-photo img{border-radius:2px; width:100%; height:340px; object-fit:cover;}
.wbi-photo .cap{
  margin-top:10px; font-size:0.82rem; letter-spacing:0.03em; text-transform:uppercase;
  color:var(--sage-deep); font-weight:600; text-align:center;
}
.photo-credit{
  display:block; margin-top:2px; font-size:0.7rem; letter-spacing:0; text-transform:none;
  font-weight:400; color:#9a9080; text-align:center;
}
@media (max-width:700px){
  .wbi-photos{grid-template-columns:1fr;}
  .wbi-photo img{height:280px;}
}
.quali-box{
  background:var(--canvas-2);
  border-left:3px solid var(--yoga-green);
  padding:30px 34px;
  margin-top:28px;
}
.quali-box .quali-headline{
  font-weight:600; color:var(--yoga-green-deep); font-size:1.05rem; margin-bottom:6px;
}
.quali-box .quali-meta{font-size:0.92rem; color:var(--ink); opacity:0.85; margin-bottom:18px;}
.quali-box ul{margin:0; padding-left:1.2em;}
.quali-box li{margin-bottom:12px; font-size:0.96rem;}
.quali-box li:last-child{margin-bottom:0;}

.werdegang-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:48px;
  margin-top:44px;
}
@media (max-width:760px){.werdegang-grid{grid-template-columns:1fr;}}
.werdegang-col h3{
  font-size:1.05rem; margin-bottom:20px; padding-bottom:10px;
  border-bottom:2px solid var(--line);
}
.werdegang-col.wg-yoga h3{color:var(--yoga-green-deep); border-bottom-color:var(--yoga-green);}
.werdegang-col.wg-klang h3{color:var(--ochre-deep); border-bottom-color:var(--ochre);}
.tl-item{display:grid; grid-template-columns:1fr 1.6fr; gap:14px; margin-bottom:16px; align-items:baseline;}
.tl-item .tl-date{font-size:0.82rem; font-weight:600; color:var(--sage-deep); white-space:nowrap;}
.tl-item .tl-text{font-size:0.93rem; line-height:1.5;}
.tl-item .tl-text .place{color:var(--ink); opacity:0.7;}
.tl-group{
  font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--sage-deep); margin:22px 0 12px;
}
.tl-group:first-of-type{margin-top:4px;}

.philosophy{
  background:var(--stone-dark);
  color:var(--cream);
}
.philosophy h2{color:var(--cream);}
.philosophy .eyebrow{color:#c9a06a;}
.philosophy p{color:#e2dbc9; font-size:1.08rem;}
.philosophy .lede{
  font-family:'Fraunces', serif;
  font-style:italic;
  font-size:1.3rem;
  color:var(--cream);
  font-weight:400;
  line-height:1.5;
}

.badge-soon{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--ochre);
  border:none;
  padding:12px 22px;
  border-radius:20px;
  font-size:0.92rem;
  font-weight:700;
  color:#241f19;
  margin-top:12px;
  box-shadow:0 4px 14px rgba(179,129,74,0.35);
}
.badge-soon::before{content:'✨'; font-size:0.9rem;}

.cards{
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
@media (max-width:700px){.cards{grid-template-columns:1fr;}}
.card{
  background:var(--cream);
  border:1px solid var(--line);
  padding:32px;
  border-radius:2px;
  border-top:4px solid var(--line);
}
.card.loc-freising{border-top-color:var(--werk-violet);}
.card.loc-freising .place-meta{color:var(--werk-violet-deep);}
.card.loc-freising h3::after{content:'· Freising'; font-family:'Work Sans',sans-serif; font-size:0.62rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--werk-violet); vertical-align:middle; margin-left:10px; background:#efe8f2; padding:3px 8px; border-radius:10px;}
.card.loc-zolling{border-top-color:var(--ochre);}
.card.loc-zolling .place-meta{color:var(--ochre-deep);}
.card.loc-zolling h3::after{content:'· Zolling'; font-family:'Work Sans',sans-serif; font-size:0.62rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--ochre-deep); vertical-align:middle; margin-left:10px; background:var(--canvas-2); padding:3px 8px; border-radius:10px;}
.card h3{font-size:1.25rem; margin-bottom:0.3em;}
.card .place-meta{color:var(--sage-deep); font-size:0.88rem; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; margin-bottom:1em;}
.card ul{margin:0; padding-left:1.1em;}
.card li{margin-bottom:0.5em;}

footer{
  background:var(--stone-dark);
  color:#cfc7b4;
  padding:52px 0 32px;
}
footer .foot-inner{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:28px;
  margin-bottom:28px;
}
footer h3{color:var(--cream); font-size:1.1rem;}
footer a{color:#e2d4b3; text-decoration:none;}
footer a:hover{text-decoration:underline;}
footer .foot-links{display:flex; gap:22px; flex-wrap:wrap; font-size:0.9rem;}
footer .foot-bottom{
  border-top:1px solid rgba(247,242,231,0.14);
  padding-top:20px;
  font-size:0.82rem;
  color:#a89d84;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}

/* ---------- page header (kurse / impressum) ---------- */
.page-header{
  position:relative;
  padding:100px 0 56px;
  background:var(--stone-dark);
  overflow:hidden;
}
.page-header img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0.28;
}
.page-header::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(58,52,43,0.75), rgba(58,52,43,0.94));
}
.page-header .wrap{position:relative; z-index:2;}
.page-header .eyebrow{color:#c9a06a;}
.page-header h1{color:var(--cream); font-size:clamp(2rem, 4vw, 2.9rem);}
.page-header p{color:#e2dbc9; max-width:56ch;}

/* Violette Variante des Seitenkopfs -- für Resilienz & Natur */
.page-header.page-header-violet::after{
  background:linear-gradient(180deg, rgba(97,72,118,0.72), rgba(58,52,43,0.94));
}
.page-header.page-header-violet .eyebrow{color:#d9c4e8;}

/* Grüne Variante des Seitenkopfs -- für Yoga & Klang */
.page-header.page-header-green::after{
  background:linear-gradient(180deg, rgba(79,122,61,0.72), rgba(58,52,43,0.94));
}
.page-header.page-header-green .eyebrow{color:#cfe3bd;}

/* Goldene Variante des Seitenkopfs -- für Kunst & Bilder */
.page-header.page-header-gold::after{
  background:linear-gradient(180deg, rgba(150,105,47,0.72), rgba(58,52,43,0.94));
}
.page-header.page-header-gold .eyebrow{color:#f0dcb0;}

/* ---------- Startseite: Angebots-Säulen ---------- */
.pillar-grid{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:28px;
  margin-top:8px;
}
@media (max-width:980px){.pillar-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.pillar-grid{grid-template-columns:1fr;}}
.pillar-card{
  display:block; text-decoration:none;
  background:var(--cream);
  border:1px solid var(--line);
  border-top:5px solid var(--yoga-green);
  border-radius:2px;
  padding:34px 32px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.pillar-card:hover{transform:translateY(-3px); box-shadow:0 10px 26px rgba(44,39,33,0.1);}
.pillar-card .eyebrow{margin-bottom:0.7em; color:var(--yoga-green-deep);}
.pillar-card h3{font-size:1.4rem; margin-bottom:0.5em;}
.pillar-card p{margin-bottom:0; color:var(--ink); opacity:0.88;}
.pillar-card .pillar-link{
  display:inline-block; margin-top:16px; font-weight:600; font-size:0.92rem;
  color:var(--yoga-green-deep);
}

.pillar-card.pillar-violet{border-top-color:var(--werk-violet);}
.pillar-card.pillar-violet .eyebrow{color:var(--werk-violet-deep);}
.pillar-card.pillar-violet .pillar-link{color:var(--werk-violet-deep);}
.pillar-link-secondary{
  display:inline-block; margin-top:14px;
  padding:7px 16px; border:1px solid var(--werk-violet);
  border-radius:14px; text-decoration:none;
  font-size:0.82rem; font-weight:600; color:var(--werk-violet-deep);
  transition:background .2s ease, color .2s ease;
}
.pillar-link-secondary:hover{background:var(--werk-violet); color:var(--cream);}
.pillar-link-secondary.pillar-link-secondary-green{
  border-color:var(--yoga-green); color:var(--yoga-green-deep);
}
.pillar-link-secondary.pillar-link-secondary-green:hover{background:var(--yoga-green); color:var(--cream);}

.pillar-card.pillar-kunst{border-top-color:var(--kunst-ochre);}
.pillar-card.pillar-kunst .eyebrow{color:var(--ochre-deep);}
.pillar-card.pillar-kunst .pillar-link{color:var(--ochre-deep);}
.pillar-card.pillar-kunst .pillar-soon{
  display:inline-block; margin-top:16px; margin-right:10px;
  font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;
  background:#f5ead3; color:var(--ochre-deep);
  padding:4px 11px; border-radius:12px; vertical-align:middle;
}

/* Hervorgehobene "Nächstes Retreat"-Kachel -- bewusst andersfarbig als die Säulen */
.retreat-highlight{
  display:block; text-decoration:none;
  margin-top:28px;
  background:linear-gradient(120deg, var(--yoga-green-deep), var(--werk-violet), var(--kunst-ochre));
  color:var(--cream);
  border-radius:2px;
  padding:30px 34px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.retreat-highlight .rh-eyebrow{
  text-transform:uppercase; letter-spacing:0.14em; font-size:0.72rem; font-weight:700;
  color:#f0e2d0; display:block; margin-bottom:0.5em; text-shadow:0 1px 4px rgba(0,0,0,0.25);
}
.retreat-highlight h3{color:var(--cream); margin-bottom:0.2em; font-size:1.3rem; text-shadow:0 1px 4px rgba(0,0,0,0.25);}
.retreat-highlight p{color:#f2ece0; margin:0; text-shadow:0 1px 4px rgba(0,0,0,0.25);}
.retreat-highlight .rh-arrow{font-size:1.6rem; color:var(--cream); flex-shrink:0;}

/* Kleinerer Retreat-Hinweis für Säulen-Seiten, in der jeweiligen Säulenfarbe */
.retreat-teaser{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  text-decoration:none;
  border-radius:2px;
  padding:20px 26px;
  border-left:4px solid var(--yoga-green);
  background:var(--canvas-2);
}
.retreat-teaser .rt-eyebrow{
  text-transform:uppercase; letter-spacing:0.1em; font-size:0.7rem; font-weight:700;
  color:var(--yoga-green-deep); display:block; margin-bottom:0.3em;
}
.retreat-teaser p{margin:0; color:var(--ink); font-size:0.95rem;}
.retreat-teaser .rt-arrow{font-size:1.3rem; color:var(--yoga-green-deep); flex-shrink:0;}
.retreat-teaser.retreat-teaser-violet{border-left-color:var(--werk-violet); background:#efe8f2;}
.retreat-teaser.retreat-teaser-violet .rt-eyebrow, .retreat-teaser.retreat-teaser-violet .rt-arrow{color:var(--werk-violet-deep);}
.retreat-teaser.retreat-teaser-gold{border-left-color:var(--kunst-ochre); background:#f5ead3;}
.retreat-teaser.retreat-teaser-gold .rt-eyebrow, .retreat-teaser.retreat-teaser-gold .rt-arrow{color:var(--ochre-deep);}

/* ---------- Retreats: Themenfarben ---------- */
.retreat-item{
  display:grid; grid-template-columns:1fr 2.6fr 1fr; gap:18px;
  padding:24px 26px;
  border-radius:2px;
  margin-bottom:16px;
  align-items:center;
  border-left:4px solid var(--ochre);
  background:var(--canvas-2);
}
.retreat-item.theme-violet{border-left-color:var(--werk-violet); background:#efe8f2;}
.retreat-item.theme-ochre{border-left-color:var(--ochre); background:var(--canvas-2);}
.retreat-item .ri-date{font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem; color:var(--stone-dark);}
.retreat-item .ri-theme{font-weight:600; margin-bottom:0.2em;}
.retreat-item.theme-violet .ri-theme{color:var(--werk-violet-deep);}
.retreat-item.theme-ochre .ri-theme{color:var(--ochre-deep);}
.retreat-item .ri-place{font-size:0.88rem; color:var(--ink); opacity:0.8;}
.retreat-item .ri-status{
  font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.04em;
  padding:6px 14px; border-radius:14px; text-align:center; white-space:nowrap;
}
.retreat-item .ri-status.status-buchbar{background:#e3ecd9; color:var(--sage-deep);}
.retreat-item .ri-status.status-ausgebucht{background:#f0e0e0; color:#9a4a4a;}
.retreat-item .ri-status.status-bald{background:#f5ead3; color:var(--ochre-deep);}
a.retreat-item{text-decoration:none; color:inherit; display:grid; transition:box-shadow .2s ease;}
a.retreat-item:hover{box-shadow:0 6px 18px rgba(44,39,33,0.1);}
@media (max-width:700px){
  .retreat-item{grid-template-columns:1fr;}
}

/* ---------- table-ish content blocks ---------- */
.table-block{
  border-top:1px solid var(--line);
}
.trow{
  display:grid; grid-template-columns:1.4fr 2.6fr 1fr;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
  align-items:baseline;
}
.trow .t-label{font-weight:600; color:var(--stone-dark);}
.trow .t-price{font-family:'Fraunces', serif; font-size:1.15rem; color:var(--ochre-deep); text-align:right;}
@media (max-width:700px){
  .trow{grid-template-columns:1fr; gap:4px;}
  .trow .t-price{text-align:left; margin-top:4px;}
}

.split-note{
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  margin-top:36px;
}
@media (max-width:700px){.split-note{grid-template-columns:1fr;}}
.split-note .note-card{
  background:var(--canvas-2);
  padding:26px;
  border-left:3px solid var(--ochre);
}
.split-note .note-card.note-card-freising{
  background:#efe8f2;
  border-left:3px solid var(--werk-violet);
}
.split-note .note-card h4{
  font-family:'Fraunces', serif; font-weight:500; margin:0 0 0.4em;
  color:var(--stone-dark); font-size:1.1rem;
}
.trow .t-tag{
  display:inline-block;
  font-size:0.76rem;
  font-weight:600;
  letter-spacing:0.02em;
  color:var(--sage-deep);
  margin-top:3px;
}

.split-note .note-card .meta{
  font-size:0.82rem; color:var(--sage-deep); font-weight:600;
  text-transform:uppercase; letter-spacing:0.04em; margin-bottom:0.6em;
}

.loc-banner{
  display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  padding:16px 24px;
  border-radius:2px;
  margin-bottom:36px;
}
.loc-banner .loc-name{
  font-family:'Fraunces', serif; font-weight:600; font-size:1.15rem;
}
.loc-banner .loc-venue{font-size:0.9rem; color:var(--ink); opacity:0.85;}
.loc-banner-zolling{background:var(--canvas-2); border-left:4px solid var(--ochre);}
.loc-banner-zolling .loc-name{color:var(--ochre-deep);}
.loc-banner-freising{background:#efe8f2; border-left:4px solid var(--werk-violet);}
.loc-banner-freising .loc-name{color:var(--werk-violet-deep);}

.violet-block{
  background:#efe8f2;
  border-left:3px solid var(--werk-violet);
  padding:32px;
  border-radius:2px;
}
.violet-block .eyebrow{color:var(--werk-violet-deep);}
.violet-block h3{color:var(--werk-violet-deep); margin-bottom:0.3em;}
.violet-block .place-meta{color:var(--werk-violet-deep);}

/* ---------- Resilienz: Vergleichstabelle ---------- */
.table-scroll{overflow-x:auto; margin-top:20px; -webkit-overflow-scrolling:touch;}
.compare-table{
  width:100%; min-width:640px; border-collapse:collapse; font-size:0.92rem;
}
.compare-table th, .compare-table td{
  padding:16px 18px; text-align:left; vertical-align:top;
  border-bottom:1px solid var(--line);
}
.compare-table thead th{
  font-family:'Fraunces', serif; font-weight:600; font-size:1rem;
  color:var(--werk-violet-deep); background:#efe8f2;
}
.compare-table tbody td:first-child{
  font-weight:600; color:var(--stone-dark); width:20%; background:var(--canvas-2);
}
.compare-table tbody tr:last-child td{border-bottom:2px solid var(--werk-violet);}

.split-note.split-note-3col{grid-template-columns:1fr 1fr 1fr;}
@media (max-width:900px){.split-note.split-note-3col{grid-template-columns:1fr 1fr;}}
@media (max-width:700px){.split-note.split-note-3col{grid-template-columns:1fr;}}

.tree-illustration-frame{
  background:#efe8f2;
  border-radius:2px;
  padding:28px;
  margin:24px 0 32px;
  display:flex;
  justify-content:center;
}
.tree-illustration-frame img{
  width:100%; max-width:520px; display:block;
}

.contact-cta{
  background:var(--sage-deep);
  color:var(--cream);
  padding:56px 0;
  text-align:center;
}
.contact-cta h2{color:var(--cream);}
.contact-cta p{color:#e4e6dc; max-width:52ch; margin-left:auto; margin-right:auto;}

.contact-form{
  text-align:left;
  margin-top:32px;
  max-width:480px;
  margin-left:auto; margin-right:auto;
}
.form-row{margin-bottom:18px;}
.form-row label{
  display:block; font-size:0.86rem; font-weight:600;
  color:var(--cream); margin-bottom:6px;
}
.form-row input, .form-row textarea, .form-row select{
  width:100%;
  padding:12px 14px;
  border:1px solid rgba(247,242,231,0.35);
  border-radius:2px;
  background:rgba(247,242,231,0.95);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  font-size:0.96rem;
}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{
  outline:2px solid var(--ochre);
  outline-offset:1px;
}
.contact-form .btn{
  border:none; cursor:pointer; font-family:inherit;
}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  width:1px; height:1px; overflow:hidden;
}
.form-msg{
  padding:16px 20px;
  border-radius:2px;
  margin:20px auto 0;
  max-width:480px;
  font-size:0.94rem;
}
.form-msg-ok{background:rgba(143,191,111,0.18); border:1px solid rgba(143,191,111,0.5); color:var(--cream);}
.form-msg-err{background:rgba(201,113,63,0.2); border:1px solid rgba(201,113,63,0.55); color:var(--cream);}

.impressum-body h2{margin-top:1.6em;}
.impressum-body p, .impressum-body li{color:var(--ink);}

/* ---------- Aktuelles: Event-Karten ---------- */
.event-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  margin-top:36px;
}
@media (max-width:700px){.event-grid{grid-template-columns:1fr;}}
.event-card{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
}
.event-card img{width:100%; height:220px; object-fit:cover;}
.event-card .event-body{padding:24px 26px 26px;}
.event-card .event-meta{
  font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--sage-deep); margin-bottom:0.5em;
}
.event-card h3{font-size:1.15rem; margin-bottom:0.4em;}
.event-card p{font-size:0.93rem; margin-bottom:0.7em;}
.event-card .event-link{font-size:0.85rem; font-weight:600; text-decoration:none;}

/* ---------- WhatsApp-Hinweis ---------- */
.whatsapp-inline{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--sage);
  color:var(--cream) !important;
  padding:9px 18px;
  border-radius:20px;
  font-size:0.85rem;
  font-weight:600;
  text-decoration:none !important;
  transition:background .2s ease;
}
.whatsapp-inline:hover{background:var(--sage-deep);}
.whatsapp-inline svg{width:16px; height:16px; flex-shrink:0;}

.whatsapp-callout{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:var(--canvas-2);
  border-left:3px solid var(--sage);
  padding:30px 34px;
  border-radius:2px;
  margin-top:48px;
}
.whatsapp-callout h3{color:var(--sage-deep); margin-bottom:0.3em;}
.whatsapp-callout p{margin:0; max-width:46ch; color:var(--ink);}
footer .whatsapp-inline{margin-top:10px;}

/* ---------- Automatisch ausblendende Termine ---------- */
.date-group{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:6px;}
.date-chip{
  display:inline-block;
  font-size:0.82rem; font-weight:600;
  background:var(--canvas-2); color:var(--stone-dark);
  padding:5px 12px; border-radius:14px;
  white-space:nowrap;
}
.date-fallback{
  font-size:0.88rem; font-style:italic; color:var(--sage-deep);
}
.date-card[data-date]{transition:none;}

/* ---------- Aktuelles: Kommende Events (Ankündigungen) ---------- */
.announce-card{
  background:var(--cream);
  border:1px solid var(--line);
  border-left:4px solid var(--ochre);
  padding:24px 28px;
  border-radius:2px;
  margin-bottom:16px;
}
.announce-card .announce-date{
  font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--ochre-deep); margin-bottom:0.5em;
}
.announce-card h3{font-size:1.2rem; margin-bottom:0.4em;}
.announce-card p{margin-bottom:0.5em; font-size:0.96rem;}
.announce-card .announce-ort{font-size:0.85rem; color:var(--sage-deep); font-weight:600;}

/* ---------- Aktuelles: Featured Event mit Foto-Galerie ---------- */
.event-feature{
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
  margin-top:36px;
}

/* 1) Plakat + Text */
.ef-poster-row{
  display:grid; grid-template-columns:150px 1fr; gap:26px;
  padding:28px 32px 8px;
  align-items:start;
}
.ef-poster{width:100%; border-radius:2px; display:block; align-self:start;}
.event-feature-body .event-meta{margin-bottom:0.6em;}
.event-feature-body h3{font-size:1.3rem; margin-bottom:0.4em;}
.event-feature-body p{max-width:66ch; font-size:0.95rem;}
.event-feature-tags{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px;}
.event-feature-tags span{
  font-family:'Fraunces', serif; font-style:italic;
  font-size:0.82rem; font-weight:500; letter-spacing:0.01em;
  background:#f5ead3; color:var(--ochre-deep);
  padding:5px 13px; border-radius:14px;
}
.event-feature-tags span a{color:inherit; text-decoration:underline; text-decoration-color:rgba(150,105,47,0.4);}
.event-feature-body p a{color:var(--ochre-deep); font-weight:600;}
@media (max-width:640px){
  .ef-poster-row{grid-template-columns:1fr; padding:24px 24px 4px;}
  .ef-poster{max-width:150px;}
}

/* 2) Die beiden Fotos mit den Malstiften / Personenfotos */
.ef-pen-row{
  display:grid; grid-template-columns:1fr 1fr; gap:4px;
  margin-top:22px;
}
.ef-pen-row img{width:100%; height:220px; object-fit:cover; object-position:center; display:block;}
.ef-pen-row-tall img{height:340px;}
@media (max-width:640px){
  .ef-pen-row{grid-template-columns:1fr;}
  .ef-pen-row img{height:200px;}
  .ef-pen-row-tall img{height:320px;}
}

/* 3) Werke, volle Breite — mittleres Foto (Ausstellungsreihe) unbeschnitten */
.ef-werke-row{
  display:grid; grid-template-columns:1fr auto 1fr; gap:8px;
  align-items:center; justify-content:center;
  margin-top:4px;
  padding:0 4px;
}
.ef-werke-row img{width:100%; height:170px; object-fit:cover; display:block;}
.ef-werke-row .ef-werke-hero{
  width:auto; max-width:220px; height:260px;
  object-fit:contain; object-position:center;
  background:var(--canvas-2);
  border-radius:2px;
}
.ef-werke-cap{
  padding:12px 32px 28px;
  font-size:0.85rem; color:var(--sage-deep); font-weight:600;
}
@media (max-width:640px){
  .ef-werke-row{grid-template-columns:1fr;}
  .ef-werke-row img{height:200px;}
  .ef-werke-row .ef-werke-hero{max-width:100%; height:340px; margin:0 auto;}
}

/* Retreat: Skizze + Aquarell nebeneinander, unbeschnitten */
.ef-retreat-artworks{
  display:flex; gap:10px; justify-content:center; flex-wrap:wrap;
  margin-top:20px; padding:0 16px;
}
.ef-retreat-artworks img{
  height:300px; width:auto; max-width:100%;
  object-fit:contain; background:var(--canvas-2);
  border-radius:2px;
}
.ef-retreat-photo{display:flex; justify-content:center; margin-top:18px; padding:0 16px;}
.ef-retreat-photo img{
  height:360px; width:auto; max-width:100%;
  object-fit:contain; background:var(--canvas-2);
  border-radius:2px; display:block;
}
@media (max-width:640px){
  .ef-retreat-artworks img{height:240px;}
  .ef-retreat-photo img{height:300px;}
}
.event-feature-full .cap{
  padding:14px 34px 26px;
  font-size:0.85rem; color:var(--sage-deep); font-weight:600;
}

/* ---------- Retreats: Faktenliste & Preisblock ---------- */
.retreat-facts{list-style:none; margin:22px 0; padding:0; border-top:1px solid var(--line);}
.retreat-facts li{
  display:grid; grid-template-columns:78px 1fr; gap:14px;
  padding:13px 0; border-bottom:1px solid var(--line);
  font-size:0.96rem; align-items:baseline;
}
.retreat-facts li > strong{
  font-size:0.74rem; text-transform:uppercase; letter-spacing:0.07em;
  color:var(--ochre-deep);
}
.preis-block{display:block;}
.preis-frueh, .preis-spaet{display:block;}
.preis-frueh b, .preis-spaet b{
  font-family:'Fraunces', serif; font-size:1.2rem; font-weight:600; color:var(--stone-dark);
}
.preis-spaet{margin-top:2px; color:var(--ink); opacity:0.85;}
@media (max-width:480px){
  .retreat-facts li{grid-template-columns:1fr; gap:2px;}
}

/* ---------- Hinweis "Derzeit keine Termine" ---------- */
.no-dates{
  max-width:60ch; margin:18px 0 0; padding:14px 20px;
  background:var(--canvas-2); border-left:3px solid var(--ochre);
  color:var(--sage-deep); font-weight:600; font-size:0.95rem;
}

/* ---------- Kunst & Bilder: Aktuelle Werke ---------- */
.werk-grid{
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:26px;
}
@media (max-width:900px){.werk-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.werk-grid{grid-template-columns:1fr;}}
.werk-card{
  background:var(--cream); border:1px solid var(--line); border-radius:2px;
  overflow:hidden;
}
.werk-card img{width:100%; aspect-ratio:3/2; object-fit:cover; display:block;}
.werk-body{padding:20px 22px 22px;}
.werk-body h4{font-size:1.1rem; margin-bottom:0.25em;}
.werk-info{margin:0 0 0.8em; font-size:0.86rem; color:var(--ochre-deep); font-weight:600;}
.werk-link{
  display:inline-block; font-size:0.86rem; font-weight:600;
  color:var(--ochre-deep); text-decoration:none;
}
.werk-link:hover{text-decoration:underline;}
.werk-card.werk-platzhalter{opacity:0.75;}
.werk-card.werk-platzhalter .werk-platzhalter-flaeche{
  aspect-ratio:3/2; display:flex; align-items:center; justify-content:center;
  background:var(--canvas-2);
  font-family:'Fraunces', serif; font-style:italic; font-size:1.05rem;
  color:var(--sage-deep);
}
.werk-card.werk-platzhalter h4{color:var(--sage-deep);}
.werk-card.werk-platzhalter .werk-info{color:var(--sage-deep); font-weight:500;}
