/* =====================================================================
   Theme datenschutz-familie 2.0 · „Signal"
   Nacht und Mint aus dem Logo, dazu Signal-Koralle (Daten fliessen ab),
   Marker-Gelb (Hervorhebung) und Lavendel. Jedes Thema hat eine Farbe
   und eine Illustration (assets/img/topic-<slug>.svg).
   Schriften lokal: Parkinsans (Titel), Lora (Lesetext), JetBrains Mono
   (kleine Labels). Farben kommen aus den Theme-Einstellungen
   (partials/head.hbs), hier stehen nur Rückfallwerte.
   ===================================================================== */

@font-face{font-family:"Parkinsans"; src:url('../fonts/parkinsans.woff2') format('woff2'); font-weight:300 800; font-style:normal; font-display:swap;}
@font-face{font-family:"Lora"; src:url('../fonts/lora.woff2') format('woff2'); font-weight:400 700; font-style:normal; font-display:swap;}
@font-face{font-family:"Lora"; src:url('../fonts/lora-italic.woff2') format('woff2'); font-weight:400 700; font-style:italic; font-display:swap;}
@font-face{font-family:"JetBrains Mono"; src:url('../fonts/jetbrainsmono.woff2') format('woff2'); font-weight:100 800; font-style:normal; font-display:swap;}

:root{
  --accent:#17a06a;
  --accent-ink:#0d6644;
  --mint:#91dea4;
  --dark:#1d1c24;
  --bg:#fbf8f1;
  --soft:#e3f5e8;
  --line:#e8e1d3;
  --coral:#ff6b57;
  --marker:#ffd94a;
  --lavender:#b9b4ff;

  /* abgeleitet */
  --ink:var(--dark);
  --surface:#fff;
  --muted:color-mix(in srgb, var(--dark) 74%, var(--bg));
  --on-dark:#e4e1d8;
  --on-dark-muted:#b9b5ab;
  --dark-2:color-mix(in srgb, var(--dark) 86%, #fff);
  --coral-soft:color-mix(in srgb, var(--coral) 72%, #fff);
  /* Namen, die die Wegweiser-Vorlage erwartet */
  --on-soft:var(--accent-ink);
  --accent-line:var(--mint);

  --head:"Parkinsans","Trebuchet MS",system-ui,sans-serif;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --radius:20px;
  --shadow:0 2px 0 var(--dark);
  --shadow-lift:3px 3px 0 var(--dark);
  --t:.18s ease;
}

/* Themenfarben und -bilder: ein Ort für alles */
[data-topic]{--topic:var(--mint); --topic-art:url('../img/topic-default.svg');}
[data-topic="smartphone"]{--topic:var(--lavender); --topic-art:url('../img/topic-smartphone.svg');}
[data-topic="kinderfotos"]{--topic:var(--coral-soft); --topic-art:url('../img/topic-kinderfotos.svg');}
[data-topic="vernetztes-spielzeug"]{--topic:var(--marker); --topic-art:url('../img/topic-vernetztes-spielzeug.svg');}

*,*::before,*::after{box-sizing:border-box;}
*{margin:0; padding:0;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body{font-family:var(--serif); font-size:18px; line-height:1.7; color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; display:flex; flex-direction:column; min-height:100vh;}
main{flex:1;}
img,svg{max-width:100%;}
a{color:var(--accent-ink);}
h1,h2,h3,h4{font-family:var(--head); font-weight:750; line-height:1.15; letter-spacing:-.5px; color:var(--ink);}
.wrap{max-width:1140px; margin:0 auto; padding:0 32px;}
.mono{font-family:var(--mono);}
.muted{color:var(--muted);}
.mark{background:linear-gradient(transparent 12%, var(--marker) 12%, var(--marker) 88%, transparent 88%);
  color:var(--dark); padding:0 .15em; -webkit-box-decoration-break:clone; box-decoration-break:clone;}

a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--coral); outline-offset:3px; border-radius:6px;}
.skip{position:absolute; left:-9999px; top:8px; z-index:100; background:var(--marker); color:var(--dark);
  font-family:var(--mono); font-size:14px; padding:10px 14px; border-radius:8px; text-decoration:none;}
.skip:focus{left:12px;}

/* Knöpfe */
.btn{display:inline-flex; align-items:center; gap:8px; font-family:var(--head); font-weight:700; font-size:16px;
  text-decoration:none; padding:13px 22px; border-radius:999px; border:2px solid var(--dark);
  transition:transform var(--t),box-shadow var(--t),background var(--t);}
.btn:hover{transform:translate(-1px,-1px); box-shadow:2px 2px 0 var(--dark);}
.btn--mint{background:var(--mint); color:var(--dark); border-color:var(--mint);}
.btn--mint:hover{box-shadow:2px 2px 0 var(--marker);}
.btn--ghost{background:transparent; color:#fff; border-color:color-mix(in srgb, #fff 55%, transparent);}
.btn--ghost:hover{border-color:#fff; box-shadow:2px 2px 0 var(--lavender);}
.btn--dark{background:var(--dark); color:#fff;}
.btn--dark:hover{box-shadow:2px 2px 0 var(--surface);}

/* ---------------------------------------------------------------------
   Kopf
   --------------------------------------------------------------------- */
.site-header{background:var(--dark); color:var(--on-dark); position:sticky; top:0; z-index:50;
  border-bottom:1px solid color-mix(in srgb, #fff 8%, transparent);}
.site-header__bar{max-width:1140px; margin:0 auto; padding:12px 32px; display:flex; align-items:center;
  justify-content:space-between; gap:20px; position:relative;}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none;}
.brand__mark,.brand__img{width:46px; height:46px; flex:none; transition:transform var(--t);}
.brand:hover .brand__mark{transform:rotate(-8deg) scale(1.06);}
.brand__text{font-family:var(--head); font-size:18px; font-weight:750; color:#fff; line-height:1.15; letter-spacing:-.2px;}
.brand__text small{display:block; font-family:var(--mono); font-size:11.5px; font-weight:400; color:var(--mint); letter-spacing:0;}

.mainnav .menu{list-style:none; display:flex; gap:6px; font-family:var(--head); font-weight:600;}
.mainnav .menu a,.mainnav .menu span{display:block; color:var(--on-dark); text-decoration:none; font-size:15.5px;
  padding:9px 14px; border-radius:999px; transition:color var(--t),background var(--t);}
.mainnav .menu a:hover{color:var(--dark); background:var(--mint);}
.mainnav .menu .active > a{color:var(--dark); background:var(--marker);}

.burger{display:none; width:46px; height:46px; border:0; background:none; cursor:pointer; position:relative;}
.burger span,.burger span::before,.burger span::after{position:absolute; left:11px; width:24px; height:2.5px;
  background:var(--mint); border-radius:2px; content:""; transition:transform var(--t),top var(--t);}
.burger span{top:22px;}
.burger span::before{left:0; top:-8px;}
.burger span::after{left:0; top:8px;}
.burger[aria-expanded="true"] span{background:transparent;}
.burger[aria-expanded="true"] span::before{top:0; transform:rotate(45deg);}
.burger[aria-expanded="true"] span::after{top:0; transform:rotate(-45deg);}

/* ---------------------------------------------------------------------
   Startseite
   --------------------------------------------------------------------- */
.hero{background:var(--dark); color:var(--on-dark); padding:56px 0 72px; position:relative; overflow:hidden;}
.hero::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:28px; background:var(--bg);
  clip-path:polygon(0 100%, 100% 0, 100% 100%);}
.hero--small{padding:72px 0 88px;}
.hero__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;}
.kicker{font-family:var(--mono); font-size:14px; color:var(--accent-ink); margin-bottom:16px;}
.kicker--dark{color:var(--mint);}
.hero h1{color:#fff; font-size:clamp(36px, 5.4vw, 64px); line-height:1.05; letter-spacing:-1.5px; margin-bottom:22px;}
.hero__lead{font-size:20px; line-height:1.6; color:var(--on-dark); max-width:560px; margin-bottom:28px;}
.hero__lead a{color:var(--mint);}
.hero__actions{display:flex; flex-wrap:wrap; gap:12px;}
.hero__art{display:block; width:100%; height:auto;}

.section{padding:44px 0;}
.sec-h{display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:24px;}
.sec-h h2{font-size:clamp(26px, 3vw, 34px);}
.sec-h__more{font-family:var(--mono); font-size:14px; text-decoration:none; color:var(--accent-ink); white-space:nowrap;}
.sec-h__more:hover{text-decoration:underline;}

/* Themen-Kacheln */
.topics{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:20px;}
.topic{display:flex; flex-direction:column; text-decoration:none; color:var(--dark); background:var(--topic, var(--mint));
  border:2px solid var(--dark); border-radius:var(--radius); overflow:hidden;
  transition:transform var(--t),box-shadow var(--t);}
.topic:hover{transform:translate(-2px,-2px); box-shadow:var(--shadow-lift);}
.topic__art{display:block; aspect-ratio:16/9; background:var(--topic-art) center/cover no-repeat; border-bottom:2px solid var(--dark);}
.topic__body{display:flex; flex-direction:column; gap:4px; padding:16px 18px 20px;}
.topic__name{font-family:var(--head); font-weight:750; font-size:21px; line-height:1.2;}
.topic__count{font-family:var(--mono); font-size:12.5px;}
.topic__desc{font-size:15px; line-height:1.5; margin-top:4px;}
.topic__desc p{margin:0;}
.topic--way{background:var(--dark); color:#fff;}
.topic--way .topic__art{background:var(--dark-2); display:flex; align-items:center; justify-content:center;
  border-bottom-color:color-mix(in srgb, #fff 15%, transparent);}
.topic__glyph{font-family:var(--mono); font-size:44px; color:var(--mint); letter-spacing:12px;}
.topic--way .topic__desc{color:var(--on-dark-muted);}
.topic--way:hover{box-shadow:3px 3px 0 var(--mint);}

/* Beitragskarten */
.cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.card{display:flex; flex-direction:column; background:var(--surface); border:2px solid var(--dark);
  border-radius:var(--radius); overflow:hidden; position:relative; transition:transform var(--t),box-shadow var(--t);}
.card:hover{transform:translate(-2px,-2px); box-shadow:var(--shadow-lift);}
.card__art,.card__img{display:block; aspect-ratio:16/9; border-bottom:2px solid var(--dark); background:var(--topic-art, url('../img/topic-default.svg')) center/cover no-repeat;}
.card__img img{width:100%; height:100%; object-fit:cover; display:block;}
.card__body{padding:20px 22px 22px; display:flex; flex-direction:column; flex:1;}
.card__meta{display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; font-family:var(--mono); font-size:12.5px; color:var(--muted); margin-bottom:12px;}
.card__tag{position:relative; z-index:2; color:var(--dark); text-decoration:none; background:var(--topic, var(--mint));
  border:1.5px solid var(--dark); padding:2px 10px; border-radius:999px; font-weight:600;}
.card__tag:hover{background:var(--marker);}
.card__tag--more{background:var(--surface); font-weight:500;}
.card__tag--more:hover{background:var(--topic);}
.card__title{font-size:21px; line-height:1.22; margin-bottom:10px;}
.card__title a{color:var(--ink); text-decoration:none;}
.card__title a::after{content:""; position:absolute; inset:0; z-index:1;}
.card__excerpt{font-size:15.5px; color:var(--muted); line-height:1.6; flex:1;}
.card__go{font-family:var(--head); font-weight:700; font-size:15px; margin-top:14px; color:var(--dark);}
.card:hover .card__go{text-decoration:underline; text-decoration-color:var(--coral); text-decoration-thickness:3px; text-underline-offset:4px;}

/* Erster Beitrag gross */
.cards--lead > .card:first-child{grid-column:1 / -1; flex-direction:row;}
.cards--lead > .card:first-child .card__art,
.cards--lead > .card:first-child .card__img{flex:0 0 52%; aspect-ratio:auto; min-height:320px; border-bottom:0; border-right:2px solid var(--dark);}
.cards--lead > .card:first-child .card__body{padding:34px 36px; justify-content:center;}
.cards--lead > .card:first-child .card__title{font-size:clamp(26px, 3vw, 34px);}
.cards--lead > .card:first-child .card__excerpt{font-size:17px; flex:0;}

.pager{display:flex; justify-content:space-between; gap:12px; margin-top:30px;}
.pager .btn{background:var(--dark); color:#fff;}
.pager .btn[rel="next"]{margin-left:auto;}

/* Vertrauens-Band */
.band{background:var(--mint); border-top:2px solid var(--dark); border-bottom:2px solid var(--dark); padding:56px 0; margin-top:36px;}
.band__title{font-size:clamp(28px, 3.4vw, 40px); margin-bottom:28px;}
.trust{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;}
.trust__item{background:var(--surface); border:2px solid var(--dark); border-radius:var(--radius); padding:22px;}
.trust__ic{display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:16px;
  background:var(--dark); margin-bottom:14px;}
.trust__ic .brand__mark{width:44px; height:44px;}
.trust__ic--txt{font-family:var(--mono); font-weight:800; font-size:20px; color:var(--marker);}
.trust__l{font-family:var(--head); font-weight:750; font-size:19px; margin-bottom:6px;}
.trust__item p:not(.trust__l){font-size:15.5px; line-height:1.55; color:var(--muted);}
.band__more{margin-top:28px;}

/* ---------------------------------------------------------------------
   Kopf von Beiträgen, Themen und Seiten
   --------------------------------------------------------------------- */
.phead{background:var(--topic, var(--lavender)); border-bottom:2px solid var(--dark); padding:48px 0;}
.phead:not([data-topic]){--topic-art:url('../img/topic-default.svg');}
.phead__grid{display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center;}
.phead h1{font-size:clamp(30px, 4.4vw, 50px); line-height:1.08; letter-spacing:-1px; margin-bottom:16px; max-width:800px;}
.phead__tags{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; font-family:var(--mono); font-size:13px;}
.phead__tags a,.phead__tags span{color:var(--dark); text-decoration:none; background:var(--surface); border:1.5px solid var(--dark);
  padding:3px 11px; border-radius:999px; font-weight:600;}
.phead__tags a:hover{background:var(--marker);}
.phead__lead{font-size:19px; max-width:640px; margin-bottom:10px;}
.phead__lead p{margin:0;}
.phead__art{display:block; aspect-ratio:16/9; border:2px solid var(--dark); border-radius:var(--radius);
  background:var(--topic-art) center/cover no-repeat; box-shadow:var(--shadow-lift); transform:rotate(2deg);}
.phead__img{margin:0;}
.phead__img img{display:block; width:100%; height:auto; border:2px solid var(--dark); border-radius:var(--radius); box-shadow:var(--shadow-lift);}
.phead__img figcaption{font-size:13px; margin-top:8px;}
.phead--page{background:var(--lavender); padding:40px 0;}
.phead--page h1{margin:0;}
.phead--page .phead__lead{margin-top:12px;}
.article__meta{font-family:var(--mono); font-size:13.5px; color:var(--dark); display:flex; flex-wrap:wrap; gap:4px 14px;}
.article__upd::before{content:"·"; margin-right:14px;}

/* ---------------------------------------------------------------------
   Lesetext
   --------------------------------------------------------------------- */
.article{max-width:740px; margin:0 auto; padding:48px 24px 24px;}
.article--wide{max-width:1140px; padding-left:32px; padding-right:32px;}
.entry{font-size:19px; line-height:1.75;}
.entry > * + *{margin-top:1.05em;}
.entry > p:first-child{font-size:21px; line-height:1.6;}
.entry h2{font-size:28px; margin-top:2em;}
.entry h3{font-size:22px; margin-top:1.7em;}
.entry h2 + *,.entry h3 + *{margin-top:.6em;}
.entry ul,.entry ol{padding-left:1.4em;}
.entry li + li{margin-top:.45em;}
.entry li::marker{color:var(--coral); font-weight:700;}
.entry a{color:var(--accent-ink); text-decoration-color:var(--mint); text-decoration-thickness:2px; text-underline-offset:3px; overflow-wrap:anywhere;}
.entry a:hover{background:var(--soft); text-decoration-color:var(--accent-ink);}
.entry strong{font-weight:700; background:linear-gradient(transparent 62%, color-mix(in srgb, var(--marker) 70%, transparent) 62%);}
.entry blockquote{border:2px solid var(--dark); background:var(--marker); padding:20px 24px; border-radius:var(--radius);
  font-family:var(--head); font-weight:600; font-size:20px; line-height:1.45; box-shadow:var(--shadow-lift);}
.entry blockquote p + p{margin-top:.6em;}
.entry hr{border:0; height:2px; background:var(--dark); margin:2.4em 0; opacity:.15;}
.entry img{height:auto; border-radius:14px; display:block;}
.entry figure{margin-left:0; margin-right:0;}
.entry figcaption{font-size:14px; color:var(--muted); margin-top:6px;}
.entry code{font-family:var(--mono); font-size:.84em; background:var(--soft); padding:1px 6px; border-radius:6px;}
.entry pre{font-family:var(--mono); font-size:14px; background:var(--dark); color:var(--on-dark); padding:18px; border-radius:14px; overflow:auto;}
.entry pre code{background:none; padding:0;}
.entry table{width:100%; border-collapse:collapse; font-size:16px; display:block; overflow-x:auto;}
.entry th,.entry td{border-bottom:1px solid var(--line); padding:9px 10px; text-align:left; vertical-align:top;}
.entry th{font-family:var(--head); font-size:15px; font-weight:700;}
/* Quellenliste am Ende: ruhiger Kasten */
.entry h2:last-of-type{font-size:22px; padding-top:1.2em; border-top:2px solid var(--line);}
.entry h2:last-of-type ~ ul,.entry h2:last-of-type ~ ol{font-size:15.5px; line-height:1.6; color:var(--muted);}

.authorbox{display:flex; gap:18px; align-items:flex-start; margin-top:52px; background:var(--dark); color:var(--on-dark);
  border-radius:var(--radius); padding:26px; box-shadow:3px 3px 0 var(--mint);}
.authorbox .brand__mark{width:56px; height:56px; flex:none;}
.authorbox__l{font-family:var(--head); font-weight:750; font-size:19px; color:#fff; margin-bottom:4px;}
.authorbox p{font-size:16px; line-height:1.6;}
.authorbox__links{display:flex; flex-wrap:wrap; gap:6px 18px; margin-top:10px; font-family:var(--mono); font-size:13.5px;}
.authorbox a{color:var(--mint);}

.related{padding:56px 0; margin-top:40px; background:var(--surface); border-top:2px solid var(--dark);}

/* ---------------------------------------------------------------------
   Wegweiser: Mindmap und Glossar (page-wegweiser.hbs)
   --------------------------------------------------------------------- */
[data-c="lavender"]{--c:var(--lavender);}
[data-c="mint"]{--c:var(--mint);}
[data-c="coral"]{--c:var(--coral-soft);}
[data-c="marker"]{--c:var(--marker);}
.hero--way .hero__lead p{margin:0;}
.ww-toggle{display:flex; gap:6px; background:var(--surface); border:2px solid var(--dark); border-radius:999px; padding:4px;}
.ww-toggle button{font-family:var(--head); font-weight:700; font-size:14px; cursor:pointer; border:0; background:none;
  color:var(--dark); padding:7px 14px; border-radius:999px;}
.ww-toggle button.on{background:var(--dark); color:#fff;}
.ww-legend{display:flex; flex-wrap:wrap; gap:8px; margin:-8px 0 16px;}
.ww-key{font-family:var(--mono); font-size:13px; font-weight:600; background:var(--c); border:1.5px solid var(--dark);
  padding:3px 11px; border-radius:999px;}
.ww-mapbox{background:var(--dark); border:2px solid var(--dark); border-radius:var(--radius); padding:12px; overflow:auto;
  max-height:80vh; box-shadow:var(--shadow-lift);
  background-image:radial-gradient(color-mix(in srgb, var(--mint) 22%, transparent) 1.6px, transparent 1.8px); background-size:22px 22px;}
.ww-mapbox svg{display:block; height:auto;}
.ww-mapbox text{font-family:var(--head); font-weight:700; font-size:13.5px; fill:var(--dark);}
.ww-conn{fill:none; stroke:var(--c); stroke-width:2.5; opacity:.75;}
.ww-root rect{fill:var(--dark-2); stroke:var(--mint); stroke-width:3;}
.ww-root text{fill:var(--mint); font-size:16px;}
.ww-topic rect{fill:var(--c); stroke:var(--dark); stroke-width:2;}
.ww-term rect{fill:var(--surface); stroke:var(--c); stroke-width:3;}
.ww-term text{font-weight:600; font-size:13px;}
.ww-dot{fill:var(--coral); stroke:var(--dark); stroke-width:1.5;}
.ww-key--dot{background:var(--surface);}
.ww-key--dot::before{content:""; display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--coral); border:1.5px solid var(--dark); margin-right:6px; vertical-align:-1px;}
.ww-node{transform-box:fill-box; transform-origin:center; transition:transform var(--t);}
.ww-link{cursor:pointer;}
.ww-link:hover .ww-node{transform:scale(1.06);}
.ww-link:hover .ww-term rect{fill:var(--c);}
.ww-link:focus-visible{outline:none;}
.ww-link:focus-visible .ww-term rect{stroke:var(--marker); stroke-width:5;}
.ww-outline{display:none;}

.ww-glos{background:var(--surface); border-top:2px solid var(--dark); margin-top:24px; padding-top:52px; padding-bottom:64px; scroll-margin-top:70px;}
.ww-count{font-family:var(--mono); font-size:14px; color:var(--muted);}
.ww-tools{display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; margin-bottom:28px;
  position:sticky; top:70px; z-index:5; background:var(--surface); padding:10px 0;}
.ww-search{display:flex; align-items:center; gap:10px;}
.ww-search__l{font-family:var(--head); font-weight:700; font-size:15px;}
.ww-search input{font:inherit; font-size:16px; padding:9px 16px; border:2px solid var(--dark); border-radius:999px; background:var(--bg); width:240px;}
.ww-search input:focus{outline:3px solid var(--marker); outline-offset:2px;}
.ww-az{display:flex; flex-wrap:wrap; gap:6px;}
.ww-az a{display:flex; align-items:center; justify-content:center; width:34px; height:34px; border:2px solid var(--dark);
  border-radius:10px; font-family:var(--head); font-weight:750; color:var(--dark); text-decoration:none; background:var(--bg);}
.ww-az a:hover{background:var(--marker);}
#wm-glossar{display:grid; grid-template-columns:1fr 1fr; column-gap:40px;}
.ww-group{display:grid; grid-template-columns:64px 1fr; gap:16px; padding:22px 0; border-top:2px solid var(--line); scroll-margin-top:140px; align-content:start;}
.ww-group:nth-child(-n+2){border-top:0;}
.ww-letter{font-family:var(--head); font-weight:800; font-size:56px; line-height:1; color:var(--dark);}
.ww-terms{display:grid; gap:14px;}
.ww-term-card{background:var(--bg); border:2px solid var(--dark); border-left:12px solid var(--c, var(--mint)); border-radius:16px;
  padding:16px 18px; scroll-margin-top:150px;}
.ww-term-card:target{box-shadow:0 0 0 4px var(--marker); background:#fff;}
.ww-path{font-family:var(--mono); font-size:12px; color:var(--muted); margin-bottom:4px;}
.ww-term-card h3{font-size:20px; margin-bottom:6px;}
.ww-term-card p{font-size:15.5px; line-height:1.55;}
.ww-arts{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px;}
.ww-arts a{font-family:var(--head); font-weight:600; font-size:13.5px; color:var(--dark); text-decoration:none;
  background:var(--c, var(--mint)); border:1.5px solid var(--dark); padding:3px 11px; border-radius:999px;}
.ww-arts a:hover{background:var(--marker);}
.ww-back{display:inline-block; margin-top:10px; font-family:var(--mono); font-size:12.5px; color:var(--accent-ink); text-decoration:none;}
.ww-back:hover{text-decoration:underline;}
.ww-empty{font-size:17px; padding:20px 0;}

.ww-oroot{font-family:var(--head); font-weight:750; background:var(--dark); color:var(--mint); padding:12px 16px; border-radius:16px;}
.ww-okids{padding-left:12px; border-left:3px solid var(--line); margin:8px 0 0 10px; display:flex; flex-direction:column; gap:8px;}
.ww-otopic > summary{list-style:none; cursor:pointer; font-family:var(--head); font-weight:700; background:var(--c);
  border:2px solid var(--dark); padding:10px 14px; border-radius:14px; display:flex; align-items:center; gap:9px;}
.ww-otopic > summary::-webkit-details-marker{display:none;}
.ww-otopic > summary::before{content:"\25B8"; transition:transform var(--t);}
.ww-otopic[open] > summary::before{transform:rotate(90deg);}
.ww-oterm{font-family:var(--head); font-weight:600; font-size:15px; color:var(--dark); background:var(--surface);
  border:2px solid var(--c); padding:10px 14px; border-radius:14px; text-decoration:none; display:block;}

/* ---------------------------------------------------------------------
   Fuss
   --------------------------------------------------------------------- */
.site-footer{background:var(--dark); color:var(--on-dark); border-top:6px solid var(--mint);}
.site-footer__inner{max-width:1140px; margin:0 auto; padding:36px 32px; display:flex; justify-content:space-between;
  align-items:flex-start; gap:22px 40px; flex-wrap:wrap; font-family:var(--mono); font-size:13.5px;}
.site-footer__brand{display:grid; grid-template-columns:auto 1fr; column-gap:14px; row-gap:2px; align-items:center;}
.site-footer__brand .brand__mark{grid-row:span 2; width:48px; height:48px;}
.site-footer__name{font-family:var(--head); font-weight:700; font-size:16px; color:#fff;}
.site-footer__note{color:var(--mint);}
.site-footer__nav{display:flex; flex-wrap:wrap; gap:6px 20px;}
.site-footer .menu{list-style:none; display:flex; flex-wrap:wrap; gap:6px 20px;}
.site-footer a{color:var(--on-dark); text-decoration:none;}
.site-footer a:hover{color:var(--marker); text-decoration:underline;}

/* ---------------------------------------------------------------------
   Schmale Bildschirme
   --------------------------------------------------------------------- */
@media (max-width:960px){
  .cards{grid-template-columns:repeat(2, 1fr);}
  .trust{grid-template-columns:1fr 1fr;}
  .hero__grid{grid-template-columns:1fr; gap:12px;}
  .hero__media{max-width:520px;}
  .phead__grid{grid-template-columns:1fr; gap:24px;}
  .phead__art{max-width:420px; transform:none;}
}
@media (max-width:760px){
  body{font-size:17px;}
  .wrap,.site-header__bar,.site-footer__inner{padding-left:18px; padding-right:18px;}
  .article{padding:32px 18px 18px;}
  .article--wide{padding-left:18px; padding-right:18px;}
  .entry{font-size:18px;}
  .entry > p:first-child{font-size:19px;}
  .burger{display:block;}
  .mainnav{display:none; position:absolute; left:0; right:0; top:100%; background:var(--dark-2);
    border-bottom:2px solid var(--mint); padding:10px 18px 18px;}
  .mainnav.is-open{display:block;}
  .mainnav .menu{flex-direction:column; gap:4px;}
  .mainnav .menu a,.mainnav .menu span{padding:12px 14px; font-size:17px;}
  .brand__text small{display:none;}
  .hero{padding:36px 0 56px;}
  .hero h1{letter-spacing:-1px;}
  .hero__lead{font-size:18px;}
  .cards,.trust{grid-template-columns:1fr;}
  .cards--lead > .card:first-child{flex-direction:column;}
  .cards--lead > .card:first-child .card__art,
  .cards--lead > .card:first-child .card__img{flex:none; aspect-ratio:16/9; min-height:0; border-right:0; border-bottom:2px solid var(--dark);}
  .cards--lead > .card:first-child .card__body{padding:20px 22px 22px;}
  .topics{grid-template-columns:1fr; gap:14px;}
  .topic{flex-direction:row;}
  .topic__art{flex:0 0 36%; aspect-ratio:auto; min-height:120px; border-bottom:0; border-right:2px solid var(--dark);}
  .topic--way .topic__art{border-right-color:color-mix(in srgb, #fff 15%, transparent);}
  .topic__glyph{font-size:30px; letter-spacing:6px;}
  .topic__body{padding:14px 16px;}
  .topic__name{font-size:19px;}
  .topic__desc{font-size:14.5px;}
  .ww-toggle,.ww-mapbox,.ww-legend{display:none;}
  .ww-outline{display:block;}
  .ww-tools{top:62px;}
  .ww-search input{width:100%;}
  .ww-search{flex:1 1 100%;}
  #wm-glossar{grid-template-columns:1fr;}
  .ww-group{grid-template-columns:1fr; gap:8px;}
  .ww-group:nth-child(2){border-top:2px solid var(--line);}
  .ww-letter{font-size:40px;}
  .phead{padding:32px 0;}
  .phead__art{display:none;}
  .authorbox{flex-direction:column;}
  .band{padding:40px 0;}
}

@media (hover:none){
  .card:hover,.topic:hover,.btn:hover{transform:none; box-shadow:none;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important; scroll-behavior:auto !important;}
}

@media print{
  .site-header,.site-footer,.related,.authorbox,.skip,.phead__art{display:none;}
  body{background:#fff; font-size:12pt;}
  .phead{background:none; border:0; padding:0;}
  .entry a::after{content:" (" attr(href) ")"; font-size:.85em; color:#555;}
}
