/* justanormalguy.de — Marken-Dach · Fassung 2 „Kino" (2026-09-06)

   Bewusst ohne Framework und ohne Schriften von fremden Servern. Jede externe
   Ressource überträgt die IP des Besuchers an Dritte und macht die
   Datenschutzerklärung lang und angreifbar.

   Aufbau: Onepager. Jede Szene ist ein Vollbild mit einem Bild, einem Satz und
   einer Handlung. Unten schwebt dauerhaft die Leiste mit den vier Zweigen. */

@font-face{font-family:"Quicksand";src:url(schrift/Quicksand-Light.woff) format("woff");font-weight:300;font-display:swap}
@font-face{font-family:"Quicksand";src:url(schrift/Quicksand-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Quicksand";src:url(schrift/Quicksand-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Quicksand";src:url(schrift/Quicksand-Bold.woff) format("woff");font-weight:700;font-display:swap}

:root{
  --creme:#FCE5C8;        /* Markenfarbe warm */
  --creme-hell:#F4F1D9;   /* Markenfarbe hell */
  --papier:#FFF8EE;       /* noch heller, für Flächen */
  --dunkel:#4a3f3b;       /* Warm-Dunkel — nie Schwarz */
  --lila:#B33BF5;         /* Herz-Lila, aus dem Apple-Emoji gemessen */
  --lila-dunkel:#8E24C4;  /* für Text auf Creme */
  --himmel:#B8E1F0;
  --grau:#7a6f6a;
  --rund:22px;
  --schrift:"Quicksand","SF Pro Rounded","Arial Rounded MT Bold","Segoe UI",system-ui,sans-serif;
  --weich:cubic-bezier(.16,1,.3,1);
  --leiste:92px;          /* Platz für die schwebende Leiste unten */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--papier);color:var(--dunkel);font-family:var(--schrift);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--lila-dunkel)}
.rahmen{max-width:1080px;margin:0 auto;padding:0 22px}
.rahmen.schmal{max-width:680px}
.nur-lesen{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── Knöpfe ───────────────────────────────────────────────────────────── */
.knopf{display:inline-flex;align-items:center;gap:8px;background:var(--lila);color:#fff;text-decoration:none;
  border:0;border-radius:999px;padding:13px 26px;font:inherit;font-weight:700;letter-spacing:.01em;cursor:pointer;
  transition:transform .3s var(--weich),background .2s,box-shadow .3s}
.knopf:hover{background:var(--lila-dunkel);color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(179,59,245,.7)}
.knopf.leise{background:transparent;color:var(--lila-dunkel);border:2px solid rgba(179,59,245,.45)}
.knopf.leise:hover{background:rgba(179,59,245,.08);box-shadow:none}
.knopf.hell{background:rgba(255,248,238,.92);color:var(--dunkel)}
.knopf.hell:hover{background:#fff;color:var(--dunkel)}
.knopf.glas{background:rgba(255,255,255,.14);color:#fff;border:1.5px solid rgba(255,255,255,.55);backdrop-filter:blur(8px)}
.knopf.glas:hover{background:rgba(255,255,255,.26);box-shadow:none}

/* ── Kopfleiste (schwebend, oben) ──────────────────────────────────────── */
.kopf{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;gap:12px;color:#fff;transition:background .4s,color .4s,box-shadow .4s}
.kopf.ist-unterwegs{background:rgba(255,248,238,.82);color:var(--dunkel);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(74,63,59,.08)}
.marke{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;
  font-weight:700;letter-spacing:.14em;font-size:12px;text-transform:lowercase}
.marke img{width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.kopf-nav{display:none;gap:26px}
.kopf-nav a{color:inherit;text-decoration:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  opacity:.85;transition:opacity .2s}
.kopf-nav a:hover{opacity:1}
@media (min-width:900px){.kopf{padding:18px 32px}.kopf-nav{display:flex}}

/* der Ton-Knopf: spielt oder lädt zum Anschalten ein */
.ton{display:inline-flex;align-items:center;gap:10px;border:1.5px solid currentColor;background:transparent;color:inherit;
  border-radius:999px;padding:8px 14px 8px 10px;font:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;
  cursor:pointer;max-width:56vw;transition:background .2s,transform .3s var(--weich)}
.ton:hover{background:rgba(255,255,255,.14)}
.kopf.ist-unterwegs .ton:hover{background:rgba(74,63,59,.06)}
.ton .balken{display:inline-flex;align-items:flex-end;gap:2px;width:16px;height:14px}
.ton .balken i{display:block;width:3px;background:currentColor;border-radius:2px;height:30%;transform-origin:bottom;
  transition:height .3s}
.ton.spielt .balken i{animation:tanz .9s ease-in-out infinite}
.ton.spielt .balken i:nth-child(2){animation-delay:-.3s}
.ton.spielt .balken i:nth-child(3){animation-delay:-.6s}
.ton.spielt .balken i:nth-child(4){animation-delay:-.15s}
@keyframes tanz{0%,100%{height:30%}50%{height:100%}}
.ton .titel-lauf{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.ton.bittet{animation:puls 2.4s ease-in-out infinite}
@keyframes puls{0%,100%{box-shadow:0 0 0 0 rgba(179,59,245,0)}50%{box-shadow:0 0 0 7px rgba(179,59,245,.28)}}
.ton .weiter{margin-left:2px;opacity:.7}
.ton .weiter:hover{opacity:1}

/* ── Szenen (Vollbild) ─────────────────────────────────────────────────── */
.szene{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate;
  color:#fff;padding:84px 0 calc(var(--leiste) + 14px)}
.szene-bild{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;
  will-change:transform}
.szene-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.szene::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(74,63,59,.90) 0%,rgba(74,63,59,.66) 34%,rgba(74,63,59,.34) 62%,rgba(74,63,59,.14) 100%)}
.szene.hell-oben::before{background:linear-gradient(to top,rgba(74,63,59,.90) 0%,rgba(74,63,59,.62) 36%,rgba(74,63,59,.26) 64%,rgba(74,63,59,.30) 100%)}
.szene-innen{position:relative;width:100%;max-width:1240px;margin:0 auto;padding:0 22px;display:grid;gap:14px}
.szene .ueber{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;opacity:.85;margin:0}
.szene .ueber .punkt{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lila);
  margin-right:8px;vertical-align:1px;box-shadow:0 0 0 3px rgba(179,59,245,.3)}
.szene h1,.szene h2{margin:0;font-weight:300;letter-spacing:-.015em;line-height:1.06;text-wrap:balance}
.szene h1{font-size:clamp(38px,8.6vw,88px)}
.szene h2{font-size:clamp(32px,6.4vw,66px)}
.szene h1 b,.szene h2 b{font-weight:700}
.szene-innen{text-shadow:0 1px 2px rgba(74,63,59,.45),0 8px 30px rgba(74,63,59,.35)}
.szene .satz{margin:0;font-size:clamp(15px,2.1vw,19px);line-height:1.5;max-width:34em;opacity:.94;font-weight:400}
.szene .reihe{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;align-items:center}
.szene .fussnote{position:absolute;right:22px;bottom:calc(var(--leiste) + 26px);font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;opacity:.8;font-weight:600;display:none}
@media (min-width:900px){
  .szene{padding-bottom:calc(var(--leiste) + 40px)}
  .szene-innen{padding:0 48px;gap:18px}
  .szene .fussnote{display:block;right:48px}
}

/* Das Familienherz in der Startszene: mobil über dem Text, am Desktop groß rechts */
.szene-logo{order:-1;width:clamp(160px,44vw,210px);height:auto;filter:drop-shadow(0 6px 18px rgba(74,63,59,.5));margin-bottom:2px}
.start-text{display:grid;gap:14px}
@media (min-width:900px){
  .start-innen{grid-template-columns:1.25fr .75fr;align-items:end;column-gap:32px}
  .start-innen h1{font-size:clamp(46px,6vw,74px)}
  .start-text{gap:18px}
  .szene-logo{order:0;width:min(46vh,540px);justify-self:end;align-self:center;margin:0 0 30px 0}
  @media (prefers-reduced-motion:no-preference){.szene-logo{animation:schweben 7s ease-in-out infinite}}
}
@keyframes schweben{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Kino-Atmen: das Bild bewegt sich ganz langsam, solange kein Video läuft */
@media (prefers-reduced-motion:no-preference){
  .szene.atmet .szene-bild{animation:atmen 26s ease-in-out infinite alternate}
}
@keyframes atmen{from{transform:scale(1.03) translate(0,0)}to{transform:scale(1.12) translate(-1.2%,-1%)}}

/* Wörter, die nacheinander aufsteigen (Startszene) */
.wort{display:inline-block;opacity:0;transform:translateY(.6em);
  animation:auf .9s var(--weich) forwards;animation-delay:calc(var(--n) * 90ms + 200ms)}
@keyframes auf{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.wort{animation:none;opacity:1;transform:none}}


/* ── Lese-Abschnitte (Creme) ───────────────────────────────────────────── */
.lesen{padding:96px 0}
.lesen.warum{background:var(--creme-hell)}
.herz-gross{width:min(100%,440px);height:auto;margin:0 0 26px}
.lesen.ehrlich{background:var(--creme)}
.lesen h2{font-size:clamp(28px,4.6vw,44px);margin:0 0 18px;letter-spacing:-.015em;line-height:1.08;font-weight:700}
.gross{font-size:clamp(21px,3.2vw,30px);line-height:1.35;font-weight:600;margin:0 0 20px;letter-spacing:-.01em}
.gross.leicht{font-weight:300}
.klein{font-size:15px;color:var(--grau)}
.zitat{font-size:clamp(19px,2.8vw,24px);line-height:1.45;color:var(--lila-dunkel);
  border-left:3px solid var(--lila);padding-left:18px;margin:30px 0 0;font-weight:600}
.kontakt .gross a{text-decoration:none}

/* Preisstufen (Dein Lied) und Hörliste */
.stufen{display:grid;gap:8px;margin:6px 0 2px}
.stufe{display:flex;align-items:baseline;gap:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);
  border-radius:14px;padding:9px 14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.stufe b{font-size:19px;font-weight:700;flex:0 0 3.2em}
.stufe span{font-size:13px;opacity:.88;line-height:1.35}
@media (min-width:760px){
  .stufen{grid-template-columns:repeat(3,1fr);gap:12px}
  .stufe{flex-direction:column;gap:2px;padding:12px 14px;border-radius:16px}
  .stufe b{font-size:22px;flex:none}
}
.hoerliste{display:grid;gap:8px;margin:6px 0 0}
.hoer{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);
  border-radius:14px;padding:8px 12px 8px 8px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  cursor:pointer;transition:background .2s;text-align:left;color:inherit;font:inherit;width:100%}
.hoer:hover{background:rgba(255,255,255,.22)}
.hoer .knopf-rund{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--lila-dunkel);
  display:grid;place-items:center;font-size:14px}
.hoer.spielt .knopf-rund{background:var(--lila);color:#fff}
.hoer b{display:block;font-size:15px}
.hoer span{font-size:12px;opacity:.8}
.hoer.spielt b::after{content:" · läuft";font-weight:400;opacity:.8}
@media (min-width:760px){.hoerliste{grid-template-columns:repeat(3,1fr)}.hoer{width:auto}}
.beispiele{display:none}
.beispiele.ist-da{display:block}
.beispiele .hoer audio{flex:1;min-width:0;height:36px}

/* sanftes Erscheinen — nur mit JS und ohne Reduced Motion */
.zeig>*{opacity:0;transform:translateY(22px);transition:opacity .9s var(--weich),transform .9s var(--weich)}
.zeig.ist-da>*{opacity:1;transform:none}
.zeig.ist-da>*:nth-child(2){transition-delay:.08s}
.zeig.ist-da>*:nth-child(3){transition-delay:.16s}
.zeig.ist-da>*:nth-child(4){transition-delay:.24s}
.zeig.ist-da>*:nth-child(5){transition-delay:.32s}
.zeig.ist-da>*:nth-child(6){transition-delay:.40s}
@media (prefers-reduced-motion:reduce){.zeig>*{opacity:1;transform:none;transition:none}}

/* ── Die Leiste unten: vier Zweige, immer da ───────────────────────────── */
.leiste{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;
  display:flex;gap:4px;padding:6px;border-radius:999px;background:rgba(255,248,238,.78);
  backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:0 18px 50px -18px rgba(74,63,59,.55),0 0 0 1px rgba(74,63,59,.08);max-width:calc(100vw - 20px)}
.tuer{appearance:none;border:0;background:transparent;padding:4px 10px 6px;cursor:pointer;display:flex;flex-direction:column;
  align-items:center;gap:4px;font:inherit;color:var(--grau);font-size:10.5px;font-weight:700;letter-spacing:.04em;
  border-radius:999px;transition:color .2s,background .3s;text-decoration:none;min-width:64px}
.tuer span{white-space:nowrap}
.tuer img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff;
  transition:transform .35s var(--weich),box-shadow .3s}
.tuer:hover img{transform:translateY(-3px) scale(1.04)}
.tuer.ist-aktiv{color:var(--dunkel)}
.tuer.ist-aktiv img{box-shadow:0 0 0 2px #fff,0 0 0 4.5px var(--lila)}
.tuer:focus-visible{outline:2px solid var(--lila);outline-offset:2px}
@media (min-width:600px){
  .leiste{gap:6px;padding:8px}
  .tuer{padding:6px 16px 8px;font-size:12px;min-width:84px}
  .tuer img{width:52px;height:52px}
}

/* ── Fuß ───────────────────────────────────────────────────────────────── */
footer{background:var(--creme);padding:40px 0 calc(var(--leiste) + 30px);text-align:center;font-size:15px}
.fuss-logo{width:min(70vw,260px);height:auto;margin:0 auto 18px}
footer nav a{margin:0 11px;white-space:nowrap}
.hinweis{color:var(--grau);font-size:14px;margin:16px 0 0}

/* ── Rechtsseiten (unverändert) ────────────────────────────────────────── */
.recht{padding:44px 0 10px}
.recht h1{font-size:clamp(26px,6vw,34px);text-align:left;margin-bottom:24px}
.recht h2{font-size:19px;margin:30px 0 8px}
.recht p,.recht li{color:#5b4f4a}
.recht address{font-style:normal;background:#fff;border:1px solid rgba(74,63,59,.12);
  border-radius:var(--rund);padding:18px 20px;display:inline-block}
.luecke{background:rgba(179,59,245,.10);border:1px dashed var(--lila);
  border-radius:8px;padding:2px 8px;color:var(--lila-dunkel);font-weight:600}
.zurueck{display:inline-block;margin:28px 0 40px}
.hinweisbox{background:rgba(179,59,245,.06);border-left:3px solid var(--lila);
  border-radius:0 12px 12px 0;padding:12px 16px;margin:16px 0}
.muster{background:#fff;border:1px solid rgba(74,63,59,.20);border-radius:var(--rund);
  padding:20px 22px;margin:18px 0}
.muster p{margin:0 0 10px}
.muster p:last-child{margin-bottom:0}
.klartext{background:var(--creme);border-radius:var(--rund);padding:18px 22px;margin:22px 0}
.klartext p:last-child{margin-bottom:0}
