/* Seelenstoff Neugestaltung: Grundgestaltung (Instagram-Farben, hell) */
:root{
  --sal:#A4B097;--hell:#EEE8E1;--rosand:#E2D6CA;--rosenholz:#9A5D53;--text:#3D3733;--text-weich:#6E645C;
  --creme:#FAF6F0;--sand:#E7E0D5;--weiss:#FFFDFA;--rose:#C9A79F;--rose-tief:#9A5D53;
  --serif:'Fraunces',Georgia,serif;--hand:'Caveat',cursive;--sans:'Jost',system-ui,sans-serif;--klein:'Cormorant Garamond',Georgia,serif;
  --schreib:'Caveat',cursive;--rand:clamp(16px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body.neu{font-family:var(--sans);font-weight:300;font-size:18px;line-height:1.8;color:var(--text);-webkit-font-smoothing:antialiased;
  cursor:url('stern-cursor.svg') 13 14,auto}
html{background:var(--hell)}
body.neu::before{content:"";position:fixed;inset:0;z-index:-1;background:url('5-jupiter-wasserzeichen.svg?v=2') no-repeat 0% 46%/min(680px,60%);pointer-events:none}
a,button,input,label,.knopf{cursor:url('stern-cursor.svg') 13 14,pointer}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0}
h1,h2,h3{font-family:var(--serif);font-weight:200;font-optical-sizing:auto;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;letter-spacing:-.025em;line-height:1.14}
.hand{position:relative;display:inline-block;font-family:var(--hand);font-weight:700;font-size:1.14em;letter-spacing:.005em;font-variation-settings:normal;color:var(--rosenholz);line-height:1}
.hand::after{content:"";position:absolute;left:-.06em;right:-.06em;bottom:-.17em;height:.17em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M3 10C50 4 96 12 150 8S252 4 297 9' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M3 10C50 4 96 12 150 8S252 4 297 9' fill='none' stroke='%23000' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.initial{font:inherit;color:inherit}
.etikett{font-family:var(--klein);font-weight:500;font-size:15px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px}
.wortlogo{display:inline-block;width:auto;height:3em;vertical-align:-1.12em;margin:0 .06em}
.bogen{border-radius:999px 999px 0 0;overflow:hidden}
.bogen img,.zoom img{width:100%;height:100%;object-fit:cover}
.zoom{overflow:hidden}
.zoom img{transition:transform 5s cubic-bezier(.2,.6,.2,1)}
.zoom:hover img{transform:scale(1.04)}
.fade{opacity:0;transform:translateY(22px);transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.6,.2,1)}
.fade.da{opacity:1;transform:none}
.linkpfeil{display:inline-flex;align-items:center;gap:14px;font-size:14.5px;font-weight:400;padding-bottom:6px;border-bottom:1px solid currentColor;transition:gap .4s ease}
.linkpfeil::after{content:"→"}
.linkpfeil:hover{gap:22px}
.knopf{display:inline-block;font-family:var(--sans);font-size:14.5px;font-weight:400;padding:14px 30px;border-radius:999px;background:var(--text);color:#fff;border:0;transition:background .4s ease}
.knopf:hover{background:var(--rosenholz)}

/* Kopf */
header{position:sticky;top:0;z-index:60;background:var(--sal)}
.kopfneu{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(14px,2vw,30px);padding:14px var(--rand);border-bottom:1px solid rgba(61,55,51,.14)}
.kopfneu nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px);white-space:nowrap;font-family:var(--klein);font-weight:500;font-size:15.5px;letter-spacing:.17em;text-transform:uppercase}
.kopfneu nav a{position:relative;padding:4px 0}
.kopfneu nav i{font-style:normal;color:#F6F1EA}
.kopfneu nav a[aria-current=page]{border-bottom:1px solid currentColor}
.kopfneu .rechts{grid-column:3;justify-self:end;display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.kopf-mitte{grid-column:2;display:block}
.kopf-mitte img{width:84px;height:84px;object-fit:contain;filter:brightness(0);opacity:.8}
.kopfneu--start .haupt{grid-column:2}
.kopf-icons{display:flex;align-items:center;gap:15px}
.kopf-icons a{display:inline-flex}
.kopf-icons svg{width:19px;height:19px}
.sprachauswahl__trigger{font-family:var(--sans) !important;color:var(--text) !important}
.burger{display:none;grid-column:3;justify-self:end;flex-direction:column;gap:5px;width:32px;height:32px;justify-content:center}
.burger span{display:block;width:22px;height:2px;background:var(--text);transition:transform .25s ease,opacity .2s ease}
.burger.aktiv span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.aktiv span:nth-child(2){opacity:0}
.burger.aktiv span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobilnav{display:none;flex-direction:column;background:var(--hell);font-family:var(--klein);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.mobilnav.offen{display:flex}
.mobilnav a{padding:15px 22px;border-bottom:1px solid rgba(61,55,51,.08)}
@media (max-width:1080px){
  .kopfneu nav,.kopfneu .rechts{display:none}
  .burger{display:flex}
  .kopf-mitte{grid-column:2}
  .kopf-mitte img{width:64px;height:64px}
  .kopfneu--start{min-height:56px}
}

/* Ankunft */
.ankunftneu{position:relative;overflow:hidden;background:var(--sal);min-height:calc(100vh - 62px);min-height:calc(100svh - 62px);display:flex;align-items:center;justify-content:center;padding:44px 16px 64px;text-align:center}
.ankunftneu__mitte{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.aufgang{width:clamp(120px,15vw,180px);height:auto;margin-bottom:6px;filter:brightness(0);opacity:.8;animation:jupiter-steigt 5.2s cubic-bezier(.45,.05,.55,.95) .6s both}
.zug{width:min(640px,84vw);height:auto;animation:sanft-da 1.8s ease 3.4s both}
.ankunftneu h1{font-size:clamp(1.9rem,3.6vw,3rem);margin-top:22px;animation:sanft-da 1.8s ease 4.4s both}
.ankunftneu h1 .hand{color:#F6F1EA}
.sonne{position:absolute;left:50%;top:50%;width:min(120vmin,1100px);aspect-ratio:1;margin:calc(min(120vmin,1100px)/-2) 0 0 calc(min(120vmin,1100px)/-2);border-radius:50%;background:radial-gradient(circle,rgba(255,243,226,.85) 0%,rgba(255,236,214,.42) 34%,rgba(255,236,214,0) 70%);animation:sonne-steigt 6s cubic-bezier(.3,.1,.3,1) .3s both;pointer-events:none}
.himmel{position:absolute;inset:0;pointer-events:none}
.stern{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 4px 1px rgba(255,255,255,.75);animation-name:stern-funkelt;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.stern:nth-child(3n){width:2px;height:2px}
.stern:nth-child(4n){width:4px;height:4px}
@keyframes jupiter-steigt{0%{transform:translateY(46vh) scale(.3);opacity:0}10%{opacity:.8}68%{transform:translateY(0) scale(1.7);opacity:.8}100%{transform:none;opacity:.8}}
@keyframes sonne-steigt{0%{transform:translateY(70vh);opacity:0}25%{opacity:1}100%{transform:translateY(-6%);opacity:1}}
@keyframes sanft-da{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes stern-funkelt{0%,100%{opacity:.15}50%{opacity:.95}}

/* Abschnitte */
.spalte-breit{max-width:1080px;margin:0 auto}
.glaube{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center;padding:clamp(80px,12vw,170px) var(--rand)}
.glaube h2{font-size:clamp(2.6rem,5vw,4.4rem)}
.glaube .lead{font-size:1.15rem;margin-top:30px;color:var(--text-weich)}
.glaube p+p{margin-top:1em}
.buehne{position:relative;display:grid;grid-template-columns:repeat(12,1fr);align-items:center}
.buehne__a{grid-column:1 / 10;grid-row:1;aspect-ratio:4/5}
.buehne__z{grid-column:4 / 13;grid-row:1;position:relative;z-index:2;align-self:end;background:var(--hell);padding:clamp(20px,2.6vw,36px);font-family:var(--serif);font-weight:300;font-variation-settings:'opsz' 72,'SOFT' 0,'WONK' 0;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.4;letter-spacing:-.01em;box-shadow:0 30px 70px -40px rgba(61,55,51,.4);margin-bottom:-8%}
.buehne__b{grid-column:8 / 13;grid-row:1;align-self:start;aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative;z-index:3;margin-top:-4%}
.buehne__b img{width:100%;height:100%;object-fit:cover}
.welten{padding:0 var(--rand) clamp(70px,9vw,120px)}
.welt{display:grid;grid-template-columns:5fr 6fr auto;gap:24px;align-items:baseline;padding:34px 0;border-top:1px solid rgba(61,55,51,.16);transition:padding .5s ease,color .4s ease}
.welt:last-child{border-bottom:1px solid rgba(61,55,51,.16)}
.welt:hover{padding-left:18px;color:var(--rosenholz)}
.welt h3{font-size:clamp(2.1rem,3.8vw,3.3rem)}
.welt p{color:var(--text-weich)}
.welt span{font-size:1.3rem}
.laden{background:rgba(226,214,202,.93);padding:clamp(80px,11vw,150px) var(--rand)}
.laden__kopf{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:56px}
.laden h2{font-size:clamp(2.6rem,5vw,4.4rem);max-width:13em}
.laden__raster{display:grid;grid-template-columns:5fr 4fr;gap:clamp(16px,2.4vw,32px)}
.wechsel{position:relative;aspect-ratio:3/2;overflow:hidden}
.wechsel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wechsel .oben{clip-path:inset(0 0 0 var(--x,50%))}
.wechsel__griff{position:absolute;top:0;bottom:0;left:var(--x,50%);width:1px;background:#fff;pointer-events:none}
.wechsel__griff::after{content:"\2039 \203A";position:absolute;top:58%;left:-21px;width:42px;height:42px;line-height:38px;text-align:center;border-radius:50%;background:#fff;color:var(--text)}
.wechsel input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0}
.bildunter{display:flex;justify-content:space-between;gap:16px;margin-top:16px;font-family:var(--serif);font-weight:300;font-variation-settings:'opsz' 36,'SOFT' 0,'WONK' 0;font-size:1.25rem}
.bildunter a:hover{color:var(--rosenholz)}
.laden__baby{display:block}
.laden__baby .zoom{aspect-ratio:6/5}
.weg{padding:clamp(80px,11vw,150px) var(--rand);display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,100px);align-items:start}
.weg h2{font-size:clamp(2.6rem,5vw,4.4rem)}
.weg .lead{margin-top:24px;color:var(--text-weich)}
.weg .linkpfeil{margin-top:30px}
.plan{display:grid;grid-template-columns:72px 1fr auto;gap:24px;align-items:center;padding:24px 0;border-top:1px solid rgba(61,55,51,.16);transition:color .4s ease}
a.plan:hover{color:var(--rosenholz)}
.plan:last-child{border-bottom:1px solid rgba(61,55,51,.16)}
.plan svg{width:72px;height:72px}
.plan h3{font-size:1.9rem;font-weight:300}
.plan p{font-size:15px;color:var(--text-weich)}
.plan b{font-weight:400;font-size:15.5px;white-space:nowrap}
.post{background:rgba(164,176,151,.93);padding:clamp(80px,11vw,140px) var(--rand);text-align:center}
.post h2{font-size:clamp(2.6rem,5vw,4.2rem)}
.post h2 .hand{color:#F6F1EA}
.post .lead{max-width:33em;margin:22px auto 0}
.post .formular{max-width:760px;margin:36px auto 0}
.post .klein{margin-top:22px;font-size:15px}
.post .klein a{text-decoration:underline}
.kontaktneu{padding:clamp(70px,9vw,110px) var(--rand);text-align:center}
.kontaktneu h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:18px}
.kontaktneu a{border-bottom:1px solid currentColor}
footer{background:var(--rosand);color:var(--text);padding:76px var(--rand) 36px;font-size:15px}
footer img{width:190px;margin-bottom:34px}
footer .huelle{max-width:1180px;margin:0 auto}
.fussraster{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:32px}
footer h5{font-weight:500;font-size:14px;margin-bottom:12px}
footer a{display:block;padding:3px 0;color:var(--text-weich)}
footer a:hover{color:var(--rosenholz)}
.fusszeile{margin-top:48px;padding-top:20px;border-top:1px solid rgba(61,55,51,.16);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--text-weich)}

/* Ueber mich */
.uh{padding:clamp(50px,8vw,110px) var(--rand);background:rgba(164,176,151,.93);text-align:center}
.uh h1{font-size:clamp(3.2rem,8vw,6.6rem)}
.uh h1 .hand{color:#F6F1EA}
.uh p{margin-top:26px}
.uh .wortlogo{height:3.4em}
.band{overflow:hidden;margin:clamp(40px,5vw,70px) 0}
.band__lauf{display:flex;align-items:flex-end;width:max-content;animation:wandern 80s linear infinite}
.band:hover .band__lauf{animation-play-state:paused}
.band__lauf>div{flex:none;width:clamp(200px,24vw,320px);margin-right:clamp(12px,2vw,26px);overflow:hidden;border-radius:999px 999px 0 0}
.band__lauf>div:nth-child(3n+1){height:clamp(250px,33vw,430px)}
.band__lauf>div:nth-child(3n+2){height:clamp(200px,26vw,340px)}
.band__lauf>div:nth-child(3n){height:clamp(280px,37vw,480px)}
.band__lauf img{width:100%;height:100%;object-fit:cover}
@keyframes wandern{to{transform:translateX(-50%)}}
.jband{display:flex;align-items:center;justify-content:center}
.jband img{width:60%;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.92}
.j-sal{background:var(--sal)}.j-holz{background:var(--rosenholz)}.j-ros{background:var(--rosand)}
.j-ros img{filter:brightness(0);opacity:.72}
.j-blume{background:var(--rosand)}
.j-blume svg{width:100%;height:100%;display:block}
.warmton{filter:sepia(.45) contrast(.9) brightness(1.05)}
.utext{max-width:680px;margin:0 auto;padding:0 var(--rand) clamp(70px,10vw,130px)}
.utext h2{font-size:clamp(2.2rem,4.4vw,3.6rem);margin-bottom:26px}
.utext p{color:var(--text-weich)}
.utext p+p{margin-top:1em}
.utext .lead{font-size:1.15rem}
.utext blockquote{font-family:var(--serif);font-weight:300;font-variation-settings:'opsz' 72,'SOFT' 0,'WONK' 0;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.35;margin:44px 0;padding-left:26px;border-left:1px solid var(--rosenholz)}
.utext strong{font-weight:400;color:var(--text)}

/* Shop */
.shopneu{background:rgba(164,176,151,.93);padding:clamp(50px,8vw,100px) var(--rand);text-align:center}
.shopneu h1{font-size:clamp(3rem,7vw,5.6rem)}
.shopneu h1 .hand{color:#F6F1EA}
.shopneu p{margin-top:24px}
.shopteil{padding:clamp(64px,9vw,120px) var(--rand);max-width:1320px;margin:0 auto}
.shopteil__kopf{margin-bottom:44px}
.shopteil__kopf h2{font-size:clamp(2.2rem,4vw,3.4rem)}
.shopteil__kopf p{margin-top:12px;color:var(--text-weich)}
.raster{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,40px)}
.karte__bild{aspect-ratio:6/5;overflow:hidden;background:var(--creme)}
.karte__bild img{width:100%;height:100%;object-fit:cover;transition:transform 5s cubic-bezier(.2,.6,.2,1)}
a:hover .karte__bild img{transform:scale(1.04)}
.raster--weg .karte__bild{aspect-ratio:1}
.karte__text{padding-top:16px}
.karte h3{font-size:1.5rem;font-weight:300;letter-spacing:-.01em;font-variation-settings:'opsz' 36,'SOFT' 0,'WONK' 0}
.karte__zeile{font-size:15.5px;color:var(--text-weich)}
.karte__preis{margin-top:6px;font-size:15.5px;font-weight:400;min-height:1.4em}
.shopteil--weg{max-width:none;background:rgba(226,214,202,.93)}
.shopteil--weg>div{max-width:1176px;margin:0 auto}

@media (max-width:820px){
  body.neu{font-size:16.5px}
  .glaube,.weg{grid-template-columns:1fr}
  .buehne{order:-1;max-width:460px;width:100%;margin:0 auto}
  .buehne__a{grid-column:1 / 12}
  .buehne__z{grid-column:2 / 13;margin-bottom:0;align-self:end}
  .buehne__b{grid-column:8 / 13}
  .welt{grid-template-columns:1fr auto;gap:4px 16px}
  .welt p{grid-column:1;grid-row:2}
  .welt span{grid-column:2;grid-row:1 / 3;align-self:center}
  .laden__raster,.raster{grid-template-columns:1fr}
  .bildunter{font-size:1rem}
  .plan{grid-template-columns:56px 1fr;gap:6px 16px}
  .plan svg{width:56px;height:56px;grid-row:1 / 3}
  .plan b{grid-column:2}
}
@media (prefers-reduced-motion:reduce){
  .fade{opacity:1;transform:none;transition:none}
  .aufgang,.zug,.ankunftneu h1,.sonne,.stern,.band__lauf{animation:none}
}

/* Aus der bisherigen Seite */
/* ---------- Popup: 10% Rabatt ---------- */
.popup-overlay{
  position:fixed;inset:0;background:rgba(61,55,51,.45);
  display:none;align-items:center;justify-content:center;z-index:200;padding:20px;
}
.popup-overlay.sichtbar{display:flex}
.popup-box{
  position:relative;background:var(--creme);border-radius:10px;
  max-width:420px;width:100%;padding:48px 38px 40px;text-align:center;
  box-shadow:0 24px 70px rgba(61,55,51,.3);
}
.popup-schliessen{
  position:absolute;top:12px;right:14px;background:none;border:0;
  font-size:1.6rem;line-height:1;color:var(--text-weich);cursor:pointer;padding:6px;
}
.popup-schliessen:hover{color:var(--rose-tief)}
.popup-box h3{
  font-family:var(--sans);font-weight:300;color:var(--text);
  font-size:clamp(1.15rem,3vw,1.45rem);margin:8px 0 14px;line-height:1.4;
}
.popup-schreib{
  font-family:var(--hand);font-weight:400;color:var(--rose-tief);
  font-size:2em;line-height:0;position:relative;top:.13em;
}
.popup-box .formular{margin-top:26px}

/* ---------- Klick-Tipp Formulare ---------- */
.formular .ktv2-form-dsgvocheckbox{
  flex-basis:100%;display:flex;align-items:flex-start;gap:10px;
  text-align:left;margin-top:8px;max-width:460px;margin-left:auto;margin-right:auto;
}
.formular .ktv2-form-dsgvocheckbox input[type="checkbox"]{
  margin-top:4px;width:16px;height:16px;min-width:16px;accent-color:var(--rose-tief);flex-shrink:0;
}
.formular .ktv2-form-dsgvocheckbox label{flex:1;min-width:0;font-size:.78rem;line-height:1.55;color:var(--text-weich);text-align:left}
.formular .ktv2-form-dsgvocheckbox label a{color:var(--rose-tief);text-decoration:underline}

/* ---------- Sprachauswahl ---------- */
.sprachauswahl{position:relative}
.sprachauswahl__trigger{
  display:flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:.79rem;font-weight:400;letter-spacing:.06em;
  color:var(--text-weich);padding:4px 2px;
}
.sprachauswahl__trigger:hover{color:var(--rose-tief)}
.sprachauswahl__liste{
  display:none;position:absolute;top:calc(100% + 12px);right:0;min-width:130px;
  background:var(--weiss);border-radius:8px;box-shadow:0 10px 30px rgba(61,55,51,.18);
  list-style:none;padding:6px;z-index:60;
}
.sprachauswahl.offen .sprachauswahl__liste{display:block}
.sprachauswahl__opt{
  display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:.85rem;color:var(--text);padding:9px 12px;border-radius:5px;
}
.sprachauswahl__opt:hover{background:var(--sand)}
.sprachauswahl__opt.aktiv{color:var(--rose-tief);font-weight:500}
.sprachauswahl-wrap--mobil{padding:16px 28px 22px}

/* ---------- Musik-Player ---------- */
.musik-btn{
  position:fixed;right:24px;bottom:24px;z-index:150;
  width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;
  background:var(--rose-tief);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(61,55,51,.25);transition:transform .2s ease;
}
.musik-btn:hover{transform:scale(1.06)}
.musik-btn svg{width:20px;height:20px}
.musik-btn.spielt{animation:musik-puls 2.4s ease-in-out infinite}
@keyframes musik-puls{
  0%,100%{box-shadow:0 0 0 0 rgba(168,131,122,.45)}
  50%{box-shadow:0 0 0 10px rgba(168,131,122,0)}
}
@media (max-width:760px){.musik-btn{right:16px;bottom:16px;width:44px;height:44px}}


.formular{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.formular input[type=text]{flex:1 1 200px;min-width:0;font:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:12px 2px;outline:0;color:inherit}
.formular input::placeholder{color:inherit;opacity:.75}
.popup-box{border-radius:0}.popup-box h3{font-family:var(--serif);font-weight:200}
.popup-schreib{font-family:var(--hand);font-weight:700;font-size:1.4em;line-height:1;top:0;color:var(--rosenholz)}
.musik-btn{background:var(--rosenholz)}

/* Musikknopf ausgeblendet, bis eine Musikdatei da ist */
.musik-btn{display:none}
