.home .btn{background:var(--text);transition:background .5s ease .15s,transform .15s}
.home .lit .btn{background:var(--gold)}
.home{--g:30px;--r:30px}
@media(min-width:900px){.home{--g:72px;--r:40px}}
/* Hero: Licht, Strahlen, Titelzeile und Button kommen nacheinander */
.hero{position:relative;min-height:100svh;display:grid;align-content:center;justify-items:center;gap:26px;padding:84px 20px 60px;max-width:1200px;margin:0 auto;text-align:center}
.eyebrow{display:block;font:700 .95rem system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--text);margin-bottom:12px}
.hero .eyebrow.k{transition:color .6s ease 1.3s,text-shadow .6s ease 1.3s}
.hero .btn{transition:background .6s ease 2.3s,transform .15s}
.hero h1{margin:0}
.big{display:inline-block;font-size:clamp(4.6rem,24vw,9.5rem);transform:rotate(-4deg);transform-origin:center}
.hero p{margin:16px auto 22px;max-width:30ch;font-size:1.15rem;color:var(--muted)}
.cue{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:1.4rem;text-decoration:none;animation:nudge 2.4s ease-in-out infinite}
@keyframes nudge{50%{transform:translate(-50%,6px)}}
@media(max-width:899px){
  .hero{padding:72px 20px 36px;gap:14px}
  .bulb-wrap{width:min(42vw,170px)}
  .big{font-size:clamp(3.6rem,18vw,5.6rem)}
  .eyebrow{font-size:.8rem;margin-bottom:6px}
  .hero p{margin:10px auto 16px;font-size:1.02rem}
  .cue{display:none}
}
@media(min-width:900px){
  .hero{grid-template-columns:1.1fr .9fr;justify-items:start;text-align:left;gap:56px}
  .bulb-wrap{order:2;justify-self:center;width:min(34vw,430px)}
  .hero p{margin-left:0}
  .big{transform-origin:left center}
}

/* Lichtfaden und Stationen */
.track{position:relative;max-width:1100px;margin:0 auto;padding:0 var(--r) 0 var(--g)}
.thread{position:absolute;left:0;top:0;width:var(--g);height:100%;overflow:visible;pointer-events:none}
.thread path{fill:none;stroke-linecap:round;stroke-linejoin:round}
#pglow{stroke:rgba(255,150,20,.22);stroke-width:7}
#pcore{stroke:var(--orange);stroke-width:2}
#spark2{fill:rgba(255,190,60,.28)}
#spark{fill:#fff3c4}
.station{position:relative}
.station::before{content:"";position:absolute;left:var(--bl,-20px);top:var(--by,40px);width:var(--bw,20px);height:2px;margin-top:-1px;background:linear-gradient(90deg,var(--orange),var(--gold));box-shadow:0 0 8px rgba(255,160,0,.55);transform:scaleX(0);transform-origin:left;transition:transform .4s ease-out;pointer-events:none}
.station.lit::before{transform:scaleX(1)}
.final.station::before{transition-duration:.2s}
.final.station.lit .hit{animation-delay:0s}
.station.lit .hit{animation:bing 1s ease-out both;animation-delay:calc(var(--i,0)*.2s + .3s)}
@keyframes bing{
  0%{box-shadow:0 0 0 0 rgba(255,170,40,0);transform:scale(1)}
  35%{box-shadow:0 0 0 2px #ffd24a,0 0 40px 6px rgba(255,150,0,.5);transform:scale(1.02)}
  100%{box-shadow:0 0 0 2px rgba(255,170,40,.85),0 0 22px rgba(255,140,0,.22);transform:scale(1)}}

section{padding:52px 0}
h2{font-size:clamp(2.2rem,8vw,3.5rem);margin:0 0 18px}
h3{margin:0 0 6px}
.lead{max-width:38rem;margin:0 0 22px}
.cards{display:grid;gap:16px;grid-template-columns:1fr;margin-top:26px}
@media(min-width:700px){.cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}
.card{position:relative;background:var(--card);border-radius:16px;overflow:hidden}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 35%}
@media(min-width:700px){.card img{aspect-ratio:4/5}}
.card div{padding:14px 18px 18px}
.card h3{font-size:1.6rem}
.card p{margin:0 0 10px;color:var(--muted);font-size:.95rem}
.card a{font-weight:800;text-decoration:none}
.card a::after{content:"";position:absolute;inset:0}
.story{display:grid;gap:28px;align-items:center}
.story>img,.who>img{border-radius:16px;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 40%}
blockquote{margin:0 0 18px;font-size:clamp(2.2rem,8vw,3.4rem)}
cite{display:block;margin-top:10px;font:600 1rem system-ui,sans-serif;letter-spacing:.08em;color:var(--muted)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 0}
.pair a{position:relative;display:block;border-radius:14px;overflow:hidden;text-decoration:none;font-weight:800}
.pair img{aspect-ratio:4/5;width:100%;object-fit:cover}
.pair.sq img{aspect-ratio:1/1}
.pair span{position:absolute;left:10px;bottom:10px;background:var(--text);color:#14110a;padding:6px 12px;border-radius:8px;font-size:.9rem;line-height:1.3;transition:background .5s ease .5s}
.lit .pair span{background:var(--gold)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.gallery a{display:block;border-radius:14px;overflow:hidden;position:relative;text-decoration:none}
.gallery img{border-radius:14px;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s ease,filter .3s}
.gallery a:hover img,.gallery a:focus-visible img{transform:scale(1.04);filter:brightness(1.08)}
.gallery a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.who{display:grid;gap:28px;align-items:center}
.text{max-width:none}
.text h3{font-size:1.5rem;margin-top:28px}
.text p{margin:0 0 14px}
.wide{border-radius:16px;width:100%;aspect-ratio:3/2;object-fit:cover;margin:6px 0 26px}
details{border-top:1px solid var(--line);padding:16px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700}
details p{margin:10px 0 0;max-width:38rem;color:var(--muted)}
.final{text-align:center;padding:60px 0 44px}
.final h2{font-size:clamp(2.6rem,10vw,4.4rem);margin-bottom:10px}
.final p{margin:0 0 24px;color:var(--muted)}
footer{text-align:center;padding:12px 20px 44px;font-size:.9rem}
.textgrid{display:grid;gap:34px}
.textgrid .wide{display:none}
@media(min-width:900px){.story,.who{grid-template-columns:1fr 1fr;gap:56px}.gallery{grid-template-columns:repeat(3,1fr)}.textgrid{grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.textgrid .wide{display:block;margin:0;aspect-ratio:5/4}.center-d{text-align:center}.center-d .lead{margin-left:auto;margin-right:auto}.track{max-width:1040px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
.more{margin:22px 0 0;text-align:center;font-weight:700}
.more a{text-decoration:none}
