@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(/fonts/m400.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:500;font-display:swap;src:url(/fonts/m500.woff2) format("woff2")}
@font-face{font-family:Lora;font-weight:400;font-display:swap;src:url(/fonts/l400.woff2) format("woff2")}
@font-face{font-family:Lora;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/l400i.woff2) format("woff2")}
@font-face{font-family:Lora;font-weight:500;font-display:swap;src:url(/fonts/l500.woff2) format("woff2")}
:root{--night:#10152a;--dusk:#2a2340;--plum:#5a3f5e;--gold:#e8c38a;--amber:#e9a56e;--cream:#f7f0e6;--cream2:#efe4d4;--ink:#2d2a38;--soft:#5b566a;--serif:Lora,Georgia,serif;--sans:Montserrat,system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:72px}
body{font:500 16px/1.75 var(--sans);color:var(--ink);background:var(--cream)}
img,svg{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--night);padding:8px 14px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2}
h2{font-size:clamp(28px,4vw,40px);margin-bottom:24px}
h3{font-size:22px;margin:0 0 8px}
p+p{margin-top:1em}
/* Header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(16,21,42,.82);backdrop-filter:blur(8px);color:var(--cream);border-bottom:1px solid rgba(232,195,138,.18)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:400 20px var(--serif);letter-spacing:.12em;text-transform:uppercase}
.brand img{width:37px;height:44px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;opacity:.88}
.nav a:hover{opacity:1;color:var(--gold)}
.btn{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:12px 26px;border-radius:40px;text-decoration:none;font-size:13px;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,color .3s,box-shadow .3s}
.btn:hover{background:var(--gold);color:var(--night);box-shadow:0 0 28px rgba(232,195,138,.45)}
.btn.dark{border-color:var(--plum);color:var(--plum)}
.btn.dark:hover{background:var(--plum);color:var(--cream);box-shadow:none}
.nav .btn{padding:9px 20px}
.burger{display:none;background:none;border:1px solid var(--gold);color:var(--gold);width:44px;height:44px;border-radius:50%;font-size:18px;cursor:pointer}
/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;color:var(--cream);overflow:hidden;background:radial-gradient(ellipse 60% 45% at 72% 62%,rgba(255,214,150,.75),rgba(233,165,110,.45) 30%,transparent 62%),linear-gradient(180deg,#141a33 0%,#3b2d52 38%,#a4627a 66%,#e9a56e 88%)}
.hero:before,.sec-dark:before{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:url(/img/berge.svg) center bottom/cover no-repeat;pointer-events:none}
.hero .wrap{position:relative;padding-top:110px;padding-bottom:140px}
.hero h1{font-size:clamp(40px,7vw,76px);margin-bottom:16px}
.hero .lead{font:400 clamp(17px,2.2vw,22px)/1.5 var(--sans);letter-spacing:.04em;max-width:560px;margin-bottom:28px}
.hero h2{font-size:clamp(24px,3vw,32px);color:var(--gold);margin-bottom:12px}
.hero em{display:block;max-width:520px;font-style:italic;font-family:var(--serif);opacity:.92;margin-bottom:34px}
.lotus-big{position:absolute;right:12%;top:46%;width:110px;height:auto;opacity:.55;filter:drop-shadow(0 0 14px rgba(232,195,138,.7))}
/* Sections */
section{position:relative;padding:96px 0}
.sec-cream{background:linear-gradient(135deg,var(--cream),var(--cream2))}
.sec-dark{background:linear-gradient(180deg,#171c35,#2a2340 60%,#4b3659);color:var(--cream);overflow:hidden}
.sec-dark .wrap{position:relative}
.sec-dark h2,.sec-dark h3{color:var(--gold)}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:12px}
.quote{margin-top:32px;font:400 clamp(20px,2.6vw,26px)/1.5 var(--serif);font-style:italic;color:var(--plum);border-left:2px solid var(--gold);padding-left:22px;max-width:640px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.checks{list-style:none;padding:0;display:grid;gap:12px}
.checks li{position:relative;padding-left:34px}
.checks li:before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border:1.5px solid var(--amber);border-radius:50%;background:radial-gradient(circle,var(--amber) 35%,transparent 40%)}
.note{margin-top:36px;font-size:15px;color:var(--soft);font-style:italic}
/* Angebot */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:36px}
.card{background:rgba(255,255,255,.07);border:1px solid rgba(232,195,138,.28);border-radius:18px;padding:30px;transition:transform .4s,box-shadow .4s,border-color .4s}
.card:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 12px 36px rgba(0,0,0,.35),0 0 30px rgba(232,195,138,.15)}
.meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 14px;font-size:15px}
.price{color:var(--gold);font-weight:500}
.intro{max-width:720px}
.small{font-size:15px;opacity:.85;margin-top:28px;max-width:760px}
/* Ablauf / Über mich / FAQ */
.sec-rose{background:linear-gradient(180deg,#f3e3da,#f7f0e6)}
.hint{background:#fff;border-left:3px solid var(--gold);padding:26px 30px;border-radius:0 14px 14px 0;box-shadow:0 6px 24px rgba(90,63,94,.08)}
.quote-band{padding:100px 0;text-align:center}
.quote-band blockquote{font:400 clamp(20px,2.8vw,28px)/1.6 var(--serif);font-style:italic;max-width:760px;margin:0 auto 18px;color:var(--cream)}
.quote-band cite{color:var(--gold);font-style:normal;letter-spacing:.14em;font-size:13px;text-transform:uppercase}
.contact dl{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;margin:24px 0 32px}
.contact dt{color:var(--gold);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding-top:4px}
/* Footer */
.ftr{background:#0c1022;color:var(--cream);padding:48px 0 28px;font-size:15px}
.ftr .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.ftr nav{display:flex;flex-wrap:wrap;gap:22px}
.ftr a{text-decoration:none;opacity:.85}.ftr a:hover{opacity:1;color:var(--gold)}
.ftr .by{text-align:center;font-size:13px;margin-top:30px;opacity:.75}
/* Rechtliche Seiten */
.legal{padding:130px 0 80px;background:var(--cream);min-height:70vh}
.legal h1{font-size:clamp(32px,5vw,48px);margin-bottom:28px}
.legal h2{font-size:24px;margin:34px 0 12px}
.legal ul{padding-left:22px}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.hero .lotus-big{animation:glow 5s ease-in-out infinite}@keyframes glow{50%{opacity:.85}}}
@media (max-width:860px){
.burger{display:block}
.nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:rgba(16,21,42,.97);padding:12px 24px 24px}
.nav.open{display:flex}.nav a{padding:12px 0;font-size:14px}
.cols,.cards{grid-template-columns:1fr}.cols{gap:28px}
section{padding:72px 0}.lotus-big{display:none}
.brand{font-size:17px}
}
.checks-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px 56px;margin-top:24px;align-items:start}
.checks-wrap .checks{gap:14px}
.narrow{max-width:760px}
.sub{margin-top:44px}
.about:before{height:38%;opacity:.9}
.about .wrap,.contact .wrap{padding-bottom:60px}
.contact{background:linear-gradient(180deg,#2a2340,#5a3f5e 55%,#c27b6c)}
@media (max-width:860px){.checks-wrap{grid-template-columns:1fr}}
.hero .wrap{width:100%}
.lotus-big{right:10%;top:34%}
.eyebrow{color:#a65f33}
.sec-dark .eyebrow{color:var(--amber)}
.cols .quote{align-self:center;text-align:center;margin:0;border-left:0;padding:28px 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);max-width:none}
.steps li{background:#fff;border:1px solid rgba(90,63,94,.14);border-radius:18px;padding:28px 24px;box-shadow:0 8px 28px rgba(90,63,94,.07);position:relative}
.steps .num{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--amber));color:var(--night);font:500 18px var(--serif);margin-bottom:16px}
.steps h3{font-size:19px;margin-bottom:10px}
.steps p{font-size:15px}
.audio{margin-top:28px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px;padding:36px 40px;border-radius:20px;color:var(--cream);background:linear-gradient(135deg,#171c35,#3b2d52 70%,#5a3f5e);box-shadow:0 14px 40px rgba(16,21,42,.25)}
.audio h3{color:var(--gold);font-size:22px}
.audio p{font-size:15px}
.steps{list-style:none;padding:0;display:grid;margin-top:36px;grid-template-columns:repeat(2,1fr);column-gap:64px;row-gap:72px}
@media (max-width:640px){.steps-svg{display:none}.steps{grid-template-columns:1fr;gap:20px}.audio{grid-template-columns:1fr;gap:16px;padding:28px 24px}}
.faq{margin-top:8px;display:flex;flex-direction:column;gap:10px}
.ac{background:#fff;border:1px solid rgba(90,63,94,.14);border-radius:12px;overflow:hidden;transition:border-color .42s,box-shadow .42s}
.ac h3{margin:0;font-size:inherit}
.ac button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;font:400 19px/1.4 var(--serif);color:var(--ink)}
.ac button:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}
.pl{flex:none;width:16px;height:16px;position:relative;color:var(--amber)}
.pl:before,.pl:after{content:"";position:absolute;left:1px;right:1px;top:7px;height:2px;background:currentColor;border-radius:2px;transition:transform .42s}
.pl:after{transform:rotate(90deg)}
.ac.open .pl:after{transform:rotate(0)}
.ac.open{border-color:var(--amber);box-shadow:0 8px 26px rgba(90,63,94,.1)}
.a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1)}
.a>div{overflow:hidden;min-height:0}
.a p{margin:0;padding:0 22px 20px;font-size:15px}
.ac.open .a{grid-template-rows:1fr}
@media (prefers-reduced-motion:reduce){.a,.pl:before,.pl:after,.ac{transition-duration:1ms}}
.hero .lead{max-width:none}
.hero .btn,.contact .btn{background:linear-gradient(135deg,var(--gold),var(--amber));color:var(--night);border-color:transparent;font-weight:500;box-shadow:0 6px 24px rgba(233,165,110,.35)}
.hero .btn:hover,.contact .btn:hover{background:var(--cream);color:var(--night);box-shadow:0 0 32px rgba(255,236,200,.6)}
.hero h2{margin-bottom:28px}
.hero-quote{margin:64px auto 0;max-width:780px;text-align:center;font:italic 400 clamp(21px,2.8vw,30px)/1.5 var(--serif);color:var(--cream);text-shadow:0 2px 18px rgba(16,21,42,.55)}
.hero-quote:before{content:"";display:block;width:64px;height:2px;margin:0 auto 22px;background:var(--gold)}
.hero .wrap{padding-bottom:170px}
@media (max-width:480px){.hero .btn{letter-spacing:.06em;padding:13px 20px;font-size:12px}}
.steps{position:relative}.steps-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
section+section,.ftr{border-top:1px solid #e8c38a}
.ftr .by{margin-top:30px;padding-top:24px;border-top:1px solid #e8c38a}
.about .narrow{max-width:none}
.faqw{max-width:848px}
.steps.anim li{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}
.steps.anim li.show{opacity:1;transform:none}
.steps li.show:hover,.steps:not(.anim) li:hover{transform:translateY(-5px);border-color:var(--amber);box-shadow:0 16px 38px rgba(90,63,94,.16),0 0 0 1px rgba(233,165,110,.35);transition:transform .3s,box-shadow .3s,border-color .3s}
.steps li{transition:transform .3s,box-shadow .3s,border-color .3s}
.audio{transition:transform .3s,box-shadow .3s}
.audio:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(16,21,42,.35),0 0 30px rgba(232,195,138,.18)}
.ac:hover{border-color:var(--amber)}
@keyframes march{to{stroke-dashoffset:-18}}
@media (prefers-reduced-motion:no-preference){.rope{animation:march 3s linear infinite}}
@media (prefers-reduced-motion:reduce){.steps.anim li{opacity:1;transform:none;transition:none}}
