/* ============================================================
   Eltern & Trennung — shared design system (dark/editorial)
   Playfair Display / IBM Plex Sans / IBM Plex Mono, lokal
   gehostet (assets/fonts) statt von fonts.googleapis.com
   geladen — vermeidet die Übertragung der Besucher-IP an Google.
   Latin-Subset genügt für deutschen Text (deckt auch ä/ö/ü/ß ab).
   Jede Datei ist ein Variable-Font-Static-Instance-File: Google
   liefert für mehrere Schriftschnitte dieselbe Datei aus, hier
   genauso gehandhabt (mehrere @font-face-Regeln, eine Quelldatei).
   ============================================================ */

@font-face{
  font-family:'IBM Plex Mono'; font-style:normal; font-weight:400;
  font-display:swap; src:url('fonts/ibm-plex-mono-latin-400.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:'IBM Plex Mono'; font-style:normal; font-weight:500;
  font-display:swap; src:url('fonts/ibm-plex-mono-latin-500.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:'IBM Plex Sans'; font-style:normal; font-weight:400;
  font-display:swap; src:url('fonts/ibm-plex-sans-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:'IBM Plex Sans'; font-style:normal; font-weight:500;
  font-display:swap; src:url('fonts/ibm-plex-sans-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:'IBM Plex Sans'; font-style:normal; font-weight:600;
  font-display:swap; src:url('fonts/ibm-plex-sans-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:500;
  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:600;
  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:700;
  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:italic; font-weight:500;
  font-display:swap; src:url('fonts/playfair-display-italic-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:italic; font-weight:600;
  font-display:swap; src:url('fonts/playfair-display-italic-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:italic; font-weight:700;
  font-display:swap; src:url('fonts/playfair-display-italic-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;
}

:root{
  --ink:#F1EFE9;
  --paper:#0A0A0A;
  --paper-2:#151515;
  --line:#2E2E2E;
  --rust:#C15D3B;
  --rust-dark:#A5492E;
  --moss:#93A97D;
  --muted:#9C9992;
  --body:#D6D3CB;
  --white:#0A0A0A;
  --on-accent:#FBF3E4;
  --max:760px;
  --max-wide:1000px;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size:17px;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 28px;}
.wrap-wide{max-width:var(--max-wide); margin:0 auto; padding:0 28px;}

h1,h2,h3{font-family:'Playfair Display', serif; font-weight:600; line-height:1.15; letter-spacing:-.005em;}
h1 em, h2 em, h3 em{font-style:italic; font-weight:500; color:#B9B6AE;}

.tag{
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; letter-spacing:.02em;
  color:var(--muted); display:inline-flex; align-items:center; gap:8px; padding:3px 0;
}
.tag::before{content:""; width:7px; height:7px; background:var(--rust); display:inline-block; transform:rotate(45deg);}

hr.rule{border:none; border-top:1px solid var(--line); margin:0;}

/* ===== PLACEHOLDER HELPERS ===== */
.ph-photo{
  border:1.5px dashed #4A4A4A;
  background:repeating-linear-gradient(135deg, #161616, #161616 10px, #1D1D1D 10px, #1D1D1D 20px);
  color:var(--muted); font-family:'IBM Plex Mono', monospace; font-size:13px;
  display:flex; align-items:center; justify-content:center; text-align:center; padding:24px;
}
.ph-note{
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:#D98A6A;
  background:#1C1310; border-left:2px solid var(--rust); padding:10px 14px;
  margin-top:10px; line-height:1.5;
}
.placeholder{
  font-family:'IBM Plex Mono', monospace; background:#1C1310; border:1px dashed var(--rust);
  color:#D98A6A; font-size:11.5px; font-weight:500; padding:4px 10px; border-radius:1px;
  display:inline-block; margin-top:10px;
}

/* ===== BUTTONS ===== */
.btn{
  font-family:'IBM Plex Sans', sans-serif; font-weight:500; font-size:15px;
  padding:13px 22px; text-decoration:none; display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--ink); cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn-solid{background:var(--ink); color:var(--white); border-color:var(--ink);}
.btn-solid:hover{background:var(--rust); border-color:var(--rust); color:var(--on-accent);}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--ink);}
.btn-ghost:hover{border-color:var(--rust); color:var(--rust);}
.btn[disabled],.btn.disabled{opacity:.5; cursor:not-allowed; pointer-events:none;}

/* ===== BRAND BARS ===== */
.topbar,.bottombar{height:4px; background:var(--rust);}

/* ===== HEADER / NAV ===== */
header{position:sticky; top:0; z-index:50; background:rgba(10,10,10,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
.nav{max-width:var(--max-wide); margin:0 auto; padding:16px 28px; display:flex; justify-content:space-between; align-items:center;}
.brand{font-family:'Playfair Display', serif; font-weight:700; font-size:19px; letter-spacing:-.01em;}
.brand span{color:var(--rust);}
.nav-links{display:flex; align-items:center; gap:24px; font-size:14.5px;}
.nav-links a{text-decoration:none; color:var(--ink);}
.nav-links a:hover, .nav-links a.active{color:var(--rust);}
.nav-links a.cta{background:var(--rust); color:var(--on-accent); padding:9px 16px; border:1px solid var(--rust);}
.nav-links a.cta:hover{background:transparent; color:var(--rust);}
.nav-toggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{width:20px; height:2px; background:var(--ink); display:block;}
@media (max-width:800px){
  .nav-links{
    position:absolute; top:100%; left:0; right:0; background:var(--paper);
    border-bottom:1px solid var(--line); flex-direction:column; align-items:flex-start; gap:0;
    padding:0 28px; max-height:0; overflow:hidden; transition:max-height .25s ease;
  }
  .nav-links.open{max-height:460px; padding:8px 28px 22px;}
  .nav-links a{padding:13px 0; width:100%; border-top:1px solid var(--line);}
  .nav-links a.cta{margin-top:10px; text-align:center; justify-content:center;}
  .nav-toggle{display:flex;}
}

/* ===== SECTION BASICS ===== */
section{padding:64px 0;}
section.alt{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
section.deep{background:#000;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:32px; gap:20px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(26px,3.6vw,34px); letter-spacing:-.01em;}
.section-lead{color:var(--muted); font-size:15.5px; max-width:62ch; margin-top:-12px; margin-bottom:32px;}

/* ===== PAGE HERO (Unterseiten) ===== */
.page-hero{background:var(--paper-2); border-bottom:1px solid var(--line); padding:60px 0 52px;}
.page-hero .tag{margin-bottom:18px;}
.page-hero h1{font-size:clamp(30px,5vw,46px); line-height:1.1; max-width:780px; margin-bottom:16px;}
.page-hero p.lead{font-size:17px; color:var(--muted); max-width:620px;}

/* ===== HOME HERO ===== */
.hero{padding:76px 0 64px;}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:center;}
@media (max-width:800px){ .hero-grid{grid-template-columns:1fr;} }
.file-mark{
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--muted);
  border:1px solid var(--line); display:inline-block; padding:5px 10px; margin-bottom:22px;
}
.hero h1{font-size:clamp(34px, 5.4vw, 54px); letter-spacing:-.015em;}
.hero-sub{margin-top:22px; font-size:18px; color:var(--muted); max-width:46ch;}
.hero-cta{margin-top:34px; display:flex; gap:14px; flex-wrap:wrap;}
.hero-credibility{margin-top:34px; padding-top:20px; border-top:1px solid var(--line); font-size:13.5px; color:var(--muted); font-style:italic;}
.hero-photo{aspect-ratio:4/5; width:100%; overflow:hidden; border:1px solid var(--line);}
.hero-photo .ph-photo{width:100%; height:100%;}
.hero-photo-img{width:100%; height:100%; object-fit:cover; display:block;}

/* ===== ZUSTAND / NUMMERIERTE LISTE (Pain Points) ===== */
.zustand-list{display:flex; flex-direction:column;}
.zustand-item{padding:26px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:70px 1fr; gap:22px;}
.zustand-item:first-child{border-top:none;}
@media (max-width:600px){ .zustand-item{grid-template-columns:1fr;} }
.zustand-num{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--rust);}
.zustand-item h3{font-size:21px; font-weight:600; font-style:italic; margin-bottom:8px;}
.zustand-item p{margin:0; color:var(--muted); font-size:15.5px; max-width:56ch;}

/* ===== ÜBER MICH ===== */
.about-grid{display:grid; grid-template-columns:.9fr 1.4fr; gap:48px; align-items:start;}
@media (max-width:800px){ .about-grid{grid-template-columns:1fr;} }
.about-photo .ph-photo{aspect-ratio:3/4;}
.about-photo-img{width:100%; aspect-ratio:3/4; object-fit:cover; display:block; border:1px solid var(--line);}
.credentials{
  margin-top:16px; font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--muted);
  line-height:1.9; border-top:1px solid var(--line); padding-top:14px;
}
.about-text p{margin:0 0 18px; color:var(--body);}
.about-text p:last-child{margin-bottom:0;}
.about-facts{margin-top:8px;}
.about-facts li{padding:16px 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--body); font-weight:500;}
.about-facts li:last-child{border-bottom:1px solid var(--line);}
.pull{
  font-family:'Playfair Display', serif; font-weight:600; font-style:italic; font-size:23px;
  color:var(--ink); border-left:2px solid var(--rust); padding-left:18px; margin:26px 0;
}
.stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px; border-top:1px solid var(--line); padding-top:24px;}
@media (max-width:600px){ .stat-row{grid-template-columns:1fr; gap:16px;} }
.stat-num{font-family:'Playfair Display', serif; font-size:28px; font-weight:700;}
.stat-label{font-size:13px; color:var(--muted); margin-top:2px;}

/* ===== PULL-QUOTE (freistehend, z.B. Kontakt/Elternkompass) ===== */
.pull-quote{border-left:2px solid var(--rust); padding:4px 0 4px 22px; margin:32px 0; max-width:64ch;}
.pull-quote p{font-family:'Playfair Display', serif; font-style:italic; font-weight:600; color:var(--ink); font-size:21px; line-height:1.45; margin:0;}
.pull-quote cite{display:block; margin-top:12px; font-family:'IBM Plex Mono', monospace; font-style:normal; font-size:12px; color:var(--muted);}

/* ===== NOTICE (wichtiger Hinweis, ersetzt frühere Warnbox) ===== */
.notice{background:var(--paper-2); border-left:3px solid var(--rust); padding:22px 26px; margin:28px 0;}
.notice-label{font-family:'IBM Plex Mono', monospace; font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--rust); margin-bottom:10px;}
.notice p{color:var(--body); font-size:15px; margin:0;}

/* ===== REFERRAL-BOX (sanfter Hinweis, "Schreib mir") ===== */
.referral-box{background:var(--paper-2); border-left:3px solid var(--moss); padding:20px 24px; margin:28px 0; max-width:60ch;}
.referral-box p{color:var(--body); font-size:15px; margin:0; font-weight:500;}
.referral-box a{color:var(--moss); text-decoration:underline;}

/* ===== STIMME DES KINDES ===== */
.child-voice{background:var(--paper-2); border-left:3px solid var(--moss); padding:24px 28px; margin:28px 0; max-width:64ch;}
.child-voice p{font-family:'Playfair Display', serif; font-style:italic; font-weight:500; color:var(--ink); font-size:18px; line-height:1.5; margin:0 0 10px;}
.child-voice .cv-label{font-family:'IBM Plex Mono', monospace; font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--muted);}

/* ===== NUMMERIERTE SCHRITTE ===== */
.num-list{display:flex; flex-direction:column; gap:24px; margin:28px 0;}
.num-item{display:grid; grid-template-columns:44px 1fr; gap:18px; align-items:start;}
.num-circle{
  width:38px; height:38px; border-radius:50%; border:1.5px solid var(--rust); color:var(--rust);
  display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono', monospace;
  font-weight:500; font-size:15px;
}
.num-item h3{font-size:18px; font-weight:600; margin-bottom:6px;}
.num-item p{color:var(--muted); font-size:15px; margin:0;}

/* ===== SYSTEMCHECK ===== */
.systemcheck-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:36px;}
@media (max-width:700px){ .systemcheck-stats{grid-template-columns:1fr;} }
.systemcheck-stat{border-top:2px solid var(--rust); padding-top:14px;}
.systemcheck-num{font-family:'Playfair Display', serif; font-size:clamp(30px,4vw,42px); font-weight:700;}
.systemcheck-label{font-size:14.5px; color:var(--muted); margin-top:8px; max-width:32ch;}
.systemcheck-source{font-family:'IBM Plex Mono', monospace; font-size:12px; color:#8F836B; margin-top:30px;}

/* ===== ANGEBOT (großformatige Karte, z.B. Guide 1 verfügbar) ===== */
.offer{display:grid; grid-template-columns:200px 1fr; gap:28px; border:1px solid var(--line); background:var(--paper-2); padding:30px; align-items:center; margin-bottom:24px;}
.offer.featured{border-color:var(--rust);}
.guide-cover{aspect-ratio:3/4; background:#000; border:1px solid var(--line); position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:16px;}
.guide-cover::before,.guide-cover::after{content:""; position:absolute; left:0; right:0; height:3px; background:var(--rust);}
.guide-cover::before{top:0;} .guide-cover::after{bottom:0;}
.guide-cover.photo{padding:0; background:none;}
.guide-cover.photo::before,.guide-cover.photo::after{display:none;}
.guide-cover.photo img{width:100%; height:100%; object-fit:cover; display:block;}
.guide-cover .gc-eyebrow{font-family:'IBM Plex Mono', monospace; font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--rust);}
.guide-cover .gc-num{font-family:'Playfair Display', serif; font-size:32px; font-weight:700; color:var(--ink);}
.guide-cover .gc-title{font-family:'IBM Plex Sans', sans-serif; font-size:13px; font-weight:600; color:var(--ink); line-height:1.3;}
.guide-cover .gc-sub{font-family:'IBM Plex Mono', monospace; font-size:9px; color:var(--muted);}
.offer-tag{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--rust); margin-bottom:8px;}
.offer-tag.muted{color:var(--muted);}
.offer h3{font-size:21px; margin-bottom:8px;}
.offer p{color:var(--muted); font-size:14.5px; margin-bottom:16px;}
@media (max-width:640px){ .offer{grid-template-columns:1fr;} .guide-cover{max-width:180px;} }

/* ===== GUIDE-GRID (restliche Serie, textbasiert) ===== */
.guide-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px;}
.guide-tile{border:1px solid var(--line); background:var(--paper-2); padding:20px 18px; display:flex; flex-direction:column; gap:10px;}
.guide-tile .gt-num{font-family:'Playfair Display', serif; font-weight:700; font-size:24px; color:var(--rust); line-height:1;}
.guide-tile .gt-title{font-family:'IBM Plex Sans', sans-serif; font-weight:600; font-size:14.5px; color:var(--ink); line-height:1.3;}
.guide-tile .gt-desc{font-size:12.5px; color:var(--muted); line-height:1.5; flex:1;}
.guide-tile .gt-tag{font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:#78756D;}
@media (max-width:900px){ .guide-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .guide-grid{grid-template-columns:1fr;} }

/* ===== WERKZEUGE / ANGEBOTS-KARTEN (Startseite) ===== */
.werkzeuge-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
@media (max-width:850px){ .werkzeuge-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .werkzeuge-grid{grid-template-columns:1fr;} }
.werkzeug-card{border:1px solid var(--line); background:var(--paper-2); display:flex; flex-direction:column;}
.werkzeug-card.highlight{border-color:var(--rust);}
.werkzeug-thumb{aspect-ratio:4/3;}
.werkzeug-thumb .ph-photo{width:100%; height:100%; padding:14px;}
.werkzeug-thumb img{width:100%; height:100%; object-fit:cover; object-position:top; display:block;}
.werkzeug-body{padding:22px; display:flex; flex-direction:column; flex-grow:1;}
.werkzeug-num{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--rust); margin-bottom:10px;}
.werkzeug-card h3{font-family:'Playfair Display', serif; font-style:italic; font-weight:600; font-size:22px; line-height:1.2; margin-bottom:10px;}
.werkzeug-card p{color:var(--muted); font-size:14.5px; margin:0 0 18px; flex-grow:1;}
.werkzeug-meta{display:flex; justify-content:space-between; align-items:center; padding-top:14px; border-top:1px solid var(--line);}
.werkzeug-price{font-family:'IBM Plex Mono', monospace; font-size:12.5px; color:var(--muted);}
.werkzeug-cta{font-size:14px; font-weight:500; color:var(--rust); text-decoration:none;}
.werkzeug-cta:hover{color:var(--ink);}

.status-chip{
  font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.02em; color:var(--moss);
  border:1px solid var(--moss); padding:3px 9px; display:inline-block; width:fit-content; margin-bottom:14px;
}

/* ===== DOWNLOADS / OPT-IN (Systeme.io Platzhalter) ===== */
.optin-panel{border:1.5px dashed #3D3D3D; background:var(--paper-2); padding:30px; max-width:520px;}
.form-row{display:flex; gap:10px; flex-wrap:wrap; max-width:520px; margin-bottom:4px;}
.form-row input{
  flex:1; min-width:150px; padding:13px 14px; background:#000; border:1px solid #2A2A2A;
  color:var(--ink); font-family:'IBM Plex Sans', sans-serif; font-size:14.5px;
}
.form-row input::placeholder{color:#6B6862;}
.form-row input:focus{outline:1.5px solid var(--rust); outline-offset:1px; border-color:var(--rust);}
.form-row button{
  padding:13px 20px; background:var(--rust); border:1px solid var(--rust); color:var(--on-accent);
  font-family:'IBM Plex Sans', sans-serif; font-weight:500; font-size:14.5px; cursor:pointer;
}
.form-row button:hover{background:var(--rust-dark);}
.optin-note{font-size:12px; color:var(--muted); margin-top:10px;}
.embed-note{margin-top:16px;}

/* ===== KOMMENTARE ===== */
.kommentare-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media (max-width:800px){ .kommentare-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .kommentare-grid{grid-template-columns:1fr;} }
.kommentar{
  border:1.5px solid #3D3D3D; padding:20px; background:#141414; font-size:14px; color:var(--muted);
  font-family:'IBM Plex Mono', monospace; line-height:1.6;
}
.kommentar .quelle{display:block; margin-top:12px; font-size:11.5px; color:#8F836B;}

/* ===== FAQ ===== */
.faq-item{border-top:1px solid var(--line); padding:22px 0;}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item h3{font-size:17px; font-weight:600; margin-bottom:8px;}
.faq-item p{margin:0; color:var(--muted); font-size:15px; max-width:60ch;}

/* ===== CLOSE / FINALE CTA ===== */
.close{background:var(--paper-2); border-top:1px solid var(--line); text-align:center; padding:76px 0;}
.close h2{font-size:clamp(28px,4.4vw,40px); max-width:16ch; margin:0 auto 18px;}
.close p{color:var(--muted); max-width:48ch; margin:0 auto 30px;}

/* ===== FOOTER ===== */
footer{padding:40px 0 56px; font-size:12.5px; color:var(--muted); font-family:'IBM Plex Mono', monospace; line-height:1.8;}
footer a{text-decoration:underline;}
.footer-grid{display:flex; justify-content:space-between; align-items:flex-start; gap:30px; flex-wrap:wrap;}
.footer-brand{color:var(--rust); font-weight:500;}
.footer-legal{display:flex; gap:18px; margin-top:10px;}
.footer-legal a{color:var(--muted); text-decoration:none;}
.footer-legal a:hover{color:var(--rust);}

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