/* ============ SUB: Unterseiten, Haltung (neu), Seitenübergang, Rechtliches ============ */
.skip{position:fixed;left:16px;top:-60px;z-index:400;padding:12px 18px;background:#fff;color:#111;border-radius:99px;font:600 14px var(--sans);transition:top .3s}
.skip:focus{top:16px}
.curtain.pre{display:grid;transform:translateY(101%);transition:none}
.curtain.exit{display:grid;transform:none;transition:transform .65s cubic-bezier(.77,0,.18,1)}
.drawer-legal{display:flex;gap:22px;margin-top:16px;color:#6f675c;font-size:10px}
.drawer-legal a:hover{color:#fff}
.card-more{position:relative;z-index:2;display:inline-flex;gap:8px;margin-top:16px;font:800 11px var(--grot);letter-spacing:.07em;text-transform:uppercase;color:#efe7da;transition:color .3s,gap .4s var(--ease)}
.card-more:hover{color:var(--red);gap:14px}
.card-more i{font-style:normal}

/* ---- Haltung (aufgeräumt) ---- */
.stmt{height:540vh;position:relative;background:#060504}
.stmt-pin{position:sticky;top:0;height:100vh;overflow:hidden;--gx:50%;--gy:50%;--gs:40vmax;--gc:255,176,90;--ga:0;--pa1:0;--pa2:0}
.stmt-pin::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,5,4,.82),rgba(6,5,4,.25) 72%,rgba(6,5,4,.5))}
.stmt-photo{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:radial-gradient(circle var(--gs) at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.6) 45%,transparent 100%);mask-image:radial-gradient(circle var(--gs) at var(--gx) var(--gy),#000 0%,rgba(0,0,0,.6) 45%,transparent 100%)}
.stmt-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.8) contrast(1.08)}
.stmt-photo .sp1{opacity:calc(var(--pa1)*.75)}.stmt-photo .sp2{opacity:calc(var(--pa2)*.75)}
.stmt-light{mix-blend-mode:screen}
.stmt-room{display:none}
.stmt-eb{z-index:3}
.beat s{display:inline-block}
.beat s::after{content:"";position:absolute;left:-1%;right:-1%;top:56%;height:.075em;background:var(--red);transform-origin:left;transform:scaleX(var(--s,0));box-shadow:0 0 22px var(--red)}
.beat s .w:last-child::after{display:none}
.b3 .b3-t{max-width:15em}
.qs{margin-top:clamp(20px,4vh,46px);max-width:min(980px,calc(100% - clamp(130px,15vw,230px)))}
.qs li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:clamp(12px,1.6vw,26px);padding:.1em 0 .12em;border-bottom:1px solid rgba(255,255,255,.09);font-size:clamp(26px,3.7vw,62px);flex-wrap:nowrap}
.qs li:last-child{border-bottom:0}
.qs li::before{align-self:center}
.qs li small{text-align:right;white-space:nowrap}
.kscale{position:absolute;right:clamp(14px,2.6vw,44px);top:50%;transform:translateY(-50%);height:min(46vh,380px);display:flex;flex-direction:column;align-items:flex-end;gap:14px;z-index:3;color:#6f675c}
.kscale .mono{font-size:10px}
.ks-bar{position:relative;width:6px;flex:1;border-radius:3px;background:linear-gradient(#cfe0ff,#fff3e0 40%,#ffb865 76%,#ff6a22)}
.ks-mark{position:absolute;left:50%;top:0;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.16),0 0 26px 5px rgba(255,200,130,.7)}
.ks-t{position:absolute;right:18px;top:var(--t);transform:translateY(-50%);font:400 10px var(--mono);letter-spacing:.1em;color:#6f675c;font-weight:400}
.ks-val{font:400 13px var(--mono);letter-spacing:.08em;white-space:nowrap}
.stmt-track{position:absolute;left:var(--pad);right:clamp(110px,12vw,190px);bottom:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;z-index:3}
.st-seg{position:relative;padding-top:12px}
.st-seg i{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.14);overflow:hidden}
.st-seg i::after{content:"";position:absolute;inset:0;background:var(--red);transform-origin:left;transform:scaleX(var(--pf,0))}
.st-seg em{font-style:normal;font-size:10px;color:#5c554b;transition:color .4s}
.st-seg.on em{color:#efe7da}
@media(max-width:800px){.kscale{display:none}.stmt-track{right:var(--pad)}.qs li{grid-template-columns:auto 1fr}.qs li small{grid-column:2;text-align:left;font-size:9px}}

/* ---- Sub-Hero ---- */
.sub-hero{position:relative;min-height:min(94svh,1000px);display:flex;align-items:flex-end;overflow:hidden;background:#0a0807;--mx:60vw;--my:40%}
.sh-photo{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.sh-photo img{position:absolute;left:0;top:-6%;width:100%;height:112%;object-fit:cover;object-position:50% 40%;animation:kb 40s ease-in-out infinite alternate}
.sh-dim img{filter:grayscale(.75) brightness(.3) contrast(1.1)}
.sh-lit{-webkit-mask-image:radial-gradient(circle 36vmax at var(--mx) var(--my),#000 0%,rgba(0,0,0,.55) 42%,transparent 100%);mask-image:radial-gradient(circle 36vmax at var(--mx) var(--my),#000 0%,rgba(0,0,0,.55) 42%,transparent 100%)}
.sh-lit img{filter:saturate(1.05) brightness(.95) contrast(1.06)}
.sh-glow{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(10,8,7,.86),rgba(10,8,7,.2) 70%),linear-gradient(0deg,#0a0807 2%,transparent 42%),radial-gradient(circle 40vmax at var(--mx) var(--my),rgba(255,176,90,.12),transparent 70%)}
.sh-inner{position:relative;z-index:2;width:100%;padding-block:clamp(130px,22vh,220px) clamp(76px,11vh,130px);color:#efe7da}
.crumbs{display:flex;gap:12px;align-items:center;color:#8c8276;margin-bottom:clamp(26px,5vh,54px)}
.crumbs a{transition:color .3s}.crumbs a:hover{color:#fff}.crumbs i{font-style:normal;opacity:.5}.crumbs span{color:#efe7da}
.sh-title{font:400 clamp(54px,10.8vw,196px)/.9 var(--serif);letter-spacing:-.04em;margin:20px 0 clamp(22px,3.4vh,40px);text-shadow:0 0 90px rgba(255,170,80,.18)}
.sh-title em{color:#ffd9a0;text-shadow:0 0 80px rgba(255,170,80,.5)}
.sh-lead{max-width:54ch;color:#bdb3a4;font-size:clamp(17px,1.4vw,22px);line-height:1.55}
.sh-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:clamp(26px,4vh,42px)}
.sh-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:22px;display:flex;justify-content:space-between;align-items:center;color:#6f675c;z-index:2}
.js .sh-eb,.js .sh-title,.js .sh-lead,.js .sh-cta,.js .crumbs{animation:shIn 1.3s var(--ease) both}
.js .crumbs{animation-delay:.9s}.js .sh-eb{animation-delay:1s}.js .sh-title{animation-delay:1.1s}.js .sh-lead{animation-delay:1.3s}.js .sh-cta{animation-delay:1.45s}
@keyframes shIn{from{opacity:0;transform:translateY(34px);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}

/* ---- Grundsätze ---- */
.principles{padding-block:clamp(70px,10vw,150px) clamp(40px,6vw,80px)}
.pr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,50px);margin-top:36px}
.pr{padding-top:22px;border-top:1px solid var(--line);position:relative;opacity:0;transform:translateY(30px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.pr.in{opacity:1;transform:none}.pr:nth-child(2){transition-delay:.12s}.pr:nth-child(3){transition-delay:.24s}
.pr::before{content:"";position:absolute;left:0;top:-1px;width:44px;height:3px;background:var(--red)}
.pr h2{font:italic 400 clamp(38px,4.6vw,76px)/1 var(--serif);letter-spacing:-.03em;margin-bottom:14px}
.pr p{color:var(--dim);max-width:34ch}
@media(max-width:800px){.pr-grid{grid-template-columns:1fr}}

/* ---- Leuchtentypen ---- */
.type{padding-block:clamp(60px,9vw,140px);border-top:1px solid var(--line);scroll-margin-top:60px}
.type-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(30px,6vw,110px);align-items:center}
.type.flip .type-text{order:2}
.type-h{font-size:clamp(36px,5.2vw,88px);margin:22px 0 22px}
.t-sub{color:var(--dim);margin:30px 0 12px}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:8px 14px 7px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line);font-size:13px}
.ticks{list-style:none;display:grid;gap:12px;max-width:52ch}
.ticks li{position:relative;padding-left:24px;color:var(--dim);line-height:1.55}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--red)}
.kchip{display:flex;align-items:center;gap:14px;margin-top:34px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}
.kchip i{width:12px;height:12px;border-radius:50%}
.kchip .mono{color:var(--dim);font-size:10px}
.kchip b{font:400 26px/1 var(--serif);margin-left:auto}
.stage{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#1a1511,#0a0807 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 40px 90px -30px rgba(0,0,0,.8);color:#efe7da}
.stage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(255,180,100,.2),transparent 65%);opacity:0;transition:opacity 1.2s}
.stage.lit::before{opacity:1}
.stage-svg{position:absolute;inset:7% 5% 5%;width:90%;height:88%;overflow:visible}
.stage .st{fill:none;stroke:#8c7650;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:stroke .8s}
.stage.lit .st{stroke:#d9bd86}
.stage .fl{fill:#15110d}
.stage .glow{opacity:0;transition:opacity 1.1s var(--ease)}
.stage.lit .glow{opacity:1}
.stage.flick .glow{animation:flk .7s steps(1) both}
@keyframes flk{0%{opacity:0}15%{opacity:.8}25%{opacity:.1}45%{opacity:1}55%{opacity:.25}100%{opacity:1}}
.stage-tag{position:absolute;left:16px;top:14px;color:rgba(255,255,255,.4);font-size:9px}
.stage-sw{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:10px;padding:9px 14px 8px 10px;border-radius:99px;background:rgba(12,10,9,.7);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);color:#efe7da;transition:background .3s}
.stage-sw:hover{background:rgba(231,54,42,.9)}
.stage-sw .mono{font-size:9px}
.sw-track{width:30px;height:16px;border-radius:16px;box-shadow:inset 0 0 0 1px currentColor;position:relative;opacity:.8}
.sw-knob{position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#fff;transition:transform .5s var(--ease),background .3s}
.stage.lit .sw-knob{transform:translateX(14px);background:#ffcf8a;box-shadow:0 0 10px #ffcf8a}
@media(max-width:900px){.type-grid{grid-template-columns:1fr}.type.flip .type-text{order:0}}

/* ---- Galerie / CTA ---- */
.gallery{padding-block:clamp(60px,9vw,130px)}
.gal-head{margin-bottom:10px}
.img-note{margin-top:20px;color:var(--dim);font-size:10px}
.cta-band{position:relative;overflow:hidden;background:#090706;padding-block:clamp(80px,11vw,170px)}
.cta-band::before{content:"";position:absolute;right:-14vw;bottom:-22vw;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(rgba(231,54,42,.22),transparent 65%);pointer-events:none}
.cb-in{position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(30px,6vw,110px);align-items:end}
.cb-h{margin-bottom:0}
.cb-right{display:flex;flex-direction:column;gap:20px;align-items:flex-start;color:#bdb3a4}
.cb-btns{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.cb-in{grid-template-columns:1fr}}

/* ---- Zielgruppen ---- */
.audiences{padding-block:clamp(70px,10vw,150px);display:grid;gap:clamp(70px,10vw,150px)}
.aud{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,110px);align-items:center;scroll-margin-top:60px}
.aud.rev .aud-ph{order:2}
.aud-ph{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;clip-path:inset(0 0 100% 0);transition:clip-path 1.4s cubic-bezier(.77,0,.18,1);background:#120f0c}
.aud.in .aud-ph{clip-path:inset(0)}
.aud-ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.25);transition:transform 2.2s var(--ease)}
.aud.in .aud-ph img{transform:scale(1.02)}
.aud:hover .aud-ph img{transform:scale(1.08)}
.aud-ph::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background-image:var(--noise);background-size:190px;opacity:.12;mix-blend-mode:overlay}
.aud-h{font-size:clamp(34px,4.6vw,78px);margin:18px 0 20px}
.aud-body .ticks{margin:26px 0 32px}
@media(max-width:900px){.aud{grid-template-columns:1fr}.aud.rev .aud-ph{order:0}.aud-ph{aspect-ratio:4/3}}

/* ---- Lichtebenen ---- */
.layers{padding-block:clamp(90px,12vw,190px);background:#080605;scroll-margin-top:0}
.ly-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,110px);align-items:center}
.ly-btns{display:grid;gap:10px;margin-top:34px;max-width:520px}
.ly-b{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"b i" "s i";align-items:center;column-gap:20px;padding:16px 18px;border-radius:4px;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:box-shadow .4s,background .4s,transform .5s var(--ease)}
.ly-b b{grid-area:b;font:400 clamp(22px,2.2vw,30px)/1.1 var(--serif);letter-spacing:-.02em}
.ly-b span{grid-area:s;font-size:13px;color:#8c8276}
.ly-b i{grid-area:i;width:34px;height:20px;border-radius:20px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);position:relative}
.ly-b i::after{content:"";position:absolute;left:4px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .5s var(--ease),background .3s}
.ly-b:hover{transform:translateX(6px)}
.ly-b[aria-pressed=true]{background:rgba(231,54,42,.12);box-shadow:inset 0 0 0 1px var(--red)}
.ly-b[aria-pressed=true] i{background:var(--red);box-shadow:none}
.ly-b[aria-pressed=true] i::after{transform:translateX(14px)}
.ly-txt{margin-top:26px;min-height:4.6em;max-width:48ch;color:#cfc5b6;font:italic 400 clamp(19px,1.7vw,26px)/1.3 var(--serif)}
.ly-room{position:relative;aspect-ratio:640/520;border-radius:6px;overflow:hidden;box-shadow:0 40px 100px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.1)}
.ly-svg{position:absolute;inset:0;width:100%;height:100%}
.ly{opacity:0;transition:opacity 1s var(--ease)}
.ly-room.l1 .ly.l1,.ly-room.l2 .ly.l2,.ly-room.l3 .ly.l3{opacity:1}
.room-fix{opacity:.55}
@media(max-width:900px){.ly-grid{grid-template-columns:1fr}}

/* ---- Checkliste ---- */
.check{padding-block:clamp(80px,11vw,170px)}
.ck-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,110px);align-items:start}
.ck-meter{display:flex;align-items:center;gap:18px;margin:34px 0}
.ck-meter svg{width:84px;height:84px;transform:rotate(-90deg)}
.ck-meter circle{fill:none;stroke-width:5}
.ck-bg{stroke:var(--line)}.ck-fg{stroke:var(--red);stroke-linecap:round;transition:stroke-dashoffset .7s var(--ease);filter:drop-shadow(0 0 6px rgba(231,54,42,.7))}
.ck-meter b{font:400 clamp(46px,5vw,76px)/1 var(--serif);margin-left:-102px;width:84px;text-align:center}
.ck-meter .mono{color:var(--dim);margin-left:34px}
.ck-list{list-style:none;border-bottom:1px solid var(--line)}
.ck-list li{border-top:1px solid var(--line);transition:opacity .5s}
.ck-list label{position:relative;display:grid;grid-template-columns:24px 1fr;gap:18px;align-items:start;padding:clamp(18px,2vw,26px) 0;cursor:pointer}
.ck-list input{position:absolute;opacity:0;width:24px;height:24px;left:0;top:clamp(18px,2vw,26px);cursor:pointer}
.ck-list .box{width:24px;height:24px;margin-top:2px;box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;transition:background .35s,box-shadow .35s}
.ck-list .box svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .5s var(--ease)}
.ck-list input:checked~.box{background:var(--red);box-shadow:none}
.ck-list input:checked~.box svg{stroke-dashoffset:0}
.ck-list input:focus-visible~.box{outline:2px solid var(--glow);outline-offset:3px}
.ck-list b{display:block;font:400 clamp(21px,2vw,30px)/1.15 var(--serif);letter-spacing:-.015em;margin-bottom:3px}
.ck-list label>span:last-child{color:var(--dim)}
.ck-list li.done{opacity:.55}
@media(max-width:900px){.ck-grid{grid-template-columns:1fr}}

/* ---- Anfahrt ---- */
.anfahrt{padding-block:clamp(70px,10vw,150px)}
.af-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,110px);align-items:center}
.af-map{position:relative;aspect-ratio:3/2;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line),0 40px 90px -35px rgba(0,0,0,.7)}
.af-map svg{position:absolute;inset:0;width:100%;height:100%}
.af-map .pin{animation:bob 3s ease-in-out infinite;transform-origin:300px 250px}
@keyframes bob{50%{transform:translateY(-8px)}}
.af-text .addr{margin:24px 0}
.af-text .lede{margin-bottom:26px}
@media(max-width:900px){.af-grid{grid-template-columns:1fr}}

/* ---- Rechtliches ---- */
.legal-hero{padding:clamp(140px,22vh,220px) 0 clamp(40px,6vw,80px);background:#0a0807;color:#efe7da}
.lg-title{font:400 clamp(52px,9vw,160px)/.92 var(--serif);letter-spacing:-.04em;margin:10px 0 28px;hyphens:manual}
.legal{display:grid;grid-template-columns:260px 1fr;gap:clamp(30px,6vw,100px);padding-block:clamp(50px,7vw,100px) clamp(90px,10vw,160px)}
.lg-toc{position:sticky;top:110px;align-self:start}
.lg-toc .mono{color:var(--red);margin-bottom:16px;font:800 11px var(--grot);letter-spacing:.09em}
.lg-toc ol{list-style:none;margin-bottom:26px;border-left:1px solid var(--line)}
.lg-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--dim);font-size:14px;transition:color .3s,border-color .3s,padding .4s var(--ease)}
.lg-toc a:hover{color:var(--fg);padding-left:22px}
.lg-toc a.on{color:var(--fg);border-color:var(--red)}
.lg-body{max-width:74ch}
.lg-sec{padding-block:clamp(22px,3vw,36px);border-top:1px solid var(--line);scroll-margin-top:100px}
.lg-sec:first-child{border-top:0;padding-top:0}
.lg-sec h2{font:400 clamp(26px,2.6vw,38px)/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:14px}
.lg-sec p{color:var(--dim);line-height:1.8;margin-bottom:12px}
.lg-sec p strong{color:var(--fg);font-weight:500}
.lg-sec a{color:var(--fg);border-bottom:1px solid var(--red);transition:color .3s}.lg-sec a:hover{color:var(--red)}
.todo{padding:1px 6px;background:rgba(231,54,42,.16);outline:1px dashed var(--red);color:var(--fg);border-radius:2px}
@media(max-width:900px){.legal{grid-template-columns:1fr}.lg-toc{position:static}.lg-toc ol{display:flex;flex-wrap:wrap;border:0;gap:6px}.lg-toc a{border:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;padding:7px 12px;margin:0}}

/* ---- 404 ---- */
.nf{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:#070605;--mx:50%;--my:50%;text-align:center}
.nf-bg{position:absolute;inset:0;background:radial-gradient(circle 34vmax at var(--mx) var(--my),rgba(255,176,90,.2),transparent 70%);opacity:.5;transition:opacity 1.2s}
.nf.lit .nf-bg{opacity:1}
.nf-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.nf-title{display:flex;align-items:center;font:400 clamp(130px,30vw,520px)/.85 var(--serif);letter-spacing:-.06em;color:rgba(239,231,218,.09);transition:color 1.2s;margin:10px 0 18px}
.nf.lit .nf-title{color:#ffe3b3;text-shadow:0 0 120px rgba(255,170,80,.45)}
.nf-0{position:relative;display:inline-block}
.nf-0 i{position:absolute;left:50%;top:50%;width:.3em;height:.3em;margin:-.15em 0 0 -.15em;border-radius:50%;background:#fff6e0;box-shadow:0 0 0 0 transparent;opacity:0;transition:opacity .9s,box-shadow .9s}
.nf.lit .nf-0 i{opacity:1;box-shadow:0 0 70px 24px rgba(255,200,120,.8),0 0 160px 60px rgba(255,160,70,.35)}
.nf-lead{max-width:40ch;color:#bdb3a4;font-size:clamp(17px,1.5vw,22px);margin-bottom:10px}
.nf .sh-cta{justify-content:center}
