html,body{margin:0}
[hidden]{display:none!important}

/* Layout: ruhige Bänder im Wechsel (Papier, Sand, Braun, Waldgrün); das Wappen-Siegel ist das eine laute Element. */
:root{
  color-scheme: light;
  --paper:#F4EFE6; --cream:#FBF8F2; --sand:#D9CFC1; --line:#C6B9A5;
  --ink:#3A2F28; --ink-soft:#5A4D43;
  --forest:#2F4A3E; --forest-deep:#243A30;
  --terra:#B36A4C; --terra-ink:#964E33; --terra-btn:#A2583B;
  --on-dark:#F4EFE6; --on-dark-soft:#D9CFC1;
  --display:"Playfair Display", Georgia, "Times New Roman", serif;
  --caps:"Cinzel", "Trajan Pro", Georgia, serif;
  --body:"Hanken Grotesk", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --maxw:1180px; --gutter:clamp(16px,4vw,40px);
  --fs-hero:clamp(2.45rem,5.4vw,4.5rem); --fs-h2:clamp(1.85rem,3.5vw,3rem); --fs-h3:clamp(1.25rem,1.9vw,1.5rem);
  --radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.12;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:var(--fs-hero)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3);line-height:1.25}
em{font-style:italic}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:clamp(64px,9vw,124px)}
.sec[id],.anchor{scroll-margin-top:84px}
.label{font-family:var(--caps);font-weight:600;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-ink)}
.lead{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.55;color:var(--ink-soft);max-width:34em}
.stack{display:flex;flex-direction:column;gap:1.1rem}
.stack-lg{display:flex;flex-direction:column;gap:clamp(2rem,4vw,3.5rem)}
.measure{max-width:38em}
.accent{color:var(--terra-ink)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:54px;padding:.8rem 1.5rem;border-radius:999px;border:2px solid transparent;font-family:var(--body);font-weight:700;font-size:1.05rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease}
.btn svg{width:1.25em;height:1.25em;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--terra-btn);color:var(--cream)}
.btn-primary:hover{background:var(--terra-ink)}
.btn-forest{background:var(--forest);color:var(--cream)}
.btn-forest:hover{background:var(--forest-deep)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-light{background:var(--cream);color:var(--ink)}
.btn-light:hover{background:var(--sand)}
.btn-ghost-light{background:transparent;color:var(--on-dark);border-color:var(--on-dark-soft)}
.btn-ghost-light:hover{background:var(--on-dark);color:var(--ink)}
.btn small{font-weight:500;opacity:.85}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem}

/* Kopfzeile */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(244,239,230,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}
.brand svg{width:64px;height:auto;flex:none;color:var(--forest)}
.brand-word{display:flex;flex-direction:column;font-family:var(--caps);font-weight:700;line-height:1.05;letter-spacing:.09em;font-size:.98rem}
.brand-word span:first-child{color:var(--forest)}
.brand-word span:last-child{color:var(--terra-ink)}
.nav{display:none;gap:1.6rem;font-size:.98rem;font-weight:600}
.nav a{text-decoration:none;padding-block:.4rem;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--terra)}
.top .btn{min-height:44px;padding:.5rem 1.1rem;font-size:.95rem;white-space:nowrap}
@media (min-width:1020px){.nav{display:flex}}
@media (max-width:460px){.brand svg{width:48px}.brand-word{font-size:.8rem}.top .btn{font-size:.85rem;padding:.45rem .85rem}}

/* Hero */
.hero{padding-block:clamp(36px,6vw,84px) clamp(72px,9vw,120px)}
.hero-grid{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero-text{display:flex;flex-direction:column;gap:1.4rem;min-width:0}
.hero h1 em{color:var(--terra-ink);font-weight:500}
.hero-facts{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;font-size:.98rem;font-weight:600;color:var(--ink-soft);padding-top:.4rem}
.hero-facts li{display:flex;align-items:center;gap:.55rem}
.hero-facts li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--terra);flex:none}
.hero-photo{position:relative;min-width:0}
.hero-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);box-shadow:0 24px 50px -28px rgba(58,47,40,.55)}
.hero-photo figcaption{font-size:.9rem;color:var(--ink-soft);padding-top:.7rem;text-align:right}
.hero-seal{position:absolute;left:clamp(-34px,-2.4vw,-10px);bottom:clamp(-6px,1vw,14px);width:clamp(112px,15vw,178px);transform:rotate(-7deg);filter:drop-shadow(0 12px 16px rgba(58,47,40,.35))}
@media (max-width:939px){.hero-seal{left:6px}}
@media (min-width:940px){.hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.hero-photo img{aspect-ratio:5/4.4}}

/* Siegel (Wappen) */
.seal{display:block;width:100%;height:auto}
.seal text{font-family:var(--caps)}
.seal .s-sub{font-family:var(--display);font-style:italic}

/* Du kennst das */
.mirror{background:var(--sand)}
.mirror-grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:start}
.thoughts{display:grid;gap:1rem}
.thought{background:var(--cream);border-radius:var(--radius);padding:1.5rem 1.5rem 1.6rem;font-family:var(--display);font-size:clamp(1.15rem,1.7vw,1.35rem);line-height:1.35;font-style:italic;color:var(--ink)}
.mirror-close{border-top:1px solid var(--line);padding-top:clamp(1.6rem,3vw,2.4rem);display:grid;gap:1.2rem}
.mirror-close p{max-width:36em}
.mirror-close strong{font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,2.2vw,1.8rem);line-height:1.25;display:block;max-width:24em}
@media (min-width:700px){.thoughts{grid-template-columns:repeat(2,minmax(0,1fr))}.thought:nth-child(even){transform:translateY(1.4rem)}}
@media (min-width:980px){.mirror-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}

/* Film */
.film-sec{background:var(--ink);color:var(--on-dark)}
.film-sec .label{color:var(--sand)}
.film-sec .lead{color:var(--on-dark-soft)}
.film-head{display:grid;gap:1rem;max-width:44em}
.film{position:relative;aspect-ratio:16/9;max-width:100%;background:#1c1613;border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.film video,.film canvas,.film .film-end{position:absolute;inset:0;width:100%;height:100%}
.film video{object-fit:contain;background:#1c1613}
.film #teaser{object-fit:cover}
.film canvas{object-fit:contain}
.film-start{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(180deg,rgba(28,22,19,.15),rgba(28,22,19,.55));border:0;color:var(--cream);cursor:pointer;font-family:var(--body);padding:1rem}
.film-start .disc{width:clamp(76px,10vw,112px);height:clamp(76px,10vw,112px);border-radius:50%;background:var(--terra-btn);display:grid;place-items:center;transition:transform .2s ease;box-shadow:0 0 0 10px rgba(244,239,230,.22)}
.film-start:hover .disc{transform:scale(1.07)}
.film-start .disc svg{width:38%;height:38%;margin-left:6%}
.film-start b{font-family:var(--display);font-weight:600;font-size:clamp(1.2rem,2.4vw,1.8rem);text-shadow:0 2px 14px rgba(0,0,0,.6)}
.film-start span{font-weight:600;font-size:.98rem;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.film-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.6rem;padding:1.6rem .8rem .7rem;background:linear-gradient(180deg,rgba(28,22,19,0),rgba(28,22,19,.82));color:var(--cream);transition:opacity .25s ease}
.film.is-idle .film-bar{opacity:0}
.film-bar button{width:44px;height:44px;flex:none;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--cream);cursor:pointer}
.film-bar button:hover{background:rgba(244,239,230,.18)}
.film-bar svg{width:22px;height:22px}
.film-time{font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.film-seek{flex:1;min-width:0;accent-color:var(--terra);height:28px;cursor:pointer}
.film-wait{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(28,22,19,.78);color:var(--cream);font-weight:600;font-size:.98rem;padding:.6rem 1.1rem;border-radius:999px}
.film-end{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;text-align:center;padding:1.2rem;background:linear-gradient(rgba(28,22,19,.8),rgba(28,22,19,.8)),url("/img/film-poster.jpg") center/cover no-repeat;color:var(--cream)}
.film-end b{font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,2.6vw,2rem)}
.film-foot{display:grid;gap:1.4rem;align-items:start}
.film-quote{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.3;color:var(--on-dark)}
.film-quote cite{display:block;font-family:var(--body);font-style:normal;font-size:.95rem;font-weight:600;color:var(--on-dark-soft);padding-top:.6rem}
.film-alt{font-size:.98rem;color:var(--on-dark-soft)}
.film-alt a{color:var(--on-dark);font-weight:600}
@media (min-width:860px){.film-foot{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.film-alt{text-align:right}}

/* Der Weg */
.way-steps{display:grid;gap:1.6rem;counter-reset:way}
.way-step{position:relative;display:flex;flex-direction:column;gap:.7rem;padding-top:1.5rem;border-top:2px solid var(--forest);min-width:0}
.way-step .label{color:var(--forest)}
.way-step p{color:var(--ink-soft)}
.way-cta{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem);display:grid;gap:1.2rem;align-items:center}
.way-cta p{font-family:var(--display);font-weight:600;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.3}
@media (min-width:860px){.way-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4rem}.way-cta{grid-template-columns:minmax(0,1fr) auto}}

/* Ausbildungsreise */
.kur{background:var(--forest);color:var(--on-dark)}
.kur .label{color:var(--sand)}
.kur h2{font-size:clamp(2rem,4.4vw,3.7rem);max-width:17em}
.kur h2 em{color:#E9B79E;font-weight:500}
.kur .lead{color:var(--on-dark-soft)}
.kur-grid{display:grid;gap:1.2rem}
.kur-item{display:flex;flex-direction:column;gap:.9rem;min-width:0}
.kur-item img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius)}
.kur-item h3{color:var(--on-dark)}
.kur-item p{color:var(--on-dark-soft);font-size:1.05rem}
.kur-quote{border-left:3px solid var(--terra);padding-left:clamp(1rem,2.4vw,1.8rem);font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.3vw,1.9rem);line-height:1.3;max-width:30em}
.kur-quote cite{display:block;font-family:var(--body);font-style:normal;font-weight:600;font-size:.95rem;color:var(--on-dark-soft);padding-top:.7rem}
.kur-facts{display:grid;gap:.8rem 2rem;font-weight:600;padding-top:.4rem}
.kur-facts li{display:flex;gap:.7rem;align-items:baseline}
.kur-facts li::before{content:"";width:.5em;height:.9em;border-right:3px solid #E9B79E;border-bottom:3px solid #E9B79E;transform:rotate(40deg) translateY(-.1em);flex:none}
@media (min-width:700px){.kur-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.6rem}.kur-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1020px){.kur-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.kur-item{grid-column:span 2}.kur-item.wide{grid-column:span 3}}

/* Siegel-Bereich */
.claim{font-family:var(--display);font-weight:600;font-size:clamp(1.35rem,2.6vw,2.1rem);line-height:1.25;border-block:1px solid var(--line);padding-block:clamp(1.2rem,2.4vw,1.8rem);text-wrap:balance}
.claim span{font-family:var(--caps);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-ink);display:block;padding-bottom:.5rem;font-weight:600}
.seals{display:grid;gap:1.6rem}
.seal-card{border-radius:var(--radius);padding:clamp(1.5rem,3.4vw,2.8rem);display:grid;gap:1.6rem;align-content:start;min-width:0}
.seal-card.sc-light{background:var(--cream);border:1px solid var(--line)}
.seal-card.sc-dark{background:var(--forest-deep);color:var(--on-dark)}
.seal-card.sc-dark .label{color:var(--sand)}
.seal-card.sc-dark p{color:var(--on-dark-soft)}
.seal-head{display:grid;grid-template-columns:clamp(104px,30%,184px) minmax(0,1fr);gap:clamp(1rem,2.4vw,1.8rem);align-items:center}
.seal-head .seal{filter:drop-shadow(0 10px 14px rgba(58,47,40,.28))}
.seal-head .stack{gap:.5rem}
.checks{display:grid;gap:.15rem}
.checks li{display:flex;gap:.9rem;align-items:baseline;padding-block:.7rem;border-bottom:1px solid var(--line);font-weight:600}
.seal-card.sc-dark .checks li{border-bottom-color:rgba(217,207,193,.28)}
.checks li::before{content:"";width:.5em;height:.95em;border-right:3px solid var(--terra);border-bottom:3px solid var(--terra);transform:rotate(40deg) translateY(-.12em);flex:none}
.seal-card.sc-dark .checks li::before{border-color:#E9B79E}
.checks li span{font-weight:400;color:var(--ink-soft);display:block;font-size:1rem}
.seal-card.sc-dark .checks li span{color:var(--on-dark-soft)}
.seal-note{font-size:1rem}
.proof{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.proof figure{position:relative;min-width:0}
.proof img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.proof figcaption{font-family:var(--caps);font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;padding-top:.6rem;color:var(--ink-soft)}
.rule{background:var(--sand);border-radius:var(--radius);padding:clamp(1.3rem,3vw,2rem);display:grid;gap:.5rem}
.rule strong{font-family:var(--display);font-weight:600;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.3}
@media (min-width:900px){.seals{grid-template-columns:repeat(2,minmax(0,1fr))}.proof{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Stufen */
.steps-sec{background:var(--sand)}
.stairs{display:grid;gap:1.2rem}
.stair{position:relative;background:var(--cream);border-radius:var(--radius);padding:clamp(1.4rem,2.6vw,2rem);display:flex;flex-direction:column;gap:1rem;min-width:0}
.stair .num{font-family:var(--display);font-weight:600;font-size:3.4rem;line-height:.9;color:var(--terra)}
.stair .label{color:var(--ink-soft)}
.stair ul{display:grid;gap:.5rem;font-size:1.02rem}
.stair li{display:flex;gap:.7rem;align-items:baseline}
.stair li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--terra);flex:none;transform:translateY(-.15em)}
.stair-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.stair-top .seal{width:clamp(88px,9.5vw,124px);flex:none;filter:drop-shadow(0 8px 12px rgba(58,47,40,.25))}
.stair .goal{font-weight:700;font-size:1rem;color:var(--terra-ink)}
.stair.first{background:var(--forest);color:var(--on-dark)}
.stair.first .num{color:#E9B79E}
.stair.first .label{color:var(--sand)}
.stair.first li::before{background:#E9B79E}
.stair.first p{color:var(--on-dark-soft)}
.price{border-top:1px solid var(--line);padding-top:1rem;display:grid;gap:.35rem;margin-top:auto}
.price b{font-family:var(--display);font-weight:600;font-size:clamp(2.3rem,3.6vw,2.9rem);line-height:1.05;color:var(--ink);font-variant-numeric:lining-nums;display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .6rem}
.price b small{font-family:var(--body);font-size:1rem;font-weight:600;color:var(--ink-soft)}
.price span{font-size:.95rem;color:var(--ink-soft)}
.price .pre{font-weight:700;font-size:1rem;color:var(--ink)}
.price b i{font:600 1.35rem/1 var(--body);font-style:normal;margin-left:-.45rem;align-self:flex-start;padding-top:.15rem}
.price .fn{font-size:.88rem;line-height:1.5;border-top:1px dashed var(--line);padding-top:.7rem;margin-top:.45rem}
.stair.first .price{border-top-color:rgba(217,207,193,.35)}
.stair.first .price .pre{color:var(--on-dark)}
.stair.first .price .fn{border-top-color:rgba(217,207,193,.35)}
.stair.first .price b{color:var(--on-dark)}
.stair.first .price b small,.stair.first .price span{color:var(--on-dark-soft)}
.stair .more{font-size:.95rem;color:var(--ink-soft)}
.stairs-wrap{display:grid;gap:1.2rem}
.retreat{background:var(--ink);color:var(--on-dark);border-radius:var(--radius);padding:clamp(1.5rem,3.2vw,2.4rem);display:grid;gap:1.2rem 3rem;align-items:center}
.retreat .label{color:var(--sand)}
.retreat h3{font-size:clamp(1.4rem,2.5vw,2rem);color:var(--on-dark)}
.retreat p{color:var(--on-dark-soft)}
.retreat .note{font-size:.95rem;border-top:1px solid rgba(217,207,193,.3);padding-top:.9rem}
.retreat .note-2{border-top:0;padding-top:0}
.retreat .stack{gap:.6rem}
@media (min-width:900px){
  .stairs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .stair:nth-child(1){margin-top:88px}
  .stair:nth-child(2){margin-top:44px}
  .retreat{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
}

/* Für wen */
.fit-grid{display:grid;gap:1.4rem}
.door{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,2.8vw,2.2rem);display:flex;flex-direction:column;gap:.8rem;min-width:0}
.door p{color:var(--ink-soft)}
.fit-lists{display:grid;gap:1.6rem}
.fit-lists h3{padding-bottom:.6rem}
.yes li,.no li{display:flex;gap:.9rem;align-items:baseline;padding-block:.55rem;border-bottom:1px solid var(--line)}
.yes li::before{content:"";width:.5em;height:.95em;border-right:3px solid var(--forest);border-bottom:3px solid var(--forest);transform:rotate(40deg) translateY(-.12em);flex:none}
.no li::before{content:"";width:.8em;height:3px;background:var(--terra);flex:none;transform:translateY(-.3em)}
@media (min-width:860px){.fit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fit-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}}

/* Über uns */
.team{background:var(--cream)}
.people{display:grid;gap:2rem}
.person{display:grid;gap:1.2rem;align-content:start;min-width:0}
.person img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius)}
.person p{color:var(--ink-soft)}
.person blockquote{font-family:var(--display);font-style:italic;font-size:1.3rem;line-height:1.3;color:var(--ink);border-left:3px solid var(--terra);padding-left:1rem}
.stance{display:grid;gap:1.6rem;align-items:center}
.stance img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius)}
.stance ul{display:grid;gap:.2rem;font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2}
.stance li:last-child{color:var(--terra-ink)}
@media (min-width:860px){.people{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.stance{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem}}

/* Fragen */
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-block:1.15rem;font-family:var(--display);font-weight:600;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--body);font-weight:400;font-size:1.8rem;line-height:1;color:var(--terra-ink);flex:none}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:1.3rem;color:var(--ink-soft);max-width:40em}
.faq-grid{display:grid;gap:2rem}
@media (min-width:940px){.faq-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:4rem}}

/* Vorstellen */
.intro-sec{position:relative;color:var(--on-dark);background:var(--ink);isolation:isolate}
.intro-sec::before{content:"";position:absolute;inset:0;background:url("/img/weg.jpg") center 30%/cover no-repeat;z-index:-2}
.intro-sec::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(40,31,26,.93) 0%,rgba(40,31,26,.86) 45%,rgba(40,31,26,.62) 100%);z-index:-1}
.intro-sec .label{color:var(--sand)}
.intro-sec .lead{color:var(--on-dark-soft)}
.intro-grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:start}
.intro-sec h2{font-size:clamp(2.2rem,5vw,4rem)}
.channels{display:grid;gap:.9rem}
.channels .btn{justify-content:flex-start;border-radius:var(--radius);min-height:68px;padding:.9rem 1.2rem;text-align:left}
.channels .btn span{display:flex;flex-direction:column;gap:.1rem}
.channels .btn svg{width:1.6em;height:1.6em}
.direct{display:grid;gap:.9rem;font-size:1.02rem;border-top:1px solid rgba(217,207,193,.35);padding-top:1.2rem}
.direct div{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}
.direct b{user-select:all;font-size:1.15rem}
.copy{border:1px solid var(--on-dark-soft);background:transparent;color:var(--on-dark);border-radius:999px;padding:.3rem .85rem;font:600 .85rem var(--body);cursor:pointer;min-height:36px}
.copy:hover{background:var(--on-dark);color:var(--ink)}
.helper{background:var(--cream);color:var(--ink);border-radius:var(--radius);padding:clamp(1.3rem,3vw,2.2rem);display:grid;gap:1.1rem;min-width:0}
.helper h3{font-size:clamp(1.3rem,2vw,1.6rem)}
.helper>p{color:var(--ink-soft);font-size:1rem}
.field{display:grid;gap:.35rem}
.field label,.field legend{font-weight:700;font-size:.95rem;padding:0}
.field input,.field select,.field textarea{width:100%;font:400 1.05rem var(--body);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem;min-height:48px}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--terra);outline-offset:1px;border-color:var(--terra)}
.pair{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
.radios{display:grid;gap:.5rem}
.radios label{display:flex;gap:.6rem;align-items:center;font-weight:500;font-size:1rem;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:.6rem .8rem;cursor:pointer;min-height:48px}
.radios input{width:20px;height:20px;min-height:0;flex:none;accent-color:var(--forest);padding:0}
.helper .btn{width:100%}
.helper .hint{font-size:.9rem;color:var(--ink-soft)}
@media (min-width:940px){.intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}}
@media (max-width:420px){.pair{grid-template-columns:minmax(0,1fr)}}

/* Fuß */
.foot{background:#2B221D;color:var(--on-dark-soft);font-size:.98rem;padding-block:clamp(40px,6vw,72px)}
.foot-grid{display:grid;gap:2rem}
.foot .brand svg{color:var(--sand)}
.foot .brand-word span:first-child{color:var(--on-dark)}
.foot .brand-word span:last-child{color:#E9B79E}
.foot a{color:var(--on-dark)}
.foot-links{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.foot small{font-size:.88rem;display:block;margin-top:2rem;padding-top:1.4rem;border-top:1px solid rgba(217,207,193,.22)}
@media (min-width:860px){.foot-grid{grid-template-columns:1.1fr 1fr 1fr}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.film-start .disc{transition:none}.btn:hover{transform:none}}

.offer .retreat{grid-template-columns:1fr}
.stage-card .price{border-top:0;padding-top:.3rem}
/* Mobilmenü */
.menu{position:relative;display:block}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.4rem .9rem;border:1.5px solid var(--ink);border-radius:999px;font-weight:700;font-size:.95rem}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor}
.menu nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 40px -20px rgba(58,47,40,.5);display:grid;min-width:230px;padding:.5rem}
.menu nav a{text-decoration:none;font-weight:600;padding:.75rem .9rem;border-radius:4px}
.menu nav a:hover{background:var(--paper)}
.menu nav a[aria-current="page"]{color:var(--terra-ink)}
.top-actions{display:flex;align-items:center;gap:.6rem}
@media (min-width:1020px){.menu{display:none}}
@media (max-width:460px){.top .menu summary{padding:.4rem .7rem;font-size:.85rem}.top .top-actions .btn{display:none}}
.nav a[aria-current="page"]{border-bottom-color:var(--terra);color:var(--terra-ink)}

/* Unterseiten */
.page-hero{padding-block:clamp(32px,5vw,72px) clamp(56px,8vw,104px)}
.crumbs{font-size:.9rem;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:.4rem}
.crumbs a{color:var(--ink-soft)}
.page-hero .hero-photo img{aspect-ratio:4/3}
.phases{display:grid;gap:1.4rem;counter-reset:ph}
.phase{border-top:2px solid var(--forest);padding-top:1.3rem;display:grid;gap:.6rem;min-width:0}
.phase .label{color:var(--forest)}
.phase p{color:var(--ink-soft)}
@media (min-width:860px){.phases{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}}
.note-box{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,2.6vw,1.8rem);display:grid;gap:.4rem}
.note-box strong{font-family:var(--display);font-weight:600;font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.3}
.offer{display:grid;gap:1.6rem;align-items:start}
.offer .stair{margin:0}
@media (min-width:900px){.offer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.offer-side{display:grid;gap:1.2rem;align-content:start}
.next{display:grid;gap:1rem;align-items:center;background:var(--forest);color:var(--on-dark);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem)}
.next .label{color:var(--sand)}
.next p{color:var(--on-dark-soft)}
@media (min-width:860px){.next{grid-template-columns:minmax(0,1fr) auto}}
.stage-card .price{margin-top:0}
.stage-card .retreat-line{font-size:1rem;border-top:1px solid var(--line);padding-top:1rem}
.seal-card.sc-dark .retreat-line{border-top-color:rgba(217,207,193,.28)}
.seal-card.sc-dark .price{border-top-color:rgba(217,207,193,.28)}
.seal-card.sc-dark .price b{color:var(--on-dark)}
.seal-card.sc-dark .price b small,.seal-card.sc-dark .price span{color:var(--on-dark-soft)}
.cta-band{background:var(--ink);color:var(--on-dark);position:relative;isolation:isolate}
.cta-band::before{content:"";position:absolute;inset:0;background:url("/img/weg.jpg") center 30%/cover no-repeat;z-index:-2}
.cta-band::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(40,31,26,.94) 0%,rgba(40,31,26,.84) 55%,rgba(40,31,26,.66) 100%);z-index:-1}
.cta-band .label{color:var(--sand)}
.cta-band .lead{color:var(--on-dark-soft)}
.cta-band h2{font-size:clamp(2rem,4.4vw,3.4rem)}
.place{display:grid;gap:1.6rem;align-items:center}
.place img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius)}
@media (min-width:860px){.place{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem}}

.legal-hero{padding-block:clamp(32px,5vw,64px) clamp(16px,3vw,32px)}
.legal-hero h1{margin-top:.6rem}
.legal{padding-bottom:clamp(64px,9vw,120px)}
.legal-in{max-width:760px}
.legal-in h2{font-size:clamp(1.3rem,2.2vw,1.6rem);margin:2.4rem 0 .8rem}
.legal-in h3{font-size:1.08rem;margin:1.6rem 0 .5rem}
.legal-in p,.legal-in li{color:var(--ink-soft);line-height:1.65;margin:0 0 .8rem;overflow-wrap:anywhere}
.legal-in ul{padding-left:1.2rem}
.legal-in h2,.legal-in h3{overflow-wrap:anywhere;hyphens:auto}
