/* ===================================================================
   Eigentümerstimme — gemeinsame Basis
   Schriften, Farbsystem, Reset, Header und Footer. Diese Bloecke sind
   auf allen Seiten byte-identisch und werden hier zentral gepflegt;
   seiten-spezifische Stile bleiben inline in der jeweiligen Datei.

   Schriften selbst gehostet — kein Dritt-CDN, kein Verbindungsaufbau zu
   Google. Beide Familien stehen unter der SIL Open Font License 1.1;
   die Lizenztexte liegen in fonts/OFL-Inter.txt und
   fonts/OFL-PlayfairDisplay.txt.
   =================================================================== */

@font-face{
  font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;
  src:url('fonts/playfair-display-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Playfair Display';font-style:normal;font-weight:400 900;font-display:swap;
  src:url('fonts/playfair-display-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* Farbsystem — Petrol als gemeinsamer Anker, ein Akzent pro Welt.
   Bestandsnamen (--stimme, --bg-light …) bleiben unveraendert; die
   Welt-Wissenschaft- und Signal-Tokens sind neu (Farb-Stil-Konzept). */
:root{
  --petrol:#1a5c5a; --petrol-dark:#1a3535; --petrol-light:#7ab8b5;
  --stimme:#c08a2c; --stimme-soft:#e9d3a6; --stimme-tint:#f6ecd8;                 /* Amber · Welt WEG / Eigentuemer */
  --erkenntnis:#2f6e8c; --erkenntnis-soft:#a9cad8; --erkenntnis-tint:#e6eff3;     /* Erkenntnisblau · Welt Wissenschaft */
  --signal:#e4572e; --signal-soft:#f7d9cf;                                        /* Signal-Koralle · neu / wichtig / ein CTA je Seite — sparsam; NIE als Bewertungsfarbe */
  --taupe:#9a8674; --terrakotta:#b5533b; --schiefer:#5b6b73;                      /* Zeitstrahl-Perspektiven: Gemeinschaft (GdWE) · Mieter:innen · Versorger */
  --bg-light:#f5f4f2; --border:#e0dedd;
  --text:#1a1a1a; --text-soft:#5a5956; --text-mute:#8a8680;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

/* Header / Wortmarke */
header{padding:26px 0;border-bottom:1px solid var(--border);background:var(--bg-light)}
.headrow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.headleft{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.brand{font-family:'Playfair Display',serif;font-size:22px;font-weight:600;color:var(--petrol-dark);text-decoration:none}
.brand .stimme{border-bottom:3px solid var(--stimme);padding-bottom:1px}
.mainnav{display:flex;flex-wrap:wrap;gap:12px 20px}
.mainnav a{font-size:15px;font-weight:500;color:var(--text-soft);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent}
.mainnav a:hover{color:var(--petrol-dark)}
.mainnav a[aria-current="page"]{color:var(--petrol-dark);border-bottom-color:var(--stimme)}
.badge{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stimme-soft);border:1px solid rgba(233,211,166,.22);background:var(--petrol-dark);padding:7px 15px;border-radius:999px;box-shadow:0 2px 12px rgba(26,53,53,.18)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--stimme);display:inline-block;box-shadow:0 0 0 3px rgba(192,138,44,.2)}

/* Kopfzeilen-Menue — ab schmalen Viewports einklappbar. Reines CSS ueber ein
   verstecktes Checkbox + Label (Hamburger); kein JavaScript, kein Drittanbieter. */
.nav-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.nav-burger{display:none}
@media(max-width:760px){
  .headleft{flex:1 1 100%;justify-content:space-between;gap:12px}
  .nav-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:11px;margin-left:auto;cursor:pointer;border-radius:8px}
  .nav-burger span{display:block;width:100%;height:2px;border-radius:2px;background:var(--petrol-dark);transition:transform .2s,opacity .2s}
  .nav-toggle:checked + .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked + .nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked + .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mainnav{display:none;order:3;flex-basis:100%;flex-direction:column;gap:0;margin-top:8px}
  .nav-toggle:checked ~ .mainnav{display:flex}
  .mainnav a{padding:13px 4px;border-bottom:1px solid var(--border)}
}

/* Footer */
footer{background:var(--petrol-dark);color:#aebfbe;padding:44px 0 52px;font-size:14px}
footer .frow{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer b{color:#fff;font-weight:600}
footer a{color:var(--stimme-soft);text-decoration:none}
footer a:hover{text-decoration:underline}
.fnav{display:flex;gap:14px;flex-wrap:wrap}

/* ── Inhalts-Layout & Kachel-Akkordeon (Guideline, Wegweiser) ──
   Je Kachel eine Akzentfarbe (--acc): Amber-Basis, .kap--warm = Koralle,
   .kap--wiss = Erkenntnisblau. Offen/aktiv schaltet auf Koralle (Fokus). */
.guide{max-width:940px;margin:0 auto;padding:0 24px}

.cluster{padding:46px 0 4px}
.cluster__label{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.cluster__chip{font-family:'Inter',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--petrol);padding:6px 13px;border-radius:999px;white-space:nowrap}
.cluster__label h2{font-family:'Playfair Display',serif;font-size:clamp(19px,2.4vw,24px);color:var(--petrol-dark);font-weight:600;min-width:0}
.cluster__label::after{content:"";flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--stimme-soft),rgba(230,227,223,0))}

.wall{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:680px){.wall{grid-template-columns:1fr}}
.kap{--acc:var(--stimme);position:relative;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:box-shadow .2s,border-color .2s,transform .2s}
/* Doppelklasse = hoehere Spezifitaet, damit eine Seiten-Signatur (.kap{--acc}) die
   semantischen Modifier nicht ueberschreibt (Waerme bleibt Koralle, Entscheidung Blau). */
.kap.kap--warm{--acc:var(--signal)}
.kap.kap--wiss{--acc:var(--erkenntnis)}
.kap::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--acc)}
.kap:hover{box-shadow:0 12px 30px rgba(26,53,53,.12);border-color:var(--acc);transform:translateY(-2px)}
.kap[open]{grid-column:1/-1;box-shadow:0 16px 38px rgba(26,53,53,.15);transform:none}
.kap[open]::before{background:var(--signal)}
.kap--full{grid-column:1/-1}
.kap>summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:16px;padding:24px 22px 22px}
.kap>summary::-webkit-details-marker{display:none}
.kap__ic{flex:0 0 auto;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--acc);color:#fff;transition:background .2s}
.kap[open] .kap__ic{background:var(--signal)}
.kap__ic svg{width:25px;height:25px}
.kap__h{flex:1;min-width:0}
.kap__t{font-family:'Playfair Display',serif;font-size:17.5px;font-weight:600;color:var(--petrol-dark);line-height:1.3}
.kap__s{margin-top:6px;font-size:13.5px;color:var(--text-soft);line-height:1.55}
.kap__no{flex:0 0 auto;font-family:'Playfair Display',serif;font-size:22px;color:var(--acc);font-weight:600;line-height:1;padding-top:2px;transition:color .2s}
.kap[open] .kap__no{color:var(--signal)}
/* Auf-/Zuklapp-Signal: Kreis mit + / − rechts an der summary (rein per CSS,
   kein Markup noetig). Farbe = Kachel-Akzent, offen = Koralle (Fokus). */
.kap>summary::after{content:"";flex:0 0 auto;align-self:center;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--acc);background:linear-gradient(var(--acc),var(--acc)) center/12px 1.6px no-repeat,linear-gradient(var(--acc),var(--acc)) center/1.6px 12px no-repeat;transition:background-color .2s,border-color .2s}
.kap:hover>summary::after{border-color:var(--acc);background-color:var(--acc);background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff)}
.kap[open]>summary::after{border-color:var(--signal);background-color:var(--signal);background-image:linear-gradient(#fff,#fff);background-size:12px 1.6px;background-position:center;background-repeat:no-repeat}
/* Offener Zustand: Frage-Zeile abgesetzt, damit Frage und Antwort zwei Zonen sind. */
.kap[open]>summary{background:rgba(26,92,90,.09);border-bottom:1px solid rgba(26,92,90,.16)}
.kap__body{padding:2px 22px 26px}
.kap__lead{font-size:15.5px;color:var(--petrol-dark);font-weight:500;margin:16px 0 6px;line-height:1.6;padding:2px 0 2px 16px;border-left:3px solid var(--signal)}
.kap__body p{font-size:15px;color:var(--text-soft);margin:12px 0;max-width:66ch}
.kap__body p b{color:var(--text);font-weight:600}
.kap__body ul{margin:12px 0;padding-left:20px;font-size:15px;color:var(--text-soft);max-width:66ch}
.kap__body li{margin:7px 0}
.kap__body li::marker{color:var(--acc)}

/* KI-Kennzeichnung nach Art. 50 KI-VO — dezenter Hinweis an KI-erzeugten Hero-Motiven.
   Container (.hero/.ghead) sind bereits position:relative. */
.ki-hinweis{position:absolute;right:.5rem;bottom:.45rem;z-index:2;margin:0;padding:.1rem .38rem;border-radius:3px;font-size:.62rem;line-height:1.3;letter-spacing:0;background:rgba(10,25,24,.66);color:rgba(255,255,255,.88)}
