/* ===== Netz-Berg ===== */
.netz-wrap{display:none;position:relative;width:100%;aspect-ratio:1.15/1}
.netz-wrap canvas{position:absolute;inset:-12% -10% -6% -10%;width:120%;height:118%}
.netz-hint{position:absolute;right:4px;bottom:-6px;font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity 1s 2.6s}
.mode-netz .netz-wrap{display:block}
.mode-netz .netz-wrap .netz-hint{opacity:.7}
.mode-netz .ticket{display:none}
@media (hover:none){.netz-hint{display:none}}
@media (max-width:980px){.netz-wrap{max-width:520px;margin:0 auto;order:-1;aspect-ratio:1.5/1}}

/* ===== Logo-Intro ===== */
.intro{position:fixed;inset:0;z-index:200;background:radial-gradient(ellipse at 50% 45%,#0b1530,#060a13 65%);display:grid;place-items:center;transition:opacity .6s ease,visibility .6s}
.intro.hide{opacity:0;visibility:hidden;pointer-events:none}
.intro-inner{width:min(460px,78vw);text-align:center}
.intro-logo{width:100%;height:auto;overflow:visible}
.intro .m{fill-opacity:0;stroke:#7fe3ff;stroke-width:3;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.intro.play .m{animation:draw 1s cubic-bezier(.6,0,.3,1) forwards,fillin .55s ease forwards}
.intro.play .m:nth-child(1){animation-delay:.35s,1.15s}
.intro.play .m:nth-child(2){animation-delay:.05s,1.05s}
.intro.play .m:nth-child(3){animation-delay:.2s,1.1s}
.intro.play .m:nth-child(4){animation-delay:.45s,1.2s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillin{to{fill-opacity:1;stroke-opacity:0}}
.intro .mg{transform-origin:780px 420px;filter:drop-shadow(0 0 0 rgba(34,211,238,0))}
.intro.play .mg{animation:glow 1.4s ease 1.1s forwards}
@keyframes glow{40%{filter:drop-shadow(0 0 22px rgba(34,211,238,.55))}100%{filter:drop-shadow(0 0 6px rgba(34,211,238,.2))}}
.intro .tg{opacity:0;transform:translateY(24px)}
.intro.play .tg{animation:up .6s cubic-bezier(.2,.7,.2,1) 1.35s forwards}
@keyframes up{to{opacity:1;transform:none}}
.intro-claim{margin-top:14px;font-size:clamp(.85rem,2.2vw,1.05rem);letter-spacing:.18em;text-transform:uppercase;color:var(--gray);opacity:0}
.intro.play .intro-claim{animation:up .6s ease 1.7s forwards}

@media (prefers-reduced-motion:reduce){.intro{display:none}}
