@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
body{margin:0;background:#070b15}
html{scroll-behavior:smooth}
a{color:inherit}
.btnA{transition:background .2s,color .2s}
.btnA:hover{background:#f3ead8!important;color:#0d1424!important}
.btnR{transition:background .2s}
.btnR:hover{background:#f3d49a!important}
.menuBtn{cursor:pointer;transition:background .2s}
.menuBtn:hover{background:rgba(232,184,106,.14)!important}
.menuBtn:focus-visible,.mLink:focus-visible{outline:2px solid #f3d49a;outline-offset:2px}
.mLink{transition:background .2s,color .2s}
.mLink:hover{background:rgba(232,184,106,.12);color:#e8b86a!important}
.flowSvg{display:block;width:100%;height:auto}
.flowM{display:none}
.fl{stroke-dasharray:12 88;animation:flowMove 3.2s linear infinite}
@keyframes flowMove{from{stroke-dashoffset:12}to{stroke-dashoffset:-88}}
.stepsG{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.stepRow{position:relative;display:flex;justify-content:center;align-items:center;height:104px}
.stL{display:block;margin-bottom:2px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.stL.m{color:#4d5a73}
.stL.g{color:#8a5f12}
.stepLn{position:absolute;top:50%;left:-12px;right:-12px;height:3px;margin-top:-1.5px;background:#d5dbe8}
.st:first-child .stepLn{left:50%}
.st:last-child .stepLn{right:50%}
.sw{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;display:flex;align-items:center;justify-content:center}
.sd{border-radius:50%;background:#f3ead8;transition:transform 1.6s ease-out,background 1.6s ease-out,box-shadow 1.6s ease-out}
.sw:hover .sd{transform:scale(3);background:#e8b86a;box-shadow:0 0 16px 2px #e8b86a;transition:transform .12s,background .12s,box-shadow .12s}
.tw .sd{animation:twk 4.5s ease-in-out infinite}
@keyframes twk{0%,100%{opacity:.35}50%{opacity:1}}
.imgG{position:relative;container-type:inline-size;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:72px;align-items:start;--cw:calc((100cqw - 144px) / 3)}.conn{position:absolute;width:72px;height:56px;z-index:2;overflow:visible}.conn.c1{left:var(--cw);top:calc(var(--cw) * 2 / 3)}.conn.c2{left:calc(var(--cw) * 2 + 72px);top:calc(var(--cw) * 2 / 3 + 56px)}
.imgC{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;border:1px solid #2c3a5a;background:#0d1424}
.imgW:nth-child(2){margin-top:56px}.imgC{box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 1px rgba(232,184,106,.12)}.imgH{margin-top:16px;font-family:"Cormorant Garamond",serif;font-size:27px;line-height:1.15;font-weight:600;color:#f3ead8}.imgX{margin-top:4px;font-size:15px;line-height:1.5;color:#b9c0d0}
.imgT{position:absolute;left:10px;top:10px;padding:4px 11px;border-radius:999px;background:rgba(7,11,21,.7);color:#f3ead8;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.06em}
.kiL{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(7,11,21,.74);color:#f3ead8;font-size:11px;line-height:1.4;letter-spacing:.04em}
.kGrid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:64px;align-items:center}
@media (max-width:900px){.imgG{gap:28px}.conn{display:none}.stepsG{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px 24px}.stepLn{display:none}.kGrid{grid-template-columns:minmax(0,1fr);gap:48px}}
@media (max-width:760px){.conn{display:none}.hdr{justify-content:center!important;text-align:center;gap:22px 16px!important;padding-top:28px!important}.mWrap{display:none!important}.mNav{right:auto!important;left:50%;margin-left:-132px;top:60px!important}.tagL{margin-top:-14px!important;text-align:center!important}.h1{font-size:54px!important}.h2{font-size:38px!important}.flowD{display:none}.flowM{display:block}.cta{padding:16px 26px!important;font-size:16px!important}.heroP{font-size:18px!important}.heroB{padding:56px 24px 96px!important}.heroS{min-height:700px!important}.imgG{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:6px}.imgW{flex:0 0 72%;scroll-snap-align:start}.imgW:nth-child(2){margin-top:0}}
@media (max-width:600px){
.stepsG{grid-template-columns:minmax(0,1fr);gap:28px}
.st{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-areas:"ring num" "ring ttl" "ring txt";column-gap:18px;align-items:start;text-align:left!important}
.stepRow{grid-area:ring;height:72px;margin-top:0!important}
.stRing{width:72px!important;height:72px!important;border-width:5px!important}
.stRing svg{width:28px;height:28px}
.stN{grid-area:num}
.stT{grid-area:ttl;margin:2px 0 4px!important;font-size:26px!important}
.stP{grid-area:txt;margin:0!important;max-width:none!important}
}
.lgL{text-decoration:underline;cursor:pointer}.lgL:hover{color:#e8b86a}
.lgO{position:fixed;inset:0;z-index:50;overflow-y:auto;background:rgba(7,11,21,.86);padding:24px;box-sizing:border-box}
.lgP{position:relative;max-width:760px;margin:32px auto;background:#fff;color:#0d1424;border-radius:14px;padding:44px 40px 40px;box-sizing:border-box;font-size:16px;line-height:1.6}
.lgP h3{margin:26px 0 6px;font-size:15px;letter-spacing:.04em;color:#8a5f12}
.lgP p{margin:0 0 10px;color:#2c3a5a}
.lgH{margin:0;font-family:"Cormorant Garamond",serif;font-size:44px;line-height:1.05;font-weight:500}
.lgX{position:absolute;right:18px;top:16px;border:1px solid #d5dbe8;background:#fff;color:#0d1424;border-radius:999px;padding:8px 16px;font-size:14px;cursor:pointer}.lgX:hover{background:#f4f6fa}
.ph{background:#fff2d6;border-radius:3px;padding:0 4px;color:#7a5410}
/* Cookie-Banner */
.ccW{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:16px;box-sizing:border-box;pointer-events:none}
.ccB{pointer-events:auto;max-width:880px;margin:0 auto;box-sizing:border-box;background:#162038;color:#f3ead8;border:1px solid #2c3a5a;border-radius:16px;padding:26px 28px;box-shadow:0 18px 50px rgba(0,0,0,.5);max-height:calc(100vh - 32px);overflow-y:auto}
.ccH{margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-size:28px;line-height:1.1;font-weight:600}
.ccP{margin:0;font-size:15px;line-height:1.55;color:#d8cfbd}
.ccP a{color:#f3ead8}
.ccA{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ccBtn{flex:1 1 160px;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid transparent;font:600 15px/1 'Inter',system-ui,sans-serif;cursor:pointer;transition:background .2s}
.ccY{background:#e8b86a;color:#0d1424}.ccY:hover{background:#f3d49a}
.ccN{background:#f3ead8;color:#0d1424}.ccN:hover{background:#ffffff}
.ccM{background:transparent;color:#f3ead8;border-color:#8a6a2e}.ccM:hover{border-color:#e8b86a}
.ccBtn:focus-visible,.ccSw:focus-visible{outline:2px solid #f3d49a;outline-offset:3px}
.ccS{margin-top:18px;border-top:1px solid #2c3a5a}
.ccR{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid #2c3a5a}
.ccR b{display:block;font-size:16px}
.ccR small{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:#b9c0d0}
.ccSw{appearance:none;-webkit-appearance:none;flex:none;width:48px;height:28px;margin:2px 0 0;border:0;border-radius:14px;background:#3a4a70;position:relative;cursor:pointer}
.ccSw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#f3ead8;transition:transform .15s}
.ccSw:checked{background:#e8b86a}
.ccSw:checked::after{transform:translateX(20px);background:#0d1424}
.ccSw:disabled{opacity:.6;cursor:not-allowed}
@media (max-width:600px){.ccB{padding:20px 18px}.ccH{font-size:24px}}
@media (prefers-reduced-motion:reduce){.ccBtn,.ccSw::after{transition:none}}
/* Anfrageformular */
.fmF{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.fmRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fmL{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#0d1424}
.fmL small{font-size:14px;font-weight:400;color:#4d5a73}
.fmI{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid #b9c0d0;border-radius:10px;background:#ffffff;color:#0d1424;font:400 16px/1.4 'Inter',system-ui,sans-serif}
textarea.fmI{min-height:140px;resize:vertical}
.fmI:focus{outline:2px solid #a9771f;outline-offset:1px;border-color:#a9771f}
.fmHp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmN{margin:0;font-size:14px;line-height:1.5;color:#4d5a73}
.fmErr{padding:12px 14px;border:1px solid #e3b4b0;border-radius:10px;background:#fff3f2;color:#8a1c1c;font-size:15px;line-height:1.5}
.fmS{align-self:flex-start;min-height:52px;padding:0 34px;border:0;border-radius:999px;background:#0d1424;color:#f3ead8;font:600 16px/1 'Inter',system-ui,sans-serif;cursor:pointer;transition:background .2s}
.fmS:hover{background:#162038}
.fmS:disabled{opacity:.6;cursor:wait}
.fmS:focus-visible{outline:2px solid #a9771f;outline-offset:3px}
@media (max-width:600px){.fmRow{grid-template-columns:minmax(0,1fr)}.fmS{align-self:stretch}}
@media (prefers-reduced-motion:reduce){.fmS{transition:none}}
@media (max-width:600px){.lgO{padding:12px}.lgP{margin:12px auto;padding:56px 22px 28px}.lgH{font-size:36px}}
/* Bewegung */
.aSpin{transform-origin:150px 235px;animation:spinK 14s linear infinite}
.aSpinR{transform-origin:150px 235px;animation:spinK 9s linear infinite reverse}
.aSpin2{transform-origin:150px 372px;animation:spinK 5s linear infinite}
@keyframes spinK{to{transform:rotate(360deg)}}
.aLens{animation:lensK 7s ease-in-out infinite}
@keyframes lensK{0%,100%{transform:translate(0,0)}25%{transform:translate(-62px,-96px)}50%{transform:translate(-44px,-150px)}75%{transform:translate(-86px,-60px)}}
.aPulse{animation:pulseK 3s ease-in-out infinite}.aPulse.d2{animation-delay:1.4s}
@keyframes pulseK{0%,100%{opacity:.35}50%{opacity:1}}
.aDash{animation:dashK 1.6s linear infinite}
@keyframes dashK{to{stroke-dashoffset:-22}}
.aBob{animation:bobK 4s ease-in-out infinite}
@keyframes bobK{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.aBar{transform-box:fill-box;transform-origin:bottom;animation:barK 4.5s ease-in-out infinite}
@keyframes barK{0%,100%{transform:scaleY(.45)}45%,70%{transform:scaleY(1)}}
.aPing{transform-box:fill-box;transform-origin:center;animation:pingK 2.4s ease-out infinite}
@keyframes pingK{0%{transform:scale(1);opacity:.9}100%{transform:scale(3);opacity:0}}
@media (prefers-reduced-motion:reduce){.aSpin,.aSpinR,.aSpin2,.aLens,.aPulse,.aDash,.aBob,.aBar,.aPing{animation:none!important}.fl,.tw .sd{animation:none}.btnA,.btnR,.menuBtn,.mLink{transition:none}}

/* ---- Theme: Grundlayout und Unterseiten (Impressum, Datenschutz) ---- */
.vsRoot{width:100%;box-sizing:border-box;background:#0d1424;color:#f3ead8;font-family:'Inter',system-ui,sans-serif;line-height:1.55;overflow:hidden}
.pgHead{background:#0d1424;padding:28px 24px}
.pgHead .in{max-width:1160px;margin:0 auto}
.pgMark{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;letter-spacing:.02em;color:#f3ead8;text-decoration:none}
.pgMark span{color:#e8b86a;font-style:italic}
.pgBody{background:#ffffff;color:#0d1424;padding:72px 24px 96px}
.pgCol{max-width:760px;margin:0 auto;font-size:16px;line-height:1.6}
.pgCol h3{margin:26px 0 6px;font-size:15px;letter-spacing:.04em;color:#8a5f12}
.pgCol p{margin:0 0 10px;color:#2c3a5a}
.pgCol a{color:#8a5f12;text-decoration:underline}
.pgBack{display:inline-block;margin-top:40px}
.pgCol mark{background:#fff2d6;color:#7a5410;border-radius:3px;padding:0 4px}
@media (max-width:600px){.pgBody{padding:48px 20px 72px}.pgLH{font-size:36px!important}}
