:root{
  --bg:#080604;
  --bg2:#120d09;
  --fire:#ff7a1a;
  --fire-soft:#ffb366;
  --text:#f5ebdd;
  --mute:#a89886;
  --line:rgba(255,255,255,.14);
  --cond:"Bahnschrift","DIN Condensed","Avenir Next Condensed","Roboto Condensed","Arial Narrow",Impact,sans-serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(0.23,1,0.32,1);
  --pad:clamp(20px,4.5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--cond);font-weight:700;text-transform:uppercase;line-height:.92;letter-spacing:.01em;margin:0 0 .4em}
p{margin:0 0 1em}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}
.narrow{max-width:620px}
.eyebrow{font-family:var(--cond);letter-spacing:.14em;color:var(--fire);font-size:.95rem;margin-bottom:.8em}
.small{font-size:.85rem;color:var(--mute)}

/* Navigation */
.nav{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top)) var(--pad) 12px;background:linear-gradient(180deg,rgba(8,6,4,.8),rgba(8,6,4,0))}
.logo{font-family:var(--cond);font-weight:700;letter-spacing:.14em;color:var(--text);text-decoration:none;font-size:1rem}
.logo i{color:var(--fire);font-style:normal;margin:0 .15em}
.nav nav{display:flex;align-items:center;gap:22px}
.nav nav a{font-family:var(--cond);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;color:var(--text);text-decoration:none}
.nav .nav-cta{color:#120800;background:var(--fire);padding:8px 16px;border-radius:2px}
.nav-cta:active{transform:scale(.97)}
@media (max-width:560px){.nav nav a:not(.nav-cta){display:none}}

/* Sequenz: immer bildschirmfüllend */
.cin{position:relative;height:720vh}
.cin-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--bg)}
.cin-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.cin-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cin-poster[hidden]{display:none}
.grain{position:absolute;inset:-50%;pointer-events:none;opacity:.14;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  animation:grain .9s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-5%,-2%)}80%{transform:translate(4%,4%)}100%{transform:translate(0,0)}}

/* Abdunkelung: Handy oben/unten */
.shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(8,6,4,.85) 0%,rgba(8,6,4,.25) 30%,rgba(8,6,4,0) 45%,rgba(8,6,4,.9) 100%),
  radial-gradient(ellipse at center,rgba(0,0,0,0) 55%,rgba(0,0,0,.5) 100%)}

/* HUD (Handy: gestapelt) */
.hud{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(62px + env(safe-area-inset-top)) var(--pad) calc(20px + env(safe-area-inset-bottom))}
.kicker{font-family:var(--cond);letter-spacing:.2em;text-transform:uppercase;color:var(--fire);font-size:.82rem;margin-bottom:.6em}
.intro h1{font-size:clamp(2.2rem,11vw,3.4rem);margin:0 0 .25em;text-shadow:0 2px 24px rgba(0,0,0,.6)}
.intro h1 span{color:var(--fire)}
.tagline{color:#e4d6c4;font-size:.95rem;margin:0;max-width:32ch;text-shadow:0 1px 12px rgba(0,0,0,.7)}
.chapters{margin-top:auto}
.hud-chap{font-family:var(--cond);letter-spacing:.16em;color:var(--fire);font-size:.95rem;margin:0 0 .6em}
.chap-stack{display:grid}
.chap-text{grid-area:1/1;opacity:0;pointer-events:none;will-change:opacity,transform}
.chap-text h2{font-size:clamp(2.1rem,10vw,3.3rem);color:var(--text);text-shadow:0 2px 24px rgba(0,0,0,.6);margin-bottom:.3em}
.chap-text p{max-width:30ch;color:#e4d6c4;font-size:1rem;margin-bottom:1em;text-shadow:0 1px 12px rgba(0,0,0,.7)}
.hud-bottom{margin-top:14px}
.spec{display:flex;align-items:flex-end;justify-content:space-between;font-family:var(--cond);margin-bottom:10px}
.spec-label{letter-spacing:.18em;color:var(--mute);font-size:.9rem;padding-bottom:.5em}
.spec-val{display:flex;align-items:baseline;gap:6px;color:var(--fire);line-height:.85}
.spec-val b{font-size:3.2rem;font-weight:700;font-variant-numeric:tabular-nums}
.spec-val em{font-style:normal;font-size:1.4rem;letter-spacing:.06em}
.bar{position:relative;height:2px;background:var(--line)}
.bar .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--fire)}
.bar i{position:absolute;top:-3px;width:1px;height:8px;background:var(--mute)}
.chap-list{display:none}
.scroll-hint{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-family:var(--cond);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);transition:opacity .4s}
.scroll-hint span{display:block;width:1px;height:26px;background:var(--fire);transform-origin:top;animation:hint 1.8s var(--ease) infinite}
@keyframes hint{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.hud-rec{position:absolute;top:calc(64px + env(safe-area-inset-top));right:var(--pad);margin:0;font-family:var(--cond);letter-spacing:.14em;font-size:.85rem;color:var(--mute);display:flex;align-items:center;gap:8px}
.hud-rec i{width:8px;height:8px;border-radius:50%;background:var(--fire);animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{opacity:.15}}
.note{display:none}
@media (orientation:portrait),(max-width:699px){.hud-rec{display:none}}
.chap-text .btn{pointer-events:auto}

/* Querformat (Desktop, Tablet quer): Text links, Bild rechts */
@media (orientation:landscape) and (min-width:700px){
  .shade{background:
    linear-gradient(90deg,rgba(8,6,4,.92) 0%,rgba(8,6,4,.7) 28%,rgba(8,6,4,.15) 52%,rgba(8,6,4,0) 65%),
    linear-gradient(180deg,rgba(8,6,4,.6) 0%,rgba(8,6,4,0) 18%,rgba(8,6,4,0) 80%,rgba(8,6,4,.6) 100%)}
  .hud{right:auto;width:min(46vw,640px);padding-top:calc(90px + 2vh);padding-bottom:5vh;justify-content:space-between}
  .intro h1{font-size:clamp(3rem,6.4vw,6.4rem)}
  .tagline{font-size:1.1rem}
  .chapters{margin-top:auto;margin-bottom:auto;padding-top:3vh}
  .chap-text h2{font-size:clamp(2rem,3.6vw,3.6rem)}
  .chap-text p{font-size:1.05rem}
  .hud-bottom{max-width:420px}
  .chap-list{display:flex;gap:18px;list-style:none;margin:14px 0 0;padding:0;font-family:var(--cond);letter-spacing:.12em;text-transform:uppercase;font-size:.9rem;color:var(--mute)}
  .chap-list li{transition:color .4s var(--ease)}
  .chap-list li b{color:var(--fire);font-weight:400;margin-right:.35em}
  .chap-list li.on{color:var(--text)}
  .hud-rec{top:auto;bottom:5vh}
  .note{display:block;position:absolute;right:var(--pad);bottom:calc(5vh + 28px);margin:0;font-size:.75rem;color:var(--mute)}
}
/* Niedrige Querformat-Höhe (z. B. Handy quer): kompakter */
@media (orientation:landscape) and (max-height:560px){
  .intro h1{font-size:clamp(2rem,5vw,3rem)}
  .tagline,.chap-text p,.chap-list,.note,.hud-rec,.hud-bottom,.kicker{display:none}
  .chap-text h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
  .spec-val b{font-size:2.2rem}
  .hud{padding-top:62px}
}

/* Buttons */
.btn{display:inline-block;border:0;cursor:pointer;font-family:var(--cond);font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;background:var(--fire);color:#120800;text-decoration:none;padding:14px 26px;border-radius:2px;transition:transform .2s var(--ease),background .2s}
.btn:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--fire-soft)}}

/* Sektionen */
.section{padding:clamp(64px,10vw,120px) 0;background:var(--bg)}
.section-alt{background:var(--bg2)}
.section h2{font-size:clamp(2.2rem,7vw,4rem)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:36px}
.card{border:1px solid var(--line);padding:24px;background:rgba(255,255,255,.02)}
.card b{font-family:var(--cond);color:var(--fire);font-weight:400;letter-spacing:.14em}
.card h3{font-size:1.8rem;margin:.3em 0 .4em}
.card p{margin:0;color:#c9b9a6}
.form{display:grid;gap:16px;margin-top:24px}
.form label{display:grid;gap:6px;font-family:var(--cond);letter-spacing:.1em;text-transform:uppercase;font-size:.95rem;color:var(--mute)}
.form input,.form textarea{font:1rem var(--sans);text-transform:none;letter-spacing:0;padding:13px 14px;border:1px solid var(--line);border-radius:2px;background:rgba(255,255,255,.04);color:var(--text);min-height:48px;width:100%}
.form input:focus,.form textarea:focus{outline:2px solid var(--fire);outline-offset:1px}
.form input[type=date]{color-scheme:dark}
.footer{background:#050302;color:#cdbfae;padding:48px 0;border-top:1px solid var(--line)}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr}}

/* Ohne Animation: Endbild statisch */
.cin.static{height:auto}
.cin.static .cin-pin{position:relative;height:100svh}
.cin.static .grain,.cin.static .hud-rec,.cin.static .scroll-hint,.cin.static .hud-bottom{display:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .grain,.hud-rec i,.scroll-hint span{animation:none}
}

/* yourpage24: Rechtliches und Rücklink in der Demo */
.demo-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 22px;margin:8px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);font-size:.85rem}
.demo-links a{color:inherit;opacity:.85;text-underline-offset:3px}
.demo-links a:hover,.demo-links a:focus-visible{opacity:1}
@media (max-width:380px){.nav{gap:10px}.nav .nav-cta{padding:8px 10px;font-size:.78rem;letter-spacing:.06em;white-space:nowrap}.nav>a:first-child{font-size:.9em}}
