:root {
  --petrol: #163a3c;
  --header: #14363a;
  --gold: #e8d48b;
  --cream: #f4efe4;
  --card: #f6f1e6;
  --ink: #163a3c;
  --muted: #4d6163;
  --line: #d8ccb4;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "Segoe UI", system-ui, Roboto, Arial, sans-serif;
  color: var(--ink);
  background: #dfe8e4;
  line-height: 1.55;
}
a { color: var(--petrol); }
img { max-width: 100%; height: auto; display: block; }
.wrap { width: min(1280px, calc(100% - 2.2rem)); margin: 0 auto; }

header.site {
  background: var(--header);
  color: #fff;
}
.head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 78px;
}
.brand { display: flex; align-items: center; text-decoration: none; }
.brand img { height: 42px; width: auto; }
nav.main { display: flex; flex-wrap: wrap; gap: .15rem .1rem; }
nav.main a {
  color: #e7eeed;
  text-decoration: none;
  padding: .7rem .8rem;
  font-size: .95rem;
}
nav.main a:hover { color: #fff; }
nav.main a.active {
  color: #fff;
  box-shadow: none;
}

.hero {
  position: relative;
  min-height: 30rem;
  background: #c5d4ce center top / cover no-repeat;
}
.hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(95deg, rgba(244,239,228,.90) 0%, rgba(244,239,228,.48) 46%, rgba(22,58,60,.06) 100%);
}
.hero .wrap { position: relative; z-index: 1; padding: 3.4rem 0 5.5rem; }
h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: clamp(1.9rem, 4.2vw, 3.05rem);
  line-height: 1.18;
  max-width: 16ch;
  margin: 0 0 .85rem;
  color: var(--petrol);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.h-top, .h-bot { display: block; }
.spin-wrap {
  position: relative;
  display: block;
  min-height: 1.2em;
  min-width: 13ch;
}
.spin {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 2.4s ease;
}
.spin.on { opacity: 1; }
.lead { max-width: 34rem; color: var(--muted); font-size: 1.06rem; margin: 0 0 1.25rem; }
.actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .72rem 1.2rem; border-radius: 8px; text-decoration: none; font-weight: 650;
}
.btn-dark { background: var(--petrol); color: #fff; }
.btn-line { background: transparent; color: var(--petrol); border: 1.6px solid var(--petrol); }
.btn-gold { background: var(--gold); color: var(--petrol); }
.fine { margin: 1rem 0 0; color: var(--muted); font-size: .92rem; }

.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin-top: -3.2rem;
  position: relative;
  z-index: 2;
  padding-bottom: 2.4rem;
}
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1.2rem 1.15rem 1.35rem;
  box-shadow: 0 10px 28px rgba(20,50,50,.07);
}
.card h2 {
  font-family: Georgia, serif;
  font-size: 1.35rem;
  margin: .35rem 0 .4rem;
  font-weight: 600;
}
.card p { margin: 0; color: var(--muted); }
.ico { width: 36px; height: 36px; color: var(--gold); }

.block { padding: 2.4rem 0 3rem; }
.cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; background: var(--cream); border-radius: 12px; overflow: hidden; border: 1px solid var(--line); }
.cols > div { padding: 1.3rem 1.2rem 1.5rem; display:flex; flex-direction:column; }
.cols > div ul { flex:1; }
.cols .col-btn { margin-top:auto; padding-top:1.1rem; }
.cols > div + div { border-left: 1px solid var(--line); }
.cols h2 { font-family: Georgia, serif; margin: 0 0 .2rem; font-size: 1.4rem; }
.cols .head-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.35rem}
.cols .head-row h2{margin:0}
.cols .head-row .disc{margin:0;width:28px;height:28px;flex:0 0 28px}
.price { color: var(--gold); font-weight: 650; margin: 0 0 .8rem; }
.cols ul { list-style: none; margin: 0; padding: 0; }
.cols li { padding: .28rem 0; }
.yes { color: #1b6b3a; }
.no { color: #8e3a36; }
@media (max-width: 860px) {
  .cards, .cols { grid-template-columns: 1fr; }
  .cols > div + div { border-left: 0; border-top: 1px solid var(--line); }
  nav.main { display: flex; flex-wrap: wrap; }
  h1 { max-width: none; }
}
footer.site {
  background: var(--header);
  color: #c5d4d3;
  padding: 1.5rem 0 1.8rem;
  font-size: .9rem;
}
footer.site a { color: var(--gold); text-decoration: none; }
footer.site .foot { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.kicker { text-transform: uppercase; letter-spacing: .08em; font-size: .76rem; color: #0d7c86; font-weight: 700; margin: 0 0 .35rem; }
.block-title { font-family: Georgia, serif; font-size: 1.7rem; margin: 0 0 .4rem; color: var(--petrol); }
.stufen { display: grid; grid-template-columns: repeat(5, 1fr); gap: .65rem; }
.stufen article { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: .85rem .75rem 1rem; }
.stufen h3 { font-family: Georgia, serif; margin: 0 0 .35rem; text-align: center; }
.stufen ul { list-style: none; margin: 0; padding: 0; font-size: .78rem; }
.stufen li { padding: .18rem 0; border-bottom: 1px solid #eadfc8; }
.stufen { display: grid; grid-template-columns: repeat(5, 1fr); gap: .65rem; }
.stufen article { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: .85rem .75rem 1rem; }
.stufen h3 { font-family: Georgia, serif; margin: 0 0 .35rem; text-align: center; }
.stufen ul { list-style: none; margin: 0; padding: 0; font-size: .78rem; }
.stufen li { padding: .18rem 0; border-bottom: 1px solid #eadfc8; }
.stufen .price { text-align: center; }
.symbols { display: grid; grid-template-columns: repeat(7, 1fr); gap: .5rem; margin: 1.5rem 0 0; }
.symbols a, .symbols .sym {
  text-align: center; text-decoration: none; color: var(--ink);
  background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: .9rem .4rem;
}
.disc { width: 36px; height: 36px; border-radius: 50%; margin: 0 auto .45rem; }
.disc.bronze { background: radial-gradient(circle at 35% 30%, #c48a58, #7a4e2a); }
.disc.silber { background: radial-gradient(circle at 35% 30%, #f2f3f5, #9aa0a6); }
.disc.gold { background: radial-gradient(circle at 35% 30%, #f0d27a, #e8d48b); }
.disc.platin { background: radial-gradient(circle at 35% 30%, #fff, #c5c8cc); box-shadow: 0 0 0 2px #e6c35a, 0 0 12px rgba(230,195,90,.7); }
.disc {
  display: flex;
  align-items: center;
  justify-content: center;
}
.disc.lotus {
  background: radial-gradient(circle at 35% 30%, #fff6d6, #e8c45a 55%, #b8860b);
  box-shadow: 0 0 0 2px #e6c35a, 0 0 10px rgba(232,196,90,.8);
}
.disc.lotus .lotus {
  width: 22px;
  height: 22px;
  margin: 0;
  filter: drop-shadow(0 0 4px rgba(255,230,140,.9));
}
.lotus { width: 36px; height: 36px; margin: 0 auto .45rem; filter: drop-shadow(0 0 8px rgba(232,196,90,.85)); }
.symbols .name { font-size: .8rem; font-weight: 700; color: var(--petrol); }
.switch {
  display: flex;
  border: 1px solid var(--line);
  border-radius: 999px;
  overflow: hidden;
  margin: .35rem 0 .55rem;
}
.switch button {
  flex: 1;
  border: 0;
  background: transparent;
  padding: .32rem .3rem;
  cursor: pointer;
  font: inherit;
  font-size: .66rem;
  color: var(--muted);
}
.switch button.on { background: var(--petrol); color: #fff; }
.strike { text-decoration: line-through; color: #8e3a36; opacity: .72; }
.extra-price { display: none; font-size: .75rem; color: var(--muted); text-align: center; margin: 0 0 .4rem; }
article[data-mode="fest"] .extra-price { display: block; }
@media (max-width: 980px) {
  .stufen, .symbols { grid-template-columns: 1fr 1fr; }
}

.wrap.wide { width: min(1280px, calc(100% - 1.4rem)); }
.scroll { overflow-x: auto; }
table.vergleich { width: 100%; min-width: 980px; border-collapse: collapse; background: var(--card); font-size: .78rem; }
table.vergleich th, table.vergleich td { border: 1px solid var(--line); padding: .7rem .45rem; vertical-align: top; text-align: center; }
table.vergleich thead th { font-family: Georgia, serif; font-weight: 600; }
table.vergleich tr.preise th { color: var(--gold); font-family: inherit; }
table.vergleich tbody td:empty { background: #efe8d8; }
table.vergleich tr.jahr td { font-weight: 650; color: var(--muted); }
.disc.goldplus {
  background: radial-gradient(circle at 35% 30%, #f0d27a, #e8d48b);
  box-shadow: 0 0 0 2px #8a3a22, 0 0 8px rgba(138,58,34,.45);
}
.disc.lotusplus {
  background: radial-gradient(circle at 35% 30%, #fff, #c5c8cc);
  box-shadow: 0 0 0 2px #e6c35a, 0 0 10px rgba(230,195,90,.55);
  display: flex; align-items: center; justify-content: center;
}
.disc.lotusplus svg { width: 22px; height: 22px; margin: 0; }
table.vergleich .extra-price { display: block; }

.stufen.sieben { display:grid; grid-template-columns:repeat(7,minmax(140px,1fr)); gap:0; background:var(--card); border:1px solid var(--line); border-radius:12px; overflow-x:auto; }
.stufen.sieben article { background:transparent; border:0; border-right:1px solid var(--line); border-radius:0; padding:1rem .7rem 1.2rem; min-width:11rem; }
.stufen.sieben article:last-child { border-right:0; }
.stufen.sieben ul { list-style:none; margin:0; padding:0; font-size:.78rem; }
.stufen.sieben li { padding:.28rem 0; border-bottom:1px solid #eadfc8; }
.stufen.sieben .jahr { margin:.8rem 0 0; font-size:.78rem; color:var(--muted); font-weight:650; }
.stufen.sieben h3 { text-align:center; font-family:Georgia,serif; margin:.2rem 0 .35rem; }
.stufen.sieben .price { text-align:center; }

.kosten-reihe { display:grid; grid-template-columns:repeat(7,1fr); gap:0; border:1px solid var(--line); border-top:0; border-radius:0 0 12px 12px; background:var(--card); min-height:2.6rem; }
.kosten-reihe div { padding:.7rem .5rem; font-size:.78rem; color:var(--muted); font-weight:650; text-align:center; border-right:1px solid var(--line); min-width:11rem; }
.kosten-reihe div:last-child { border-right:0; }
.stufen.sieben { border-radius:12px 12px 0 0; }

li.off { text-decoration: line-through; color: #8e3a36; opacity: .72; }

.card .btn { margin-top: 1rem; font-size: .85rem; padding: .45rem .8rem; }
.card p { margin: 0 0 .2rem; }
.sym-note { font-size: .72rem; color: var(--muted); font-weight: 500; margin-top: .25rem; line-height: 1.3; }
.werte { display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; margin-top:1.2rem; }
.werte article { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:.9rem .85rem; }
.werte h3 { font-family:Georgia,serif; margin:0 0 .3rem; font-size:1.05rem; }
.werte p { margin:0; color:var(--muted); font-size:.9rem; }
ul.plain { list-style:none; padding:0; max-width:36rem; }
ul.plain li { padding:.4rem 0; border-bottom:1px solid var(--line); }
.foot-mid { display:flex; flex-wrap:wrap; gap:.35rem 1rem; }
footer.site .foot { align-items:flex-start; }
@media (max-width: 980px) { .werte { grid-template-columns:1fr 1fr; } }

.pairs { display:grid; gap:.75rem; }
.pair { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.pair a { text-align:center; text-decoration:none; color:var(--ink); background:var(--card); border:1px solid var(--line); border-radius:12px; padding:1rem .6rem; }
.disc.quer { background: radial-gradient(circle at 35% 30%, #2a5a5c, #163a3c); box-shadow: 0 0 0 2px var(--gold); }
.werte.vier { grid-template-columns:repeat(4,1fr); }
.phil-grid { display:grid; grid-template-columns:minmax(220px,1fr) 1.4fr; gap:1.2rem; align-items:start; }
.phil-foto { width:100%; border-radius:12px; object-fit:cover; max-height:280px; }
.phil-grid p { color:var(--muted); margin:0 0 .75rem; }
.foot-stack { display:flex; flex-direction:column; gap:.25rem; }
@media (max-width: 800px) { .phil-grid, .werte.vier, .pair { grid-template-columns:1fr; } }

.disc.quer img { width:26px; height:26px; object-fit:contain; }

.kreis-wrap{margin:0 auto 1.5rem;max-width:720px;text-align:center}
.kreis-wrap img{width:100%;height:auto;display:block}

.koop-block{max-width:46rem;margin:2rem 0 0;padding-top:1.2rem;border-top:1px solid var(--line)}
.koop-block h2{font-family:Georgia,serif;font-size:1.35rem;margin:0 0 .6rem}
.koop-block p{color:var(--muted);margin:0 0 .7rem}

.einstiege{display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem;align-items:center}
.stufen-liste{display:flex;flex-direction:column;gap:.45rem}
.stufen-liste>a{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;padding:.35rem .2rem;border-bottom:1px solid var(--line)}
.stufen-liste .disc{width:28px;height:28px;border-radius:50%;flex:0 0 28px}
.stufen-liste .quer img{width:16px;height:16px;object-fit:contain;display:block;margin:6px auto}
.stufen-liste .actions{margin-top:.8rem;border:0;padding:0;display:flex;gap:.6rem;flex-wrap:wrap}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.proj{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1rem;border:1px solid var(--line);background:#fffaf0;color:inherit;text-decoration:none;min-height:6.2rem}
.proj strong{font-family:Georgia,serif}
.proj span{font-size:.85rem;color:var(--muted)}
@media(max-width:820px){.einstiege{grid-template-columns:1fr}}

.kreis-wrap{background:transparent}
.kreis-wrap img{background:transparent}
.stufen-liste>a{align-items:flex-start;font-size:.95rem;line-height:1.35}
.stufen-liste>a b{font-weight:700}
.proj-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.proj-card{background:#fff;border:1px solid #e6ddd0;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.proj-img{min-height:148px;background-size:cover;background-position:center;padding:1rem;color:#163a3c;display:flex;flex-direction:column;justify-content:flex-end}
.proj-img h3{margin:0;font-family:Georgia,serif;font-size:1.15rem}
.proj-img p{margin:.2rem 0 0;font-size:.88rem}
.proj-card footer{display:flex;justify-content:space-between;align-items:flex-end;gap:.5rem;padding:.7rem .8rem;font-size:.8rem;color:#4a5c5e}
.pill{border:1px solid #c9b48a;border-radius:999px;padding:.12rem .55rem;font-style:normal;font-size:.75rem}
.pill.bronze{background:#c48a58;color:#fff;border:0}
.pill.silber{background:#eee;color:#333}
.pill.gold{background:#e8d48b;color:#fff;border:0}
@media(max-width:980px){.proj-grid{grid-template-columns:repeat(2,1fr)}}

.stufen-liste .disc svg{width:18px;height:18px;display:block;margin:5px auto}
.stufen-liste .disc.lotus,.stufen-liste .disc.lotusplus{display:flex;align-items:center;justify-content:center}
.pill.goldplus{background:#e8d48b;color:#fff;border:2px solid #8a3a22}
.pill.platin{background:#e8eaed;color:#333;border:1px solid #e8d48b}
.pill.lotus{background:#e8d48b;color:#fff;border:0}
.bausatz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 1.5rem}
.bausatz-card{display:block;background:#fff;border:1px solid #e6ddd0;border-radius:10px;overflow:hidden;color:inherit;text-decoration:none}
.bausatz-card img{width:100%;height:150px;object-fit:cover;display:block}
.bausatz-card .body{padding:.75rem .85rem}
.bausatz-card h3{margin:0 0 .25rem;font-size:1.05rem}
.bausatz-card p{margin:0;color:var(--muted);font-size:.88rem}
@media(max-width:800px){.bausatz-grid{grid-template-columns:1fr}}

.proj-img h3{font-size:1.45rem;font-weight:700;letter-spacing:.01em}
.proj-img p{font-size:1.02rem}
.pill{border-radius:4px;padding:.15rem .55rem;font-style:normal;font-size:.78rem;font-weight:600;border:1px solid currentColor;background:transparent}
.pill.bronze{color:#7a4e2a;border-color:#7a4e2a;background:transparent}
.pill.silber{color:#5c6368;border-color:#9aa0a6;background:transparent}
.pill.gold,.pill.lotus{color:#8a6b12;border-color:#e8d48b;background:transparent}
.pill.goldplus{color:#8a3a22;border-color:#8a3a22;background:transparent}
.pill.platin{color:#4a5558;border-color:#e8d48b;background:transparent}

.kontakt-hero{min-height:42vh;background-size:cover;background-position:center}
.weekboard{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;background:#fffaf0;border:1px solid #e6ddd0;border-radius:12px;padding:1rem;position:relative}
.wcol h3{margin:0 0 .5rem;font-size:.95rem;text-align:center}
.slot{min-height:2.2rem;border:1px solid #eadfce;border-radius:6px;margin-bottom:.4rem;background:#fff}
.slot.on{background:#3d7a72;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.slot.dim{background:#edf1ee}
.weekboard.locked .lockline{position:absolute;inset:40% 8% auto;text-align:center;font-family:Georgia,serif;font-size:1.15rem}
.call-boxes{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}
@media(max-width:800px){.weekboard,.call-boxes{grid-template-columns:1fr}}

/* header-lock */
header.site{background:var(--header);position:relative;z-index:20}
header.site .head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0}
header.site .brand img{height:42px;width:auto}
header.site nav.main{display:flex;flex-wrap:wrap;gap:.15rem .75rem}
header.site nav.main a{color:#e8d48b;text-decoration:none;font-size:.92rem;border-bottom:2px solid transparent;padding:.2rem 0}
header.site nav.main a.active{color:#fff;border-bottom:2px solid #e8d48b;box-shadow:none}

/* header-fixed-h */
header.site{min-height:72px;box-sizing:border-box}
header.site .brand img{height:42px !important;width:auto !important;max-width:none}
header.site nav.main a{line-height:1.2;border-bottom-width:2px}

.btn{border-radius:999px;padding:.55rem 1.15rem;font-weight:700;display:inline-block;text-decoration:none;border:2px solid transparent}
.btn-gold,.btn-stufe{background:#e8d48b;color:#14363a;border-color:#e8d48b}
.btn-line{background:#e8d48b;color:#14363a;border-color:#14363a}
.btn-dark{background:#14363a;color:#e8d48b;border-color:#14363a}
.proj-title{font-size:1.7rem !important;font-weight:800 !important;margin:0}
.proj-sub{font-size:1.02rem;font-weight:600;margin:.25rem 0 0;font-family:Georgia,serif}
.pill,.btn-stufe{display:inline-block;border-radius:999px;padding:.2rem .7rem;font-style:normal;font-weight:700;font-size:.78rem;background:#e8d48b;color:#14363a;border:2px solid #e8d48b}
.pill.goldplus,.btn-stufe.goldplus{background:#e8d48b;color:#14363a;border-color:#8a3a22}
.pill.platin,.btn-stufe.platin{background:#e6eaee;color:#14363a;border-color:#e8d48b}
.pill.lotus,.btn-stufe.lotus{background:#e8d48b;color:#14363a;border-color:#6b3f00}
.pill.silber{background:#d8dce0;color:#14363a;border-color:#9aa0a6}
.pill.bronze{background:#c48a58;color:#14363a;border-color:#7a4e2a}

.proj-card{background:#fff;border:1px solid #e6ddd0;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.proj-img{margin:0;height:168px;overflow:hidden}
.proj-img img{width:100%;height:168px;object-fit:cover;display:block}
.proj-body{padding:.85rem .95rem 1rem}
.proj-title{font-size:1.85rem !important;font-weight:800 !important;line-height:1.15;margin:0 0 .65rem;color:#14363a}
.cta-btn{display:inline-block;background:#e8d48b;color:#14363a !important;border:2px solid #e8d48b;border-radius:999px;padding:.4rem .95rem;font-weight:700;font-size:.92rem;text-decoration:none}
.cta-btn:hover{background:#e8d48b}
.proj-dom{margin:.55rem 0 0;font-size:.82rem;color:#5a6a6c}

.proj-title{font-size:1.38rem !important;font-weight:700 !important;line-height:1.2;margin:0 0 .25rem;color:#14363a}
.proj-sub{margin:.1rem 0 0;font-size:.95rem;color:#3a4a4c}
.proj-sub2{margin:.15rem 0 0;font-size:.88rem;color:#5a6a6c}
.proj-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-top:.7rem}
.pill{display:inline-block;border-radius:999px;padding:.28rem .75rem;font-style:normal;font-weight:700;font-size:.78rem;background:#e8d48b;color:#14363a;border:2px solid #e8d48b}
.pill.goldplus{border-color:#8a3a22}
.pill.platin{background:#e6eaee;border-color:#e8d48b}
.pill.lotus{border-color:#6b3f00}
.pill.silber{background:#d8dce0;border-color:#9aa0a6}
.pill.bronze{background:#c48a58;border-color:#7a4e2a}

.proj-body .pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:2.05rem;min-width:6.4rem;padding:.28rem .95rem;
  margin-top:.75rem;border-radius:999px;box-sizing:border-box;
  font-style:normal;font-weight:700;font-size:.82rem;line-height:1;
  white-space:nowrap;text-decoration:none;
}
.proj-body .pill.gold{background:#e8d48b;color:#14363a;border:2px solid #e8d48b}
.proj-body .pill.goldplus{background:#e8d48b;color:#14363a;border:2px solid #8a3a22}
.proj-body .pill.platin{background:#eef1f4;color:#14363a;border:2px solid #e8d48b}
.proj-body .pill.lotus{background:#e8d48b;color:#14363a;border:2px solid #6b3f00}
.proj-body .pill.silber{background:#e6e8eb;color:#14363a;border:2px solid #9aa0a6}
.proj-body .pill.bronze{background:#c48a58;color:#14363a;border:2px solid #7a4e2a}
.proj-dom,.proj-row{display:none}

.proj-card{position:relative}
.proj-logo{min-height:52px;display:flex;align-items:center;padding:.45rem .7rem 0}
.proj-logo img{max-height:44px;width:auto;display:block}
.proj-title{font-size:1.12rem !important;font-weight:700 !important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.proj-sub{margin:.2rem 0 .8rem;font-size:.92rem}
.proj-body{position:relative;padding-bottom:2.8rem}
.proj-body .pill{
  position:absolute;right:.85rem;bottom:.75rem;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:1.85rem;min-width:5.6rem;padding:.22rem .8rem;
  border-radius:999px;font-size:.78rem;font-weight:650;
  white-space:nowrap;text-decoration:none;opacity:.95;
}

.proj-logo{min-height:56px;display:flex;align-items:center;justify-content:center;padding:.35rem .6rem;background:transparent}
.proj-logo img{max-height:52px;max-width:180px;width:auto;height:auto;object-fit:contain;filter:none;box-shadow:none}

.proj-logo img{max-height:44px;max-width:132px;width:auto;height:auto;object-fit:contain}

.proj-logo img.logo-sm{max-height:30px;max-width:108px}
.proj-logo img.logo-lg{max-height:58px;max-width:168px}
.proj-body .pill{
  position:absolute;right:.85rem;bottom:.72rem;
  width:6.7rem;min-width:6.7rem;max-width:6.7rem;
  height:1.9rem;min-height:1.9rem;
  padding:0 .4rem;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;
}

.proj-logo img.logo-sm{max-height:22px;max-width:86px}
.proj-logo img.logo-lg{max-height:62px;max-width:190px}

.proj-logo img.logo-soz{max-height:68px;max-width:68px;border-radius:4px;object-fit:cover}

/* Karten eine Höhe: Logo-Band, Bild, Text+Button */
.proj-grid{align-items:stretch}
.proj-card{display:flex;flex-direction:column;height:100%}
.proj-logo{
  height:78px;min-height:78px;max-height:78px;
  display:flex;align-items:flex-end;justify-content:center;
  padding:8px 12px 6px;box-sizing:border-box;
}
.proj-logo img{max-height:54px;max-width:150px;width:auto;height:auto;object-fit:contain}
.proj-logo img.logo-sm{max-height:26px;max-width:100px}
.proj-logo img.logo-lg{max-height:54px;max-width:150px}
.proj-logo img.logo-cat{max-height:54px;max-width:150px}
.proj-logo img.logo-soz{max-height:54px;max-width:54px;border-radius:4px;object-fit:cover}
.proj-img{height:150px;min-height:150px;max-height:150px;overflow:hidden;padding:0}
.proj-img img{width:100%;height:100%;object-fit:cover;display:block}
.proj-body{
  flex:1;display:flex;flex-direction:column;
  min-height:7.6rem;padding:.7rem .85rem 2.9rem;box-sizing:border-box;
}
.proj-title{margin:0 0 .15rem}
.proj-sub{margin:0}
.proj-body .pill{bottom:.7rem}
.logo-offen{font-size:.72rem;color:#8a6b12;letter-spacing:.02em}
.pruef-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}
.pruef-card{background:#fff;border:1px solid #e6ddd0;border-radius:10px;padding:.85rem 1rem}
.pruef-card h3{margin:0 0 .25rem;font-size:1.05rem;color:#14363a}
.pruef-card p{margin:0 0 .35rem;font-size:.9rem}
.pruef-card span{font-size:.78rem;color:#5a6a6c}
@media (max-width:860px){.pruef-grid{grid-template-columns:1fr}}

a.proj-card{text-decoration:none;color:inherit}

.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.captcha-box{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin:1rem 0}
#falter-feld{position:relative;width:min(100%,280px);height:160px;background:#e7f3f1;border-radius:12px;overflow:hidden}
@media(max-width:480px){#falter-feld{width:100%;max-width:100%;height:190px}}
.stack label{display:block;margin:.8rem 0 .25rem}
.stack input,.stack textarea{width:100%;max-width:36rem;padding:.55rem .7rem;border:1px solid #c5d6d4;border-radius:8px;font:inherit}
.stack textarea{min-height:8rem}

.gender-note{text-align:center;max-width:46rem;margin:1.4rem auto .4rem;padding:0 1rem;font-size:.95rem;line-height:1.5}
.weekboard{grid-template-columns:repeat(7,1fr)}
.weekboard .wcol.on .slot{background:#e7f3ee;color:#1f4f45}
.vrow{display:flex;gap:.7rem;overflow-x:auto;padding:.2rem 0 1rem;scroll-snap-type:x mandatory;justify-content:flex-start}
.vcard{flex:0 0 calc(33.33% - .5rem);min-width:160px;scroll-snap-align:start;background:#fff;border:1px solid #e6ddd0;border-radius:12px;padding:.55rem;text-align:center}
.vprev{height:92px;border-radius:8px;background:linear-gradient(160deg,#d7ece6,#f6f1e6);position:relative;opacity:.55}
.vprev .play{position:absolute;left:50%;top:46%;width:0;height:0;border-left:14px solid #1a2a2e;border-top:9px solid transparent;border-bottom:9px solid transparent;transform:translate(-40%,-50%)}
.vbar{height:4px;margin:.4rem .2rem 0;border-radius:4px;background:#e6ddd0;position:relative}
.vbar:after{content:"";position:absolute;left:0;top:0;bottom:0;width:28%;background:#e8d48b;border-radius:4px}
.vcard p{margin:.35rem 0 0;font-size:.85rem;text-decoration:line-through;color:#6a7a78}
.form-split{display:grid;gap:1.4rem;align-items:start}
@media(min-width:860px),(orientation:landscape) and (min-width:700px){
  .form-split{grid-template-columns:1.15fr .85fr}
}
.invite{background:#f6f1e6;border:1px solid #e2d6c4;border-radius:14px;overflow:hidden}
.invite img{width:100%;height:180px;object-fit:cover}
.invite .body{padding:1rem 1.1rem 1.2rem}
.invite h3{margin:0 0 .4rem;font-size:1.15rem}
.vcal{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin:1rem 0}
.vcal div{background:#f6f1e6;border:1px solid #e2d6c4;border-radius:8px;padding:.4rem .3rem;font-size:.72rem;min-height:4.2rem}
.vcal strong{display:block;margin-bottom:.25rem}
.vcal .on{background:#e7f3ee;border-color:#8fbfae}
.vrow{display:flex;gap:.6rem;overflow-x:auto;padding:.3rem 0 .8rem;scroll-snap-type:x mandatory}
.vph{flex:0 0 160px;scroll-snap-align:start;background:#1a2a2e;color:#e8d48b;border-radius:10px;height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.72rem;position:relative}
.vph span{position:absolute;top:.35rem;left:.4rem;font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}
.langs{display:flex;align-items:center;gap:.3rem;margin-right:.4rem}
.langs a{color:#e8d48b;text-decoration:none;font-size:.95rem;padding:.15rem .4rem;border:1px solid transparent;border-radius:6px;letter-spacing:.04em}
.langs a.on{border-color:#e8d48b;color:#fff}
header.site nav.main a{font-size:1.08rem;padding:.55rem .15rem}
footer.site{font-size:1.02rem}
footer.site a,.foot-stack a{font-size:1.02rem}

.langbar{background:#0e2c30;color:#e8d48b;text-align:left}
.langbar .wrap{display:flex;align-items:center;gap:.7rem;min-height:38px;padding:.35rem 0}
.langbar .langs{display:flex;gap:.35rem}
.langbar .langs a{color:#e8d48b;text-decoration:none;font-size:1rem;font-weight:700;padding:.2rem .55rem;border:1px solid #e8d48b;border-radius:6px}
.langbar .langs a.on{background:#e8d48b;color:#14363a}
.langbar .lab{font-size:.85rem;letter-spacing:.04em}

/* gold-line-20261013 */

.switch-spacer{height:2.6rem;margin:.3rem 0 .15rem}

.stufen.sieben li.leer{border-bottom-color:transparent;color:transparent}

.hero-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:2rem;align-items:center}
.hero-side{display:flex;flex-direction:column;align-items:center;gap:1rem}
.stempel{transform:rotate(-8deg) translateY(-1.2rem);border:3px solid #e8d48b;border-radius:12px;padding:1rem 1.4rem;text-align:center;background:rgba(255,255,255,.85);box-shadow:0 6px 18px rgba(20,50,50,.12)}
.stempel b{display:block;font-family:Georgia,serif;font-size:2.4rem;color:#14363a;line-height:1}
.stempel span{display:block;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a6b12;font-size:.85rem}
.stempel small{display:block;margin-top:.3rem;color:#14363a;font-size:.8rem}
.stempel-note{font-size:.82rem;color:#2a3d40;text-align:center;max-width:16rem;margin:0;background:#f6e7b0;border:1px solid #e8d48b;border-radius:8px;padding:.6rem .7rem}
.stempel-note a{color:#0d7c86}
.werte-kurz{background:rgba(255,255,255,.8);border:1px solid #e2d6c4;border-radius:10px;padding:.8rem 1rem;max-width:16rem}
.werte-kurz b{display:block;font-family:Georgia,serif;margin-bottom:.3rem;color:#14363a}
.werte-kurz p{margin:0;font-size:.85rem;color:#2a3d40}
.passt{margin:.4rem 0 1.1rem;padding:0 0 0 1.1rem;color:#2a3d40;font-size:.95rem}
.passt li{margin:.15rem 0}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr}}

.werte.sechs{grid-template-columns:repeat(3,1fr)}
.werte.sechs p{margin:0 0 .4rem}
@media(max-width:800px){.werte.sechs{grid-template-columns:1fr}}

.timeline-block{margin-top:4rem;padding-top:1rem}
.timeline-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;align-items:center}
.timeline-grid img{width:100%;height:auto;border-radius:12px}
.timeline-texte article{margin-bottom:.45rem;padding:.4rem .6rem;background:#f6f1e6;border:1px solid #e2d6c4;border-radius:8px}
.timeline-texte b{font-family:Georgia,serif;color:var(--petrol)}
.timeline-texte p{margin:.15rem 0 0;font-size:.9rem;color:var(--muted)}
@media(max-width:800px){.timeline-grid{grid-template-columns:1fr}}

.invite-next{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin-top:.8rem}
.invite-next p{margin:0;color:var(--muted)}

.invite-col{display:flex;flex-direction:column;gap:.8rem}

@media (max-width:768px) {
  .hero[style*="visionsgestalter-bg-philosophie"] { background-image: url('img/visionsgestalter-bg-philosophie-m.jpg') !important; }
  .invite img { content: url('img/kontakt-lagune-m.jpg'); }
}

.burger{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;padding:.4rem}
nav.main.open{display:flex}
@media (max-width:860px){
  .head{flex-wrap:wrap;justify-content:center;gap:.4rem}
  .brand{order:1}
  .langs{order:2}
  nav.main{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:.1rem}
  nav.main a{padding:.4rem .5rem;font-size:.85rem}
  .brand img{height:36px}
  .langs a{font-size:13px;padding:3px 6px}
}
@media (max-width:480px){
  .brand{order:1}
  .burger{display:block;order:2;font-size:2rem;margin-left:.2rem}
  .langs{order:3;width:100%;justify-content:center;margin:.4rem 0 0}
  nav.main{display:none !important;order:4;position:absolute;top:100%;left:0;right:0;background:var(--header);flex-direction:column;padding:1rem 1.5rem 1.2rem;z-index:20;border-top:1px solid rgba(255,255,255,.1)}
  nav.main.open{display:flex !important}
  nav.main a{padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .head{position:relative;justify-content:flex-start;flex-wrap:wrap;gap:.3rem}
  .brand img{height:32px}
  .langs a{font-size:12px;padding:2px 5px}
}

@media(max-width:900px){.bausatz-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.bausatz-grid{grid-template-columns:1fr}}

img.ico{width:48px;height:48px;object-fit:contain;margin-bottom:.5rem}

.table-scroll{overflow-x:auto;max-width:100%}
@media(max-width:480px){
  .kreis-wrap{max-width:none;margin:0 -1.1rem;width:calc(100% + 2.2rem)}
  .kreis-wrap img{width:100%}
  .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;max-width:100vw}
  .stufen.sieben{display:flex;width:max-content}
  .stufen.sieben article{flex:0 0 50vw;scroll-snap-align:start;font-size:.85rem}
  .stufen.sieben li{padding:.4rem 0;font-size:.82rem}
  .kosten-reihe{display:flex;width:max-content}
  .kosten-reihe div{flex:0 0 50vw;scroll-snap-align:start}
  body{overflow-x:hidden}
}

@media(max-width:900px){
  .phil-row{display:flex;flex-direction:column}
  .phil-row div{order:1}
  .phil-row img{order:2}
}

@media(max-width:860px){
  .gender-note{font-size:.85rem}
}


.sub-foot{background:var(--header);padding:.8rem 1rem;text-align:center}
.sub-foot .btn{display:inline-block;padding:.6rem 1.5rem;font-size:.95rem}

.sub-btn{display:inline-flex;align-items:center;gap:1rem;padding:1rem 2rem;border-radius:2.5rem}
.sub-ico{width:40px;height:40px;flex-shrink:0}
.sub-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}
.sub-text b{font-size:1.15rem;font-weight:700}
.sub-text span{font-size:.9rem;font-weight:400}


.pill-btn{display:inline-flex;align-items:center;gap:1rem;background:#e8d48b;color:#14363a;padding:.9rem 2rem;border-radius:999px;text-decoration:none;border:2px solid #14363a}
.pill-btn svg{flex-shrink:0}
.pill-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}
.pill-text b{font-size:1.1rem;font-weight:700}
.pill-text span{font-size:.85rem}

.pill-ico{width:36px;height:auto}

.btn-img{max-width:420px;height:auto;display:block;margin:0 auto;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.25)}

@media(max-width:600px){.btn-img{max-width:90%}}

/* Hover effects added 2026-10-25 */
.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(20,50,50,.12); }
.proj-card {
  box-shadow: inset 0 1px 3px rgba(0,0,0,.06);
  transition: box-shadow .2s, transform .2s;
}
.proj-card:hover {
  box-shadow: 0 8px 24px rgba(20,50,50,.14), inset 0 1px 3px rgba(0,0,0,.06);
  transform: translateY(-2px);
}
/* Hover */
.btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(20,50,50,.12); }
.proj-card { transition: box-shadow .2s, transform .2s; }
.proj-card:hover { box-shadow: 0 8px 24px rgba(20,50,50,.14); transform: translateY(-2px); }

.bausatz-card { transition: box-shadow .2s, transform .2s; }
.bausatz-card:hover { box-shadow: 0 8px 24px rgba(20,50,50,.14); transform: translateY(-2px); }
.btn { transition: transform .2s, box-shadow .2s; }

/* sticky footer */
body{min-height:100vh;display:flex;flex-direction:column}
.block{flex:1}
footer.site{margin-top:auto}

/* table scroll bounds fix 2026-10-26 */
@media(max-width:480px){
  .table-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory}
  .stufen.sieben{width:350vw;min-width:350vw}
  .stufen.sieben article{flex:0 0 50vw;max-width:50vw;box-sizing:border-box}
  .kosten-reihe{width:350vw;min-width:350vw;background:#f6f1e6}
  .kosten-reihe div{flex:0 0 50vw;max-width:50vw;box-sizing:border-box;background:#f6f1e6}
  .kosten-reihe div:last-child{background:#f6f1e6;border-right:0}
}
