/* weltseite.css — Welt-Seiten der Romanreihen des Eichenberg Verlags (welt/<reihe>/)
   Eigene Bildwelt: dunkel, filmisch, Pergament für die Karte. Schriften wie der Verlag
   (Playfair Display, Spectral, Cinzel). Reihenfarben kommen als --akzent aus der YAML. */

:root{
  --nacht:#11151c;--nacht2:#171c25;--schiefer:#222a36;--linie:rgba(216,180,106,.22);
  --gold:#d8b46a;--gold-hell:#ecd39a;--heide:#9a6a9a;--heide-hell:#c9a3c7;
  --text:#ebe3d4;--text2:#b8af9f;--pergament:#efe4cc;--pergament2:#e3d3b0;--tinte:#35271b;
  --akzent:var(--gold);--radius:6px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:110px}
body{margin:0;background:var(--nacht);color:var(--text);font-family:'Spectral',Georgia,serif;
     font-size:1.06rem;line-height:1.75;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-hell)}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.eng{max-width:720px}
.kicker{font-family:'Cinzel',serif;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(1.9rem,4.2vw,2.8rem);line-height:1.15;margin:0 0 18px;color:#fff}
.sek{padding:96px 0}
.sek-kopf{max-width:720px;margin:0 0 44px}
.sek-kopf p{color:var(--text2);margin:0}
.ab{display:inline-block;font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
    color:var(--heide-hell);border:1px solid rgba(201,163,199,.45);border-radius:999px;padding:2px 10px 1px;
    vertical-align:middle;margin-left:8px;white-space:nowrap}
.orn{display:block;margin:0 auto 26px;width:120px;height:14px;color:var(--gold);opacity:.85}

/* ---------------------------------------------------------------- Kopfleiste */
.w-nav{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .35s,box-shadow .35s;border-bottom:1px solid transparent}
.w-nav-in{max-width:1120px;margin:0 auto;padding:12px 22px;display:flex;align-items:center;gap:12px}
.w-nav img{height:30px;width:30px;object-fit:contain}
.w-nav .brand{font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.17em;text-transform:uppercase;color:#fff;text-decoration:none;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.w-nav .sp{flex:1}
.w-nav a.zur{font-size:.88rem;color:#fff;text-decoration:none;text-shadow:0 1px 8px rgba(0,0,0,.6);white-space:nowrap}
.w-nav a.zur:hover{color:var(--gold-hell)}
.w-nav.fest{background:rgba(17,21,28,.92);backdrop-filter:blur(10px);border-bottom-color:var(--linie);box-shadow:0 4px 24px rgba(0,0,0,.35)}

/* ---------------------------------------------------------------- Hero */
.w-hero{position:relative;min-height:clamp(560px,92vh,900px);display:flex;align-items:flex-end;overflow:hidden;background:var(--nacht)}
.w-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% 50%;
            transform-origin:55% 45%;animation:atem 38s ease-in-out infinite alternate}
@keyframes atem{from{transform:scale(1)}to{transform:scale(1.07)}}
.w-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(to top,rgba(17,21,28,1) 0%,rgba(17,21,28,.86) 18%,rgba(17,21,28,.45) 42%,rgba(17,21,28,.12) 66%,rgba(17,21,28,.38) 100%),
  linear-gradient(to right,rgba(17,21,28,.55) 0%,rgba(17,21,28,0) 55%)}
.w-hero-txt{position:relative;z-index:2;max-width:1120px;margin:0 auto;padding:140px 22px 70px;width:100%}
.w-hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:400;color:#fff;font-size:clamp(3.2rem,11vw,7.2rem);
           line-height:.95;letter-spacing:.01em;margin:0 0 18px;text-shadow:0 4px 40px rgba(0,0,0,.55)}
.w-hero .unter{font-size:clamp(1.1rem,2.3vw,1.35rem);max-width:560px;color:#f3ecdf;margin:0 0 26px;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.w-hero blockquote{margin:0 0 30px;padding-left:16px;border-left:2px solid var(--gold);max-width:520px}
.w-hero blockquote p{font-family:'Playfair Display',serif;font-style:italic;font-size:1.2rem;margin:0;color:#fff}
.w-hero blockquote cite{display:block;font-style:normal;font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:6px}
.knoepfe{display:flex;flex-wrap:wrap;gap:12px}
.knopf{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:var(--radius);font-family:'Cinzel',serif;
       font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s}
.knopf.voll{background:var(--gold);color:#1a140c;box-shadow:0 6px 24px rgba(216,180,106,.25)}
.knopf.voll:hover{background:var(--gold-hell);transform:translateY(-2px)}
.knopf.leer{border:1px solid rgba(255,255,255,.55);color:#fff}
.knopf.leer:hover{border-color:var(--gold);color:var(--gold-hell)}
.w-scroll{position:absolute;left:50%;bottom:18px;z-index:2;width:1px;height:46px;background:linear-gradient(var(--gold),transparent);animation:tropfen 2.4s ease-in-out infinite}
@keyframes tropfen{0%,100%{opacity:.2;transform:translateY(-6px)}50%{opacity:1;transform:translateY(4px)}}

/* ---------------------------------------------------------------- Sprungleiste */
.w-sprung{position:sticky;top:54px;z-index:40;background:rgba(23,28,37,.94);backdrop-filter:blur(8px);border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.w-sprung-in{max-width:1120px;margin:0 auto;padding:0 22px;display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;
             -webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}
.w-sprung-in::-webkit-scrollbar{display:none}
.w-sprung a{flex:none;padding:13px 0 12px;font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text2);text-decoration:none;border-bottom:2px solid transparent}
.w-sprung a:hover,.w-sprung a.an{color:var(--gold-hell);border-bottom-color:var(--gold)}

/* ---------------------------------------------------------------- Einleitung */
.w-intro{padding:90px 0 40px;text-align:center}
.w-intro h2{margin-bottom:22px}
.w-intro p{font-size:1.14rem;color:#ddd4c3;margin:0 auto 18px;max-width:680px}
.w-intro p:first-of-type::first-letter{font-family:'Playfair Display',serif;float:left;font-size:3.7em;line-height:.82;padding:6px 10px 0 0;color:var(--gold)}
.w-intro p:first-of-type{text-align:left}
.w-intro p+p{text-align:left}

/* ---------------------------------------------------------------- Karte (Pergament) */
.w-karte{background:radial-gradient(ellipse at 50% 40%,#f5ecd6 0%,var(--pergament) 45%,var(--pergament2) 100%);color:var(--tinte);
         position:relative;border-top:1px solid #000;border-bottom:1px solid #000}
.w-karte::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .2 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E")}
.w-karte .wrap{position:relative}
.w-karte h2{color:#2a1f15}
.w-karte .kicker{color:#8a5f2c}
.w-karte .sek-kopf p{color:#5b4632}
.karte-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:34px;align-items:start}
.karte-svg{width:100%;height:auto;display:block;filter:drop-shadow(0 10px 28px rgba(60,40,20,.22))}
.karte-svg .mk{cursor:pointer}
.karte-svg .mk circle.r{fill:#f5ecd6;stroke:#7a4f1f;stroke-width:1.6;transition:fill .2s}
.karte-svg .mk text{font-family:'Cinzel',serif;font-size:13px;font-weight:500;fill:#5a3714;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.karte-svg .mk:hover circle.r,.karte-svg .mk.an circle.r{fill:#b5651d;stroke:#5a3714}
.karte-svg .mk:hover text,.karte-svg .mk.an text{fill:#fff}
.karte-svg .mk:focus{outline:none}
.karte-svg .mk:focus-visible circle.r{stroke:#b5651d;stroke-width:3}
.karte-svg .pulse{fill:none;stroke:#b5651d;stroke-width:1.4;opacity:0}
.karte-svg .mk.an .pulse{animation:puls 1.8s ease-out infinite}
@keyframes puls{from{r:13;opacity:.9}to{r:28;opacity:0}}
.legende{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.legende li{border:1px solid rgba(90,60,30,.18);background:rgba(255,250,238,.55);border-radius:var(--radius);padding:10px 14px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.legende li:hover,.legende li.an{background:#fffaf0;border-color:#b5651d;transform:translateX(3px)}
.legende .nr{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#7a4f1f;color:#fff;font-family:'Cinzel',serif;font-size:.72rem;margin-right:8px}
.legende b{font-family:'Playfair Display',serif;font-weight:500;font-size:1.04rem}
.legende p{margin:4px 0 0 32px;font-size:.93rem;line-height:1.55;color:#4a3a2a;display:none}
.legende li.an p{display:block}
.legende .ab{color:#7b4a78;border-color:rgba(123,74,120,.45)}
.karte-hinweis{font-style:italic;font-size:.9rem;color:#6b5540;margin:12px 0 0}

/* ---------------------------------------------------------------- Orte */
.ort{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:center;margin:0 0 84px}
.ort:nth-child(even) .ort-bild{order:2}
.ort-bild{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.ort-bild img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform 1.2s ease}
.ort:hover .ort-bild img{transform:scale(1.04)}
.ort-bild::after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(216,180,106,.28);border-radius:var(--radius);pointer-events:none}
.ort h3{font-family:'Cinzel',serif;font-weight:500;font-size:.86rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 16px}
.ort blockquote{margin:0 0 18px}
.ort blockquote p{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.4rem,2.8vw,1.9rem);line-height:1.3;color:#fff;margin:0}
.ort blockquote cite{display:block;font-style:normal;font-size:.8rem;color:var(--text2);margin-top:10px}
.ort .tx{color:#d4cbb9;margin:0}

/* ---------------------------------------------------------------- Bildband */
.band{position:relative;min-height:clamp(320px,52vh,520px);display:grid;place-items:center;overflow:hidden;text-align:center}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,var(--nacht) 0%,rgba(17,21,28,.35) 22%,rgba(17,21,28,.42) 78%,var(--nacht) 100%)}
.band blockquote{position:relative;z-index:2;margin:0;padding:0 22px;max-width:820px}
.band p{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.7rem,4.4vw,3rem);line-height:1.2;color:#fff;margin:0;text-shadow:0 3px 30px rgba(0,0,0,.7)}
.band cite{display:block;margin-top:16px;font-style:normal;font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-hell);text-shadow:0 1px 10px rgba(0,0,0,.8)}

/* ---------------------------------------------------------------- Familie */
.w-familie{background:linear-gradient(to bottom,var(--nacht),var(--nacht2))}
.gen-reihe{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gen-reihe::before{content:'';position:absolute;left:8%;right:8%;top:27px;height:1px;background:linear-gradient(to right,transparent,var(--gold),var(--gold),transparent)}
.gen{position:relative;text-align:center;padding-top:0}
.gen .knoten{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;
             background:var(--nacht);border:1px solid var(--gold);font-family:'Cinzel',serif;color:var(--gold-hell);font-size:1.2rem}
.gen .zeit{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 4px}
.gen .buch{font-family:'Playfair Display',serif;font-style:italic;color:var(--text2);font-size:.98rem;margin:0 0 16px}
.gen .buch a{color:inherit;text-decoration:none;border-bottom:1px dotted rgba(216,180,106,.5)}
.paar{background:var(--schiefer);border:1px solid var(--linie);border-radius:var(--radius);padding:18px 16px}
.paar .p{margin:0}
.paar .p b{display:block;font-family:'Playfair Display',serif;font-weight:500;font-size:1.22rem;color:#fff;line-height:1.3}
.paar .p span{font-size:.88rem;color:var(--text2)}
.paar .und{display:block;font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);font-size:1.3rem;margin:6px 0}
.kind{margin-top:14px;padding-top:12px;border-top:1px dashed var(--linie);font-size:.9rem;color:var(--text2)}
.kind b{color:var(--heide-hell);font-weight:500}
.faden{margin:28px auto 0;text-align:center;font-family:'Playfair Display',serif;font-style:italic;color:var(--heide-hell);font-size:1.12rem}
.fussnote{text-align:center;font-size:.82rem;color:var(--text2);margin:10px 0 0}

/* ---------------------------------------------------------------- Erbstücke */
.erb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.erb{background:var(--nacht2);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s}
.erb:hover{transform:translateY(-4px);border-color:rgba(216,180,106,.55);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.erb .fl{aspect-ratio:1/1;position:relative;overflow:hidden;background:#0d1016}
.erb .fl img{width:100%;height:100%;object-fit:cover}
.erb .in{padding:16px 16px 18px}
.erb h3{font-family:'Playfair Display',serif;font-weight:500;font-size:1.14rem;color:#fff;margin:0 0 8px;line-height:1.3}
.erb q{display:block;font-style:italic;color:var(--gold-hell);font-size:.94rem;line-height:1.5;margin:0 0 8px;quotes:none}
.erb p{margin:0;font-size:.93rem;line-height:1.6;color:#cfc6b4}
.m-tartan{position:absolute;inset:0;background-color:#1f3a2a;
  background-image:
    repeating-linear-gradient(90deg,transparent 0 22px,rgba(10,14,30,.85) 22px 26px,transparent 26px 34px,rgba(8,8,8,.75) 34px 36px,transparent 36px 58px,rgba(20,32,70,.55) 58px 70px,transparent 70px 88px),
    repeating-linear-gradient(0deg,transparent 0 22px,rgba(10,14,30,.85) 22px 26px,transparent 26px 34px,rgba(8,8,8,.75) 34px 36px,transparent 36px 58px,rgba(20,32,70,.55) 58px 70px,transparent 70px 88px),
    repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 1px,transparent 1px 3px);
  transform:scale(1.02)}
.m-tartan::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.12),transparent 55%),linear-gradient(to top,rgba(0,0,0,.35),transparent 50%)}
.m-brosche{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#3a3f4a 0%,#1a1e26 70%)}
.m-brosche svg{width:62%;height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}
.m-glut{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 78%,#ffd58a 0%,#ff8a2a 12%,#b5361a 30%,#3a120a 58%,#0d0a09 80%)}
.m-glut::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,rgba(255,200,120,.55),transparent 45%);animation:flacker 2.8s ease-in-out infinite alternate}
.m-glut svg{position:absolute;left:18%;right:18%;bottom:14%;width:64%;height:auto}
@keyframes flacker{0%{opacity:.55}40%{opacity:.9}70%{opacity:.65}100%{opacity:1}}

/* ---------------------------------------------------------------- Motiv-Triptychon */
.drei{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.stufe{margin:0}
.stufe .bb{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:2/3;box-shadow:0 22px 50px rgba(0,0,0,.5)}
.stufe .bb img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.stufe:hover .bb img{transform:scale(1.05)}
.stufe .bb::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,16,.92) 0%,rgba(10,12,16,.25) 42%,transparent 60%)}
.stufe .wort{position:absolute;left:0;right:0;bottom:20px;z-index:2;text-align:center}
.stufe .wort small{display:block;font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.stufe .wort b{display:block;font-family:'Playfair Display',serif;font-weight:400;font-style:italic;font-size:clamp(1.9rem,3.6vw,2.6rem);color:#fff}
.stufe figcaption{padding:16px 4px 0;color:#d4cbb9;font-size:.97rem}

/* ---------------------------------------------------------------- Hintergrund */
.hg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hg{background:var(--schiefer);border:1px solid var(--linie);border-radius:var(--radius);padding:26px 26px 24px;position:relative}
.hg .zeit{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
.hg h3{font-family:'Playfair Display',serif;font-weight:500;font-size:1.36rem;color:#fff;margin:6px 0 10px}
.hg p{margin:0;color:#d2c9b7;font-size:.98rem}
.hg .bz{position:absolute;top:24px;right:22px;font-size:.72rem;color:var(--text2);font-style:italic}
details.quellen{margin-top:26px;border-top:1px solid var(--linie);padding-top:14px}
details.quellen summary{cursor:pointer;font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text2)}
details.quellen ul{margin:12px 0 0;padding-left:18px;font-size:.86rem;color:var(--text2)}

/* ---------------------------------------------------------------- Glossar */
.w-glossar{background:var(--nacht2)}
.gl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin:0}
.gl div{padding:14px 0;border-bottom:1px solid var(--linie)}
.gl dt{font-family:'Playfair Display',serif;font-size:1.15rem;color:#fff}
.gl dt i{font-family:'Spectral',serif;font-size:.86rem;color:var(--text2);margin-left:8px}
.gl dd{margin:2px 0 0;color:#cfc6b4;font-size:.95rem}

/* ---------------------------------------------------------------- Bücher */
.buch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.buchk{background:linear-gradient(to bottom,var(--schiefer),var(--nacht2));border:1px solid var(--linie);border-radius:var(--radius);padding:24px 22px 22px;display:flex;flex-direction:column;text-align:center}
.buchk .cov{display:block;width:62%;margin:0 auto 18px;border-radius:3px;box-shadow:0 18px 40px rgba(0,0,0,.6);transition:transform .4s}
.buchk:hover .cov{transform:translateY(-6px) rotate(-1deg)}
.buchk .nr{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.buchk h3{font-family:'Playfair Display',serif;font-weight:500;font-size:1.34rem;color:#fff;margin:6px 0 10px;line-height:1.25}
.buchk h3 a{color:inherit;text-decoration:none}
.buchk .satz{font-style:italic;color:#d6cdbb;font-size:.97rem;margin:0 0 12px}
.tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 16px;padding:0;list-style:none}
.tags li{font-size:.74rem;color:var(--heide-hell);border:1px solid rgba(201,163,199,.35);border-radius:999px;padding:2px 10px}
.buchk .preis{font-size:.86rem;color:var(--text2);margin:auto 0 12px}
.buchk .preis b{color:#fff;font-size:1.05rem;font-weight:500}
.buchk .knoepfe{justify-content:center}
.buchk .knopf{padding:11px 16px;font-size:.7rem}
.buchk .mehr{margin-top:12px;font-size:.86rem;color:var(--text2)}
.fuer{text-align:center;font-family:'Playfair Display',serif;font-style:italic;color:#e3dac8;font-size:1.2rem;margin:40px auto 0;max-width:640px}
.autor{display:flex;gap:20px;align-items:center;max-width:760px;margin:56px auto 0;padding:22px;border:1px solid var(--linie);border-radius:var(--radius);background:rgba(34,42,54,.5)}
.autor img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--gold)}
.autor p{margin:0;font-size:.95rem;color:#d0c7b5}
.autor b{display:block;font-family:'Playfair Display',serif;font-weight:500;color:#fff;font-size:1.12rem;margin-bottom:2px}
.weiter{display:flex;gap:22px;align-items:center;max-width:760px;margin:22px auto 0;padding:22px;border-radius:var(--radius);background:linear-gradient(120deg,#1c2430,#141920);border:1px solid var(--linie)}
.weiter img{width:84px;border-radius:3px;box-shadow:0 10px 24px rgba(0,0,0,.55);flex:none}
.weiter h3{font-family:'Playfair Display',serif;font-weight:500;color:#fff;margin:0 0 6px;font-size:1.2rem}
.weiter p{margin:0 0 10px;font-size:.95rem;color:#cfc6b4}
.weiter a.lk{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-hell);text-decoration:none}

/* ---------------------------------------------------------------- FAQ */
.faq details{border-bottom:1px solid var(--linie)}
.faq summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;font-family:'Playfair Display',serif;font-size:1.16rem;color:#fff}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:14px;font-size:1.5rem;color:var(--gold);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;color:#d2c9b7}

/* ---------------------------------------------------------------- Fuß */
.w-fuss{border-top:1px solid var(--linie);padding:40px 0 50px;background:#0c0f14;font-size:.86rem;color:var(--text2)}
.w-fuss .links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:14px}
.w-fuss a{color:var(--text2);text-decoration:none}
.w-fuss a:hover{color:var(--gold-hell)}
.w-fuss p{margin:6px 0}

/* ---------------------------------------------------------------- Einblenden */
.rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.rv.in{opacity:1;transform:none}

/* ---------------------------------------------------------------- Handy */
@media (max-width:900px){
  .karte-grid{grid-template-columns:1fr}
  .ort{grid-template-columns:1fr;gap:22px;margin-bottom:60px}
  .ort:nth-child(even) .ort-bild{order:0}
  .buch-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .hg-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .sek{padding:70px 0}
  .w-hero{min-height:88vh}
  .w-hero-img{object-position:40% 50%}
  .w-hero-txt{padding-bottom:56px}
  .gen-reihe{grid-template-columns:1fr;gap:34px}
  .gen-reihe::before{left:27px;right:auto;top:10px;bottom:10px;width:1px;height:auto;background:linear-gradient(to bottom,transparent,var(--gold),var(--gold),transparent)}
  .gen{text-align:left;padding-left:72px}
  .gen .knoten{position:absolute;left:0;top:0;margin:0}
  .drei{grid-template-columns:1fr;max-width:420px;margin:0 auto}
  .gl{grid-template-columns:1fr}
  .autor,.weiter{flex-direction:column;text-align:center}
  .w-nav a.zur{font-size:.8rem}
  .w-nav .brand{font-size:.7rem;letter-spacing:.12em}
}
@media (prefers-reduced-motion:reduce){
  .w-hero-img,.w-scroll,.m-glut::before,.karte-svg .mk.an .pulse{animation:none}
  .rv{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
@media (max-width:560px){
  .erb-grid{grid-template-columns:1fr}
  .erb{display:grid;grid-template-columns:118px minmax(0,1fr)}
  .erb .fl{aspect-ratio:auto;height:100%;min-height:150px}
  .erb .in{padding:14px 14px 16px}
}

/* ---------------------------------------------------------------- Adventskalender (Advent in den Highlands) */
.w-kal{background:radial-gradient(ellipse at 50% 0%,#262a44 0%,var(--nacht) 70%)}
.kal-status{font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.12em;color:var(--gold-hell);margin:-18px 0 26px}
.kal-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:minmax(92px,auto);grid-auto-flow:dense;gap:12px;perspective:1200px}
.tuer{position:relative;border:0;padding:0;margin:0;background:#0e1018;border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit;min-height:92px;
      box-shadow:inset 0 0 0 1px rgba(216,180,106,.18)}
.tuer[data-tag="24"]{grid-column:span 2;grid-row:span 2}
.tuer[data-tag="1"],.tuer[data-tag="6"],.tuer[data-tag="12"],.tuer[data-tag="18"],.tuer[data-tag="21"]{grid-column:span 2}
.tuer:not(.offen) .in{visibility:hidden}
.tuer .in{overflow:hidden;position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px;text-align:left}
.tuer .kn{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.tuer .kti{font-family:'Playfair Display',serif;font-size:.92rem;line-height:1.25;color:#fff}
.tuer .fl{position:absolute;inset:0;border-radius:var(--radius);transform-origin:left center;transition:transform .8s cubic-bezier(.3,.7,.2,1),box-shadow .3s;
      background:linear-gradient(145deg,#3a3350 0%,#2a2740 55%,#211f33 100%);box-shadow:inset 0 0 0 1px rgba(216,180,106,.35),0 6px 18px rgba(0,0,0,.35);
      display:flex;align-items:center;justify-content:center;backface-visibility:hidden}
.tuer .fl::before{content:"";position:absolute;inset:6px;border:1px dashed rgba(236,211,154,.28);border-radius:3px}
.tuer .fl::after{content:"";position:absolute;right:9px;top:50%;width:5px;height:5px;margin-top:-2px;border-radius:50%;background:var(--gold);opacity:.7}
.tuer .z{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--gold-hell);text-shadow:0 2px 10px rgba(0,0,0,.5)}
.tuer[data-tag="24"] .z{font-size:clamp(2.6rem,6vw,4rem)}
.tuer[data-tag="24"] .fl{background:radial-gradient(circle at 50% 55%,#6e1f24 0 16%,transparent 17%),linear-gradient(145deg,#3a3350,#211f33)}
.tuer:hover .fl,.tuer:focus-visible .fl{transform:rotateY(-14deg);box-shadow:inset 0 0 0 1px var(--gold),0 10px 26px rgba(0,0,0,.45)}
.tuer:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.tuer.offen .fl{transform:rotateY(-104deg);box-shadow:none}
.tuer.offen{box-shadow:inset 0 0 0 1px rgba(216,180,106,.4)}
.tuer.an{box-shadow:inset 0 0 0 2px var(--gold)}
.tuer.zu{cursor:default}
.tuer.zu .fl{filter:saturate(.5) brightness(.75)}
.tuer.zu:hover .fl{transform:rotateY(-4deg)}
.tuer.heute .fl{box-shadow:inset 0 0 0 2px var(--gold),0 0 0 4px rgba(216,180,106,.18),0 0 30px rgba(236,211,154,.35);animation:kalGlimm 2.6s ease-in-out infinite}
@keyframes kalGlimm{50%{box-shadow:inset 0 0 0 2px var(--gold-hell),0 0 0 6px rgba(216,180,106,.1),0 0 44px rgba(236,211,154,.5)}}
.kal-blatt{margin-top:26px;background:var(--pergament);color:var(--tinte);border-radius:var(--radius);padding:30px 34px;min-height:120px;
      box-shadow:0 20px 50px rgba(0,0,0,.45);position:relative;scroll-margin-top:120px}
.kal-blatt::before{content:"";position:absolute;top:18px;right:22px;width:44px;height:44px;border-radius:50%;
      background:radial-gradient(circle at 38% 35%,#a8353b,#6e1f24 70%);box-shadow:0 2px 6px rgba(0,0,0,.35);opacity:.9}
.kal-blatt .kt{font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#7a5a38;margin:0 60px 4px 0}
.kal-blatt .kd{font-style:italic;color:#6b5540;margin:0}
.kal-blatt h3{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);margin:6px 60px 14px 0;color:#2a1d12;line-height:1.2}
.kal-blatt .ks{font-size:clamp(1.15rem,2.4vw,1.4rem);line-height:1.55;font-style:italic;margin:0 0 6px;color:#2a1d12}
.kal-blatt .kh{font-size:.84rem;color:#7a6650;margin:0 0 18px}
.kal-blatt .knopf.leer{border-color:#7a5a38;color:#3a2a1a}
.kal-blatt .knopf.leer:hover{border-color:#3a2a1a;background:rgba(122,90,56,.1)}
.kal-leer{margin:0;font-style:italic;color:#6b5540;padding-top:12px}
.kal-daten{display:none}
.buch-grid>.buchk:only-child{grid-column:1/-1;justify-self:center;width:100%;max-width:360px}

/* ---------------------------------------------------------------- Figuren */
.fig-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fig{background:var(--schiefer);border:1px solid var(--linie);border-left:3px solid var(--gold);border-radius:var(--radius);padding:24px 26px 22px}
.fig.gast{background:var(--nacht2);border-left-color:var(--heide-hell)}
.fig .rolle{font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.fig h3{font-family:'Playfair Display',serif;font-weight:500;font-size:1.4rem;color:#fff;margin:0 0 10px;line-height:1.25}
.fig p{margin:0;color:#d2c9b7;font-size:.98rem}

/* ---------------------------------------------------------------- Zeitleiste */
.w-zeit{background:var(--nacht2)}
.zl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;position:relative}
.zl::before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 12%,var(--gold) 88%,transparent);opacity:.5}
.zp{position:relative;padding-top:34px}
.zp::before{content:"";position:absolute;top:3px;left:0;width:13px;height:13px;border-radius:50%;background:var(--nacht2);border:2px solid var(--gold)}
.zp.hier::before{background:var(--gold);box-shadow:0 0 0 6px rgba(216,180,106,.18),0 0 22px rgba(236,211,154,.5)}
.zp .zeit{display:block;font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.zp b{display:block;font-family:'Playfair Display',serif;font-weight:500;font-size:1.12rem;color:#fff;line-height:1.3;margin:4px 0 6px}
.zp b a{color:#fff;text-decoration:none;border-bottom:1px solid var(--linie)}
.zp b a:hover{color:var(--gold-hell)}
.zp.hier b,.zp.hier b a{color:var(--gold-hell)}
.zp p{margin:0;color:var(--text2);font-size:.92rem;line-height:1.55}
.w-zeit .fussnote{margin-top:30px}

@media (max-width:900px){
  .kal-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .fig-grid{grid-template-columns:1fr}
  .zl{grid-template-columns:1fr;gap:0;padding-left:30px}
  .zl::before{left:6px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(180deg,transparent,var(--gold) 6%,var(--gold) 94%,transparent)}
  .zp{padding:0 0 26px}
  .zp::before{left:-30px;top:6px}
}
@media (max-width:560px){
  .kal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;grid-auto-rows:minmax(76px,auto)}
  .tuer{min-height:76px}
  .tuer .kti{font-size:.8rem}
  .tuer .kn{font-size:.54rem}
  .kal-blatt{padding:24px 20px}
}
@media (prefers-reduced-motion:reduce){.tuer .fl{transition:none}.tuer.heute .fl{animation:none}}

/* ---------------------------------------------------------------- Drei Erbstücke (Erben des Nordens) */
.erb-grid:has(>.erb:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.erb-grid:has(>.erb:nth-child(3):last-child){grid-template-columns:1fr}}

/* ---------------------------------------------------------------- Vierer-Reihen (Stillwater Bay: vier Bände) */
@media (min-width:901px){
  .gen-reihe:has(>.gen:nth-child(4)),.drei:has(>.stufe:nth-child(4)),.buch-grid:has(>.buchk:nth-child(4)),
  .erb-grid:has(>.erb:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:761px) and (max-width:900px){
  .drei:has(>.stufe:nth-child(4)),.buch-grid:has(>.buchk:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
}

/* ---------------------------------------------------------------- Leiser Kaufblock nach dem Kalender */
.w-kauf{padding:10px 0 70px;background:radial-gradient(ellipse at 50% 100%,#1e2033 0%,var(--nacht) 70%)}
.kauf-in{max-width:860px;margin:0 auto;display:grid;grid-template-columns:150px 1fr;gap:34px;align-items:center;
  border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);padding:34px 8px}
.kauf-cov img{width:150px;border-radius:3px;box-shadow:0 14px 34px rgba(0,0,0,.55);transition:transform .3s}
.kauf-cov:hover img{transform:translateY(-3px) rotate(-1deg)}
.kauf-tx h2{font-size:clamp(1.45rem,3vw,2rem);margin:0 0 10px}
.kauf-tx>p{color:var(--text2);margin:0 0 8px}
.kauf-tx .kauf-preis{color:var(--text);font-size:.95rem;margin:0 0 18px}
.kauf-tx .kauf-preis b{color:var(--gold-hell);font-weight:400}
.kauf-tx .knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.kauf-tx .knopf{padding:11px 18px;font-size:.7rem}
.tuer.vor .fl{filter:saturate(.85)}
.kal-blatt .kv{font-style:italic;color:#5b4632;margin:0 0 18px}
@media (max-width:620px){.kauf-in{grid-template-columns:1fr;text-align:center;gap:20px}.kauf-cov img{margin:0 auto;width:130px}.kauf-tx .knoepfe{justify-content:center}}
