/* Stirling und mehr – Layout: fester Kopf mit Hauptmenü, links ein aufklappbares
   Register wie ein Karteikasten, rechts der Beitrag in Lesebreite.
   Bewusst nur ein helles Erscheinungsbild (warmes Papier mit Glut-Schimmer). */

@font-face{font-family:"Barlow Condensed";font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-display:swap;src:url(fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:italic;font-display:swap;src:url(fonts/source-sans-3-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-display:swap;src:url(fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:700;font-display:swap;src:url(fonts/source-sans-3-latin-700-normal.woff2) format("woff2")}

:root{
  --paper:#FFF9F1;      /* warmes, helles Papier */
  --glow:#FFD9A6;       /* Glut-Schimmer im Hintergrund */
  --ink:#2B211B;        /* Text */
  --ink-soft:#66574B;   /* Nebentext */
  --ember:#C2410C;      /* Flamme: Links, Aktiv-Zustand */
  --flame:#F59E3B;      /* helle Flamme für Verläufe */
  --brass:#A8791E;      /* Messing: Register-Marken */
  --line:#EBD8C0;       /* Linien */
  --card:#FFFDF9;       /* Flächen */
  --font-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --font-body:"Source Sans 3",Arial,Helvetica,sans-serif;
  --head-h:68px;
  --reg-w:272px;
  color-scheme:light;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:calc(var(--head-h) + 16px)}
body{
  margin:0;color:var(--ink);font:400 1.125rem/1.62 var(--font-body);
  background-color:var(--paper);
  -webkit-font-smoothing:antialiased;
}
body::before{ /* Glut-Schimmer, fest hinter dem Inhalt */
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(70rem 42rem at -8% 108%, rgba(255,177,92,.40), transparent 62%),
    radial-gradient(46rem 30rem at 112% -6%, rgba(255,206,140,.38), transparent 60%),
    radial-gradient(30rem 22rem at 55% 115%, rgba(255,140,60,.16), transparent 70%);
}
img{max-width:100%;height:auto}
a{color:var(--ember);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:#9A3209}
:focus-visible{outline:3px solid var(--flame);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;z-index:99}
.skip:focus{left:16px}

/* ---------- Kopf ---------- */
.masthead{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:40;
  background:rgba(255,249,241,.94);backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.masthead::after{ /* Flammenkante */
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;
  background:linear-gradient(90deg,var(--brass),var(--flame) 30%,var(--ember) 55%,var(--flame) 80%,var(--brass));
  opacity:.85;
}
.mast-in{max-width:1440px;margin:0 auto;height:var(--head-h);padding-inline:20px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand img{width:54px;height:54px;border-radius:50%;filter:drop-shadow(0 4px 8px rgba(30,60,140,.28))}
.brand span{font:700 1.45rem/1 var(--font-display);letter-spacing:.01em}

.topnav{margin-left:auto}
.topnav>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.top-item{position:relative}
.top-btn{
  display:flex;align-items:center;gap:6px;height:42px;padding:0 14px;border:0;border-radius:8px;background:none;cursor:pointer;
  font:600 1.22rem/1 var(--font-display);color:var(--ink);letter-spacing:.015em;
}
.top-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.top-btn:hover,.top-item.open .top-btn{background:#FCEBD5}
.top-item.is-current .top-btn{color:var(--ember);box-shadow:inset 0 -3px 0 var(--ember)}
.top-item.open .top-btn svg{transform:rotate(180deg)}
.menu{
  position:absolute;right:0;top:calc(100% + 10px);min-width:270px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;
  box-shadow:0 22px 50px -18px rgba(84,40,10,.35);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s;
}
.top-item.open .menu{opacity:1;visibility:visible;transform:none}
.menu-wide{width:min(820px,calc(100vw - 40px))}
.menu-wide ul{columns:3;column-gap:18px}
.menu-head{display:block;font:700 1.05rem var(--font-display);color:var(--brass);text-decoration:none;
  padding:2px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:8px;letter-spacing:.03em}
.menu ul{list-style:none;margin:0;padding:0}
.menu li{break-inside:avoid}
.menu li a{display:block;padding:6px 10px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:1rem;line-height:1.3}
.menu li a:hover{background:#FCEBD5;color:var(--ember)}

.burger{display:none;margin-left:auto;align-items:center;gap:5px;flex-direction:column;justify-content:center;
  width:52px;height:48px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.burger b{font:600 .7rem/1 var(--font-body);color:var(--ink-soft)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Gerüst ---------- */
.shell{max-width:1440px;margin:0 auto;padding-inline:20px;display:grid;grid-template-columns:var(--reg-w) minmax(0,1fr);gap:40px}

/* ---------- Register links ---------- */
.register{position:sticky;top:calc(var(--head-h) + 3px);align-self:start;max-height:calc(100vh - var(--head-h) - 3px);overflow:auto;
  padding-block:28px 40px;scrollbar-width:thin}
.reg-in{display:grid;gap:10px}
.reg-home{display:block;padding:8px 14px;border-radius:8px;color:var(--ink);text-decoration:none;font:600 1.1rem var(--font-display)}
.reg-home:hover,.reg-home.is-active{background:#FCEBD5;color:var(--ember)}
.reg{background:var(--card);border:1px solid var(--line);border-radius:4px 12px 12px 12px;position:relative}
.reg summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px 10px 18px;font:700 1.18rem/1.2 var(--font-display);letter-spacing:.015em;border-radius:inherit}
.reg summary::-webkit-details-marker{display:none}
.reg summary::before{ /* Registerreiter */
  content:"";position:absolute;left:-1px;top:-1px;bottom:-1px;width:5px;border-radius:4px 0 0 12px;background:var(--line);transition:background .2s}
.reg[open] summary::before{background:linear-gradient(var(--flame),var(--ember))}
.reg summary em{font:600 .8rem/1 var(--font-body);font-style:normal;color:var(--ink-soft);background:#F7E8D6;border-radius:99px;padding:4px 8px;
  font-variant-numeric:tabular-nums}
.reg summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);
  transform:rotate(45deg) translateY(-2px);transition:transform .2s;margin-left:2px}
.reg[open] summary::after{transform:rotate(225deg) translate(-2px,0)}
.reg summary:hover{color:var(--ember)}
.reg ol{list-style:none;margin:0;padding:2px 8px 10px 12px;border-top:1px dashed var(--line)}
.reg li a{display:block;padding:5px 10px 5px 12px;margin-block:1px;border-radius:6px;color:var(--ink);text-decoration:none;font-size:.97rem;line-height:1.3;
  border-left:2px solid transparent}
.reg li a:hover{background:#FDF0E0;color:var(--ember)}
.reg li a.is-active{background:#FCE3C6;color:#7A2A06;font-weight:600;border-left-color:var(--ember)}

/* ---------- Beitrag ---------- */
.content{min-width:0;padding-block:28px 64px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.92rem;color:var(--ink-soft);margin-bottom:18px}
.crumbs a{color:var(--ink-soft)}
.crumbs span[aria-current]{color:var(--ink)}
.article{max-width:52rem;background:rgba(255,253,249,.72);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,4vw,48px);
  box-shadow:0 30px 60px -40px rgba(120,55,10,.35)}
.article::after{content:"";display:block;clear:both}
.article h1{font:700 clamp(2.1rem,4.4vw,3.1rem)/1.04 var(--font-display);margin:0 0 .7em;letter-spacing:.005em;text-wrap:balance;color:var(--ink)}
.article h1::after{content:"";display:block;width:72px;height:4px;margin-top:.35em;border-radius:2px;background:linear-gradient(90deg,var(--ember),var(--flame))}
.article h2,.article h3{font:700 1.6rem/1.15 var(--font-display);margin:1.6em 0 .5em;text-wrap:balance}
.article p,.article .p{margin:0 0 1em}
.article .center{text-align:center}
.article b,.article strong{font-weight:700}
.article sub,.article sup{line-height:0}
.clear{clear:both}
.placeholder{padding:14px 18px;border:1px dashed var(--flame);border-radius:10px;background:#FFF3E3}

/* Bilder */
.fig{display:block;max-width:min(var(--w,100%),100%);margin:6px 0 18px;border-radius:10px;overflow:hidden;cursor:zoom-in;position:relative;
  background:#fff;box-shadow:0 0 0 1px var(--line),0 10px 26px -16px rgba(84,40,10,.45);line-height:0}
.fig img{display:block;width:100%;height:auto;transition:transform .35s}
.fig:hover img{transform:scale(1.025)}
.fig::after{ /* Lupe */
  content:"";position:absolute;right:10px;bottom:10px;width:30px;height:30px;border-radius:50%;
  background:rgba(43,33,27,.66) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6'/%3E%3Cpath d='M15 15l5 5M10.5 8v5M8 10.5h5'/%3E%3C/svg%3E") center/18px no-repeat;
  opacity:0;transition:opacity .2s}
.fig:hover::after,.fig:focus-visible::after{opacity:1}
.float-right{float:right;margin:4px 0 18px 26px;clear:right}
.float-left{float:left;margin:4px 26px 18px 0;clear:left}
.img-row{display:flex;flex-wrap:wrap;gap:18px;margin:6px 0 18px}
.img-row .fig{margin:0;flex:1 1 240px}
.home-map{max-width:100%}

/* Tabellen */
.table-wrap{overflow-x:auto;margin:8px 0 22px;border:1px solid var(--line);border-radius:12px;background:var(--card);clear:both}
table.data{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.4;font-variant-numeric:tabular-nums}
table.data td,table.data th{padding:10px 14px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top}
table.data tr>*:last-child{border-right:0}
table.data tr:last-child>*{border-bottom:0}
table.data tr:first-child>*{background:#FBEAD4;font-weight:600}
table.data tr:nth-child(even):not(:first-child)>*{background:#FFF6EC}
table.data .cell-p{display:block;margin:2px 0}
table.data .fig{margin:4px 0}
table.media{width:auto;font-size:.92rem}
table.media tr:first-child>*,table.media tr:nth-child(even):not(:first-child)>*{background:none;font-weight:400}
table.media td{vertical-align:middle}
table.media td:has(> .fig){vertical-align:bottom}
table.media .fig{margin:0 auto;max-width:min(var(--w,100%),100%)}

/* Druckversion / Dateien / Videos */
a.file{display:inline-flex;align-items:center;gap:8px}
a.file::before{content:"";width:18px;height:20px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 20' fill='none' stroke='%23C2410C' stroke-width='1.6'%3E%3Cpath d='M3 1h8l5 5v13H3z'/%3E%3Cpath d='M11 1v5h5M6 11h6M6 14h6'/%3E%3C/svg%3E") center/contain no-repeat}
a.print{margin-top:8px;padding:10px 18px;border-radius:10px;background:var(--card);border:1px solid var(--line);text-decoration:none;font-weight:600;
  box-shadow:0 6px 18px -12px rgba(84,40,10,.5)}
a.print:hover{border-color:var(--flame);background:#FFF3E3}
a.video-link{display:inline-flex;align-items:center;gap:6px}
a.video-link::before{content:"";width:18px;height:18px;border-radius:50%;flex-shrink:0;
  background:var(--ember) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M7 5.5v7l5.5-3.5z' fill='white'/%3E%3C/svg%3E") center/18px no-repeat}
.video{margin:8px 0 18px}
.video video{max-width:100%;border-radius:10px;background:#000}

/* Vor / Zurück */
.prevnext{max-width:52rem;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.pn{display:block;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-decoration:none;color:var(--ink);
  font:600 1.2rem/1.2 var(--font-display)}
.pn small{display:block;font:400 .85rem/1.4 var(--font-body);color:var(--ink-soft);margin-bottom:2px}
.pn.next{text-align:right}
.pn:hover{border-color:var(--flame);color:var(--ember)}

/* ---------- Startseite ---------- */
.is-home .content{padding-top:32px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px);align-items:center;margin-bottom:34px}
.hero h1{font:700 clamp(2.4rem,5.6vw,4.6rem)/.95 var(--font-display);margin:0 0 22px;letter-spacing:-.005em;overflow-wrap:anywhere}
.hero-areas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.hero-areas a{display:block;padding:9px 16px;border-radius:99px;background:var(--card);border:1px solid var(--line);
  font:600 1.15rem/1 var(--font-display);color:var(--ink);text-decoration:none}
.hero-areas a:hover{border-color:var(--ember);color:var(--ember)}
.hero-photo{display:block;position:relative;border-radius:18px;overflow:hidden;cursor:zoom-in;line-height:0;
  box-shadow:0 0 0 1px var(--line),0 40px 70px -40px rgba(194,65,12,.7)}
.hero-photo img{width:100%;height:auto}
.hero-photo::before{ /* warmes Teelicht-Leuchten */
  content:"";position:absolute;left:5%;bottom:12%;width:38%;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(255,170,70,.55),rgba(255,140,40,0) 65%);mix-blend-mode:screen;
  animation:flicker 3.2s ease-in-out infinite}
@keyframes flicker{0%,100%{opacity:.75;transform:scale(1)}40%{opacity:1;transform:scale(1.06)}70%{opacity:.85;transform:scale(.97)}}
.home-map{display:block;border-radius:14px;margin:0 0 14px}
.changed{font-size:.98rem;color:var(--ink-soft);margin:0 0 34px;padding-left:14px;border-left:3px solid var(--flame)}
.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;align-items:start}
.area{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;scroll-margin-top:calc(var(--head-h) + 16px)}
.area-stirlingmotor{grid-column:1/-1}
.area-stirlingmotor ol{columns:3 240px;column-gap:28px}
.area h2{font:700 1.75rem/1 var(--font-display);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.area h2::before{content:"";width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 40% 35%,var(--flame),var(--ember))}
.area ol{margin:0;padding-left:1.4em;font-variant-numeric:tabular-nums}
.area li{break-inside:avoid;padding:2px 0;font-size:1rem}
.area li::marker{color:var(--brass);font-size:.88em}
.area a{color:var(--ink);text-decoration:none}
.area a:hover{color:var(--ember);text-decoration:underline}

/* ---------- Fuß ---------- */
.foot{border-top:1px solid var(--line);background:rgba(255,249,241,.8)}
.foot-in{max-width:1440px;margin:0 auto;padding:22px 20px calc(22px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:22px;font-size:.95rem}
.foot a{color:var(--ink)}
.foot-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.foot-links{display:flex;flex-wrap:wrap;gap:22px}
.foot-site{justify-self:end;color:var(--ink-soft);font-family:var(--font-display);font-size:1.1rem}
.foot-credit{display:flex;align-items:center;gap:10px;justify-self:center}
.foot-credit small{font-size:.78rem;color:var(--ink-soft);letter-spacing:.02em}
.foot-logo{display:block;line-height:0;border-radius:50%;transition:transform .2s,box-shadow .2s}
.foot-logo img{width:44px;height:44px;border-radius:50%;display:block}
.foot-logo:hover{transform:scale(1.06);box-shadow:0 6px 16px -6px rgba(30,40,70,.55)}
.foot .foot-mm{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink);text-decoration:none}
.foot .foot-mm:hover{color:var(--ember);text-decoration:underline}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(28,18,12,.92);display:grid;place-items:center;padding:56px 64px}
.lightbox figure{margin:0;display:grid;gap:10px;justify-items:center;max-width:100%;max-height:100%}
.lightbox img,.lightbox video{max-width:min(92vw,1600px);max-height:calc(100vh - 150px);width:auto;height:auto;border-radius:8px;background:#fff}
.lightbox video{background:#000}
.lightbox figcaption{color:#F6E7D4;font-size:.98rem;text-align:center;max-width:70ch}
.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;border-radius:50%;
  width:48px;height:48px;font-size:2rem;line-height:1;display:grid;place-items:center}
.lightbox button:hover{background:rgba(245,158,59,.5)}
.lb-close{top:14px;right:14px}
.lb-prev{left:12px;top:50%;translate:0 -50%}
.lb-next{right:12px;top:50%;translate:0 -50%}
.lb-count{position:absolute;top:24px;left:20px;color:#E8D3BB;font-size:.9rem;font-variant-numeric:tabular-nums}

/* ---------- Schmal ---------- */
@media (max-width:1180px){
  .topnav{display:none}
  .burger{display:flex}
  .shell{grid-template-columns:minmax(0,1fr)}
  .register{position:fixed;top:calc(var(--head-h) + 3px + env(safe-area-inset-top,0px));left:0;bottom:0;width:min(360px,88vw);max-height:none;align-self:stretch;justify-self:stretch;z-index:35;
    background:var(--paper);border-right:1px solid var(--line);padding:18px 16px 40px;transform:translateX(-102%);transition:transform .25s;
    box-shadow:20px 0 50px -30px rgba(84,40,10,.5)}
  .register.open{transform:none}
  body.nav-open::after{content:"";position:fixed;inset:0;background:rgba(43,33,27,.35);z-index:30}
}
@media (max-width:760px){
  :root{--head-h:60px}
  body{font-size:1.06rem}
  .mast-in{padding-inline:16px;gap:12px}
  .brand img{width:44px;height:44px}
  .brand span{font-size:1.12rem}
  .shell{padding-inline:16px}
  .float-right,.float-left{float:none;margin:6px 0 18px}
  .hero{grid-template-columns:minmax(0,1fr)}
  .prevnext{grid-template-columns:1fr}
  .pn.next{text-align:left}
  .lightbox{padding:56px 8px}
  .lb-prev,.lb-next{width:42px;height:42px;font-size:1.7rem;background:rgba(0,0,0,.35)}
  .foot-in{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:16px}
  .foot-links{justify-content:center}
  .foot-site{justify-self:center}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media print{
  .masthead,.register,.foot,.prevnext,.crumbs{display:none}
  .shell{display:block}
  body{background:#fff}
  .article{border:0;box-shadow:none;background:#fff}
}

/* ---------- Startseite (schlank: nur Übersichtsgrafik) ---------- */
.is-home .home-map{max-width:min(100%,1100px);margin:0 0 16px;border-radius:14px;overflow:hidden;line-height:0;
  box-shadow:0 0 0 1px var(--line),0 30px 60px -40px rgba(120,55,10,.45);background:#fff;cursor:zoom-in}
.is-home .home-map img{width:100%;height:auto}

/* ---------- Buchseite ---------- */
.book{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:clamp(22px,4vw,48px);align-items:start;max-width:58rem}
.book::after{display:none}
.book-cover{display:block;line-height:0;border-radius:4px 10px 10px 4px;overflow:hidden;cursor:zoom-in;
  box-shadow:-6px 0 0 -2px #d9cbb8,0 2px 0 1px var(--line),0 28px 50px -24px rgba(84,40,10,.55);
  transform:perspective(900px) rotateY(4deg);transform-origin:left center;transition:transform .3s}
.book-cover:hover{transform:none}
.book-cover img{width:100%;height:auto}
.book-info{min-width:0}
.book-new{display:inline-block;font:700 1rem/1 var(--font-display);letter-spacing:.06em;color:#fff;background:linear-gradient(90deg,var(--ember),#E2551A);
  padding:7px 14px 6px;border-radius:99px;margin-bottom:14px}
.book .book-info h1{margin-bottom:.55em}
.book-url{display:block;color:var(--ember);font-size:.62em;margin-top:.2em;letter-spacing:.01em}
.book-facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.book-facts li{padding:11px 0;border-bottom:1px solid var(--line);font-size:1.05rem;line-height:1.45}
.book-facts .k{color:var(--ink-soft);font-weight:600;margin-right:4px}
.book-price strong{font:700 1.7rem/1 var(--font-display);color:var(--ink);margin-right:6px;vertical-align:-2px}
.isbn{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:600}
.book-about{grid-column:1/-1;background:#FFF3E3;border:1px solid var(--line);border-left:4px solid var(--flame);border-radius:12px;padding:20px 24px}
.book-about p{margin:0 0 .6em}
.book-about .book-for{margin:0;font:600 1.35rem/1.25 var(--font-display);color:var(--ember)}
@media (max-width:760px){
  .book{grid-template-columns:minmax(0,1fr)}
  .book-cover{max-width:260px;transform:none}
}

/* ---------- Startseite: Einzelbilder statt Sammelgrafik ---------- */
.home-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start;margin-bottom:22px}
.home-h{font:700 1.6rem/1.1 var(--font-display);margin:0 0 12px}
.ex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:170px;gap:12px}
.tile{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:10px;overflow:hidden;cursor:zoom-in;position:relative;transition:border-color .2s,box-shadow .2s}
.tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .3s}
.tile:hover{border-color:var(--flame);box-shadow:0 14px 30px -20px rgba(120,55,10,.6)}
.tile:hover img{transform:scale(1.04)}
.ex-grid{grid-template-areas:"a a b" "c d b" "c e g"}
.t-a{grid-area:a}.t-b{grid-area:b}.t-c{grid-area:c}.t-d{grid-area:d}.t-e{grid-area:e}.t-g{grid-area:g}
.tile.tree{padding:14px;position:sticky;top:calc(var(--head-h) + 20px)}
.tile.tree img{max-height:none;width:100%}
.home-notes{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:12px}
.home-book{display:flex;align-items:center;gap:18px;padding:12px 20px 12px 12px;width:100%;background:var(--card);border:1px solid var(--line);
  border-radius:12px;text-decoration:none;color:var(--ink)}
.home-book img{width:64px;height:auto;border-radius:2px 5px 5px 2px;box-shadow:0 6px 14px -6px rgba(84,40,10,.6)}
.home-book span{font:600 1.35rem/1.15 var(--font-display);color:#C81E1E}
.home-book b{display:block;font-size:1.25em}
.home-book:hover{border-color:var(--flame)}
.home-news{margin:0;font-size:1rem;line-height:1.45;color:var(--ink-soft);padding-left:14px;border-left:3px solid var(--flame)}
@media (max-width:1180px){ .tile.tree{position:static} }
@media (max-width:900px){
  .home-intro{grid-template-columns:minmax(0,1fr)}
  /* einspaltig: Stammbaum-Grafik vor dem Buch-Hinweis */
  .home-examples{display:contents}
  .home-intro .ex-grid{order:1} .home-intro .tile.tree{order:2} .home-intro .home-notes{order:3;margin-top:0}
}
@media (max-width:560px){
  .ex-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;grid-template-areas:none}
  .ex-grid .tile{grid-area:auto}
  .tile img{max-height:300px}
  .home-notes{grid-template-columns:minmax(0,1fr)}
}

/* Buch-Hinweis im selben 3-Spalten-Raster wie die Beispielbilder:
   Cover = Breite einer Bildspalte (wie die Rider-Skizze), Text über die beiden anderen Spalten */
.home-book{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch;
  padding:0;width:100%;background:none;border:0;border-radius:0}
.home-book img{grid-column:1;width:100%;height:auto;border-radius:6px 12px 12px 6px;
  box-shadow:0 0 0 1px var(--line),0 14px 30px -18px rgba(84,40,10,.6)}
.home-book span{grid-column:2/4;display:flex;flex-direction:column;justify-content:center;
  padding:18px 24px;background:var(--card);border:1px solid var(--line);border-radius:12px;font-size:1.7rem}
.home-book:hover span{border-color:var(--flame)}
@media (max-width:560px){
  .home-book{grid-template-columns:minmax(0,1fr)}
  .home-book img{grid-column:1;width:min(100%,260px);justify-self:center}
  .home-book span{grid-column:1}
}

/* ---------- Medien: Grafiken & Clips ---------- */
.media-page{max-width:72rem}
.media-top{background:rgba(255,253,249,.8);border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,36px);margin-bottom:26px}
.media-top h1{font:700 clamp(2.1rem,4.4vw,3.1rem)/1.04 var(--font-display);margin:0 0 .4em}
.media-top h1::after{content:"";display:block;width:72px;height:4px;margin-top:.35em;border-radius:2px;background:linear-gradient(90deg,var(--ember),var(--flame))}
.media-top p{margin:0 0 18px;max-width:60ch;color:var(--ink-soft)}
.dl-zip{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600}
a.dl-zip::before{content:"";width:18px;height:18px;flex-shrink:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23C2410C' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 3v10M5.5 8.5 10 13l4.5-4.5M3 16.5h14'/%3E%3C/svg%3E") center/contain no-repeat}
.dl-big{padding:13px 20px;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--ember),#E2551A);box-shadow:0 12px 26px -14px rgba(194,65,12,.8);flex-wrap:wrap}
a.dl-big::before{filter:brightness(0) invert(1)}
.dl-big small{font-weight:400;opacity:.9}
.dl-big:hover{color:#fff;filter:brightness(1.06)}
.g-toc ul{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.g-toc a{display:block;padding:6px 12px;border-radius:99px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.92rem}
.g-toc a:hover{border-color:var(--ember);color:var(--ember)}
.g-sec{margin-bottom:34px;scroll-margin-top:calc(var(--head-h) + 16px)}
.g-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.g-head h2{font:700 1.55rem/1.15 var(--font-display);margin:0}
.g-count{color:var(--ink-soft);font-size:.92rem}
.g-to{margin-left:auto;font-size:.95rem}
.g-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.g-item{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:8px;background:#fff;
  border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:zoom-in;transition:border-color .2s,box-shadow .2s}
.g-item img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .3s}
.g-item:hover{border-color:var(--flame);box-shadow:0 12px 26px -18px rgba(120,55,10,.6)}
.g-item:hover img{transform:scale(1.04)}
.g-no{font:600 .75rem/1 var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink-soft);background:#F7E8D6;border-radius:99px;padding:4px 7px}
.g-item .g-no{position:absolute;left:6px;top:6px}
.clip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.clip{margin:0;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.clip video{display:block;width:100%;aspect-ratio:4/3;background:#000}
.clip figcaption{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.98rem;line-height:1.35}
.clip-yt{margin:14px 0 0;color:var(--ink-soft)}
.art-dl{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}
.art-dl a.print{margin-top:0}
.art-dl .dl-zip{padding:10px 18px;border-radius:10px;background:var(--card);border:1px solid var(--line);box-shadow:0 6px 18px -12px rgba(84,40,10,.5)}
.art-dl .dl-zip:hover{border-color:var(--flame);background:#FFF3E3}
.dl-off{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;border:1px dashed var(--line);color:var(--ink-soft);font-size:.95rem;background:var(--card)}
.media-top .dl-off{margin-top:2px}
@media (max-width:560px){ .g-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px} .g-to{margin-left:0} }

/* ---------- Bildgruppen (aus alten Bild-Tabellen) ---------- */
.fig-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin:8px 0 18px;clear:both;align-items:start}
.gfig{margin:0;display:flex;flex-direction:column;gap:8px}
.gfig .fig{margin:0 auto;max-width:100%}
.gfig figcaption{font-size:.92rem;line-height:1.35;color:var(--ink-soft);text-align:center}
.gfig figcaption .cap-l{display:block}
.fig-text{margin:0 0 1.2em}
.fig-text p{margin:0 0 1em}
.fig-wide{margin-inline:auto;clear:both}

/* ---------- Daten-Tabellen als Karten (nur Handy) ---------- */
@media (max-width:560px){
  .table-wrap:has(table.cards){border:0;background:none;overflow:visible}
  table.cards,table.cards tbody,table.cards tr,table.cards td{display:block;width:100%}
  table.cards tr.head-row{display:none}
  table.cards tr{background:var(--card);border:1px solid var(--line);border-radius:12px;margin:0 0 12px;padding:6px 14px}
  table.cards tr:nth-child(even):not(:first-child)>*{background:none}
  table.cards td{border:0!important;padding:7px 0;display:block;border-bottom:1px solid var(--line)!important}
  table.cards td:last-child{border-bottom:0!important}
  table.cards td::before{content:attr(data-label);display:block;font-weight:600;color:var(--ink-soft);font-size:.82rem;margin-bottom:2px}
  table.cards td.card-title{display:block;font-weight:700;font-size:1.02rem;padding-top:8px}
  table.cards td.card-title::before{content:none}
  table.cards td:not([data-label])::before{content:none}
  table.cards td:not([data-label]){display:block}
}

/* ---------- Handy: mehr Breite für den Text, Bilder sauber untereinander ---------- */
@media (max-width:760px){
  .article{border:0;background:none;box-shadow:none;padding:0;border-radius:0}
  .article .fig{margin:10px auto 18px}
  .fig-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .media-top{padding:20px 16px}
}
@media (max-width:380px){ .fig-group{grid-template-columns:minmax(0,1fr)} }

/* Neue Buchgrafik ist bereits eine 3D-Ansicht: ohne zusätzliche Schrägstellung und Rahmen */
.book-cover{transform:none;box-shadow:none;border-radius:12px;background:#ececec}
.book-cover:hover{transform:none}
.home-book img{border-radius:12px;box-shadow:0 0 0 1px var(--line)}
