/* Powertune – 3D-Startgeschichte: vom Kontakt zur Funktion */
.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero.story{height:640vh;background:#07080A}
.story .hero-sticky{background:radial-gradient(95% 75% at 62% 58%,#17191E,#07080A 72%)}
.story-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .9s var(--ease)}
.story.ready .story-canvas{opacity:1}
.story-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,8,10,.82) 0%,rgba(7,8,10,.35) 38%,rgba(7,8,10,0) 60%),linear-gradient(0deg,rgba(7,8,10,.7),rgba(7,8,10,0) 30%)}
.story .hero-copy{z-index:2}
.story .hero-sticky::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(62% 52% at 50% 50%,rgba(7,8,10,.78),rgba(7,8,10,.3));opacity:var(--dim,0)}
.story-skip{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:6px 0;border-bottom:1px solid transparent;font:500 11.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);text-decoration:none}
.story-skip:hover,.story-skip:focus-visible{border-bottom-color:currentColor;color:var(--text)}

/* Phasentexte */
.story-steps{position:absolute;inset:0;z-index:2;margin:0;padding:0;list-style:none;pointer-events:none}
.story-step{position:absolute;left:max(var(--gutter),calc((100% - var(--wrap)) / 2 + var(--gutter)));bottom:clamp(56px,11vh,120px);width:min(430px,calc(100% - 2 * var(--gutter)));opacity:0;visibility:hidden;will-change:opacity,transform}
.st-n{display:block;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}
.st-h{margin:12px 0 10px;font:560 clamp(24px,2.3vw,34px)/1.12 var(--display);font-variation-settings:"wdth" 108;letter-spacing:-.02em;color:var(--text);text-wrap:balance}
.story-step p{margin:0;font-size:16.5px;line-height:1.55;color:var(--text-2)}
.story-step .st-note{margin-top:10px;font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.story-step.final{left:0;right:0;top:50%;bottom:auto;width:auto;padding:0 var(--gutter);text-align:center;transform:translateY(-50%)}
.story-step.final .st-h{max-width:15em;margin:14px auto 16px;font-size:clamp(34px,5vw,76px);line-height:1.02;letter-spacing:-.04em}
.story-step.final p{max-width:36em;margin:0 auto;font-size:clamp(16.5px,1.3vw,19px)}
.story-step.final .hero-actions{justify-content:center}
.story-step.is-on{visibility:visible}
.story-step.final.is-on{pointer-events:auto}

/* An 3D-Punkten verankerte Beschriftungen */
.story-labels{position:absolute;inset:0;z-index:1;pointer-events:none}
.sl{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;white-space:nowrap;will-change:transform,opacity}
.sl b{padding:6px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(10,11,13,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:560 13px/1 var(--display);font-variation-settings:"wdth" 106;color:#F2F3F5}
.sl i{width:1px;height:26px;background:linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,0))}
.sl.below{flex-direction:column-reverse}
.sl.below i{background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.7))}
.sl.data b{border-color:rgba(79,163,255,.55)}
.sl.power b{border-color:rgba(255,173,66,.6)}
.sl.ok b{border-color:rgba(98,213,150,.6)}

.story-legend{position:absolute;right:max(var(--gutter),calc((100% - var(--wrap)) / 2 + var(--gutter)));top:calc(var(--hdr) + 28px);z-index:2;display:flex;flex-direction:column;gap:8px;opacity:0;font:500 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.story-legend span{display:flex;align-items:center;gap:10px}
.story-legend span::before{content:"";width:26px;height:3px;border-radius:2px}
.lg-data::before{background:#4FA3FF;box-shadow:0 0 8px #4FA3FF}
.lg-power::before{height:6px!important;background:#FFAD42;box-shadow:0 0 10px #FFAD42}
.story-note{position:absolute;right:max(var(--gutter),calc((100% - var(--wrap)) / 2 + var(--gutter)));bottom:18px;z-index:2;margin:0;font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;color:var(--text-3)}
.story-progress{position:absolute;left:0;right:0;bottom:0;z-index:2;height:2px;background:rgba(255,255,255,.06)}
.story-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#4FA3FF,#FFAD42);transform:scaleX(0);transform-origin:left}
.story-loading{position:absolute;right:max(var(--gutter),calc((100% - var(--wrap)) / 2 + var(--gutter)));bottom:44px;z-index:2;margin:0;font:500 10.5px/1.3 var(--mono);letter-spacing:.08em;color:var(--text-3)}
.story.ready .story-loading,.story.is-static .story-loading{display:none}

/* Statische Darstellung: reduzierte Bewegung oder ohne WebGL */
.story-fallback{position:absolute;inset:0;display:grid;place-items:center end;padding:calc(var(--hdr) + 20px) var(--gutter) 40px}
.story-fallback svg{width:min(780px,62vw);height:auto}
.story-stepper{display:none}
.hero.story.is-static{height:auto}
.story.is-static .hero-sticky{position:relative;height:auto;min-height:0;padding:calc(var(--hdr) + clamp(36px,8vh,104px)) 0 72px}
.story.is-static .hero-copy{position:relative;top:auto}
.story.is-static .story-shade{display:none}
.story.is-static .story-stage{position:relative;height:min(62vh,640px);margin:40px var(--gutter) 0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:radial-gradient(90% 80% at 55% 55%,#17191E,#07080A 75%)}
.story.is-static .story-canvas{opacity:1}
.story.is-static .story-fallback{position:absolute;place-items:center;padding:24px}
.story.is-static .story-fallback svg{width:min(900px,100%)}
.story.is-static .story-labels,.story.is-static .story-progress{display:none}
.story.is-static .story-legend{top:18px;right:18px;opacity:1}
.story.is-static .story-note{right:18px;bottom:14px;opacity:1!important}
.story.is-static .story-steps{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:var(--wrap);margin:28px auto 0;padding:0 var(--gutter);pointer-events:auto}
.story.is-static .story-step{position:relative;left:auto;bottom:auto;width:auto;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.02);opacity:1;visibility:visible;transform:none}
.story.is-static .story-step.is-current{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.05)}
.story.is-static .story-step.final{top:auto;text-align:left;transform:none}
.story.is-static .story-step.final .st-h{margin:12px 0 10px;font-size:clamp(24px,2.3vw,34px)}
.story.is-static .story-step.final p{margin:0}
.story.is-static .story-step.final .hero-actions{justify-content:flex-start}
.story.is-static .story-stepper{display:flex;flex-wrap:wrap;gap:8px;max-width:var(--wrap);margin:20px auto 0;padding:0 var(--gutter)}
.story-stepper button{min-width:44px;height:40px;padding:0 14px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.04);color:var(--text-2);font:500 12px/1 var(--mono);letter-spacing:.08em;cursor:pointer}
.story-stepper button[aria-pressed="true"]{border-color:#fff;background:#fff;color:#000}
.story.is-static .scroll-cue,.story.is-static .story-skip{display:none}

@media (max-width:1180px){
  .story.is-static .story-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .hero.story{height:520vh}
  .story-shade{background:linear-gradient(180deg,rgba(7,8,10,.85) 0%,rgba(7,8,10,.2) 45%,rgba(7,8,10,.85) 100%)}
  .story-step{bottom:clamp(40px,8vh,80px)}
  .story-step p{font-size:15px}
  .story-legend{top:auto;bottom:calc(clamp(40px,8vh,80px) + 150px);right:var(--gutter)}
  .sl b{padding:5px 9px;font-size:12px}
  .sl.minor{display:none}
  .story-fallback{place-items:end center}
  .story-fallback svg{width:100%}
  .story.is-static .story-steps{grid-template-columns:1fr}
  .story.is-static .story-stage{height:48vh}
}
@media (prefers-reduced-motion:reduce){
  .story-canvas{transition:none}
}
