/*
Theme Name: Erneuerbare Energien News
Theme URI: https://erneuerbare-energien-news.net
Author: Erneuerbare Energien News
Description: Unabhängiges, wirtschaftsorientiertes Fachmagazin-Theme für erneuerbare Energien, innovative Energietechnologien und die Unternehmen hinter der Energiewende. 1:1 aus der statischen Design-Vorlage übernommen: Warm Lime + Olive Ink Farbwelt, Unbounded/Geist/Geist Mono, animierte Energie-Landschaft im Hero.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: eenews
*/

:root{
  --bg:#f6f7ee; --paper:#fbfcf6; --tint:#eef2dc; --tint2:#e3e9c6;
  --ink:#2F3A1D; --ink2:#4c5734; --mid:#6b7a45;
  --lime:#CFFF74; --lime-d:#b5e04f; --acc:#4f6a12;
  --line:rgba(47,58,29,.14); --r:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:'Geist',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.wrap{max-width:88rem;margin:0 auto;padding:0 20px}
@media(min-width:1024px){.wrap{padding:0 32px}}
.mono{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
h1,h2,h3,h4{letter-spacing:-.022em;text-wrap:balance}
p{text-wrap:pretty}
.rund{border-radius:var(--r);overflow:hidden}
.hl{background:linear-gradient(transparent 24%,var(--lime) 24%,var(--lime) 92%,transparent 92%);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.note{background:var(--ink);color:var(--lime);text-align:center;padding:6px 12px;font-size:11px}

/* Einheitlicher Kicker: Ressort-Icon im Lime-Kreis + Name */
.meta{display:flex;align-items:center;gap:10px;color:var(--ink2)}
.kk{display:inline-flex;align-items:center;gap:8px;font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--acc)}
.kk:before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--lime) var(--ic) center/13px no-repeat}
.kk.erzeugung{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 11 11 1h2zM12 11l8.7 5-1 1.7zM12 11l-8.7 6.7-1-1.7z' fill='%232F3A1D'/%3E%3Cpath d='M12 11v12' stroke='%232F3A1D' stroke-width='2'/%3E%3C/svg%3E")}
.kk.solar{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='5' fill='%232F3A1D'/%3E%3Cpath d='M12 1v4M12 19v4M1 12h4M19 12h4M4.2 4.2l2.8 2.8M17 17l2.8 2.8M4.2 19.8 7 17M17 7l2.8-2.8' stroke='%232F3A1D' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.kk.speicher{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='4' width='12' height='19' rx='2.5' fill='none' stroke='%232F3A1D' stroke-width='2'/%3E%3Crect x='9' y='1' width='6' height='3' fill='%232F3A1D'/%3E%3Crect x='8.5' y='12' width='7' height='8.5' fill='%232F3A1D'/%3E%3C/svg%3E")}

.kk.innovation{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F3A1D' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 23V9h6v14M6 23h12'/%3E%3Cpath d='M12 6q-2-1.5 0-3M8 5q-1-1.5 0-3M16 5q1-1.5 0-3'/%3E%3C/svg%3E")}
.kk.unternehmen{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F3A1D' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 23V10l6-3v16M9 23V3h12v20M1 23h22M13 7h1M17 7h1M13 11h1M17 11h1M13 15h1M17 15h1'/%3E%3C/svg%3E")}
.kk.markt{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F3A1D' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M7 21h10M4 7h16M4 7l-3 7h6zM20 7l-3 7h6z'/%3E%3C/svg%3E")}

/* Hügel-Trenner zwischen Abschnitten: Welle in der Farbe des folgenden Abschnitts */
.wv{position:relative}
.wv:before{content:"";position:absolute;left:0;right:0;top:-39px;height:40px;background:var(--wave) bottom/100% 100% no-repeat;pointer-events:none}
.wv-bg{--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V24Q240 0 520 18T1000 14T1440 22V40Z' fill='%23f6f7ee'/%3E%3C/svg%3E")}
.wv-paper{--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V16Q360 0 760 22T1440 14V40Z' fill='%23fbfcf6'/%3E%3C/svg%3E")}
.wv-tint{--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V18Q300 2 640 20T1180 12T1440 16V40Z' fill='%23eef2dc'/%3E%3C/svg%3E")}

/* Header */
header{position:sticky;top:0;z-index:40;background:rgba(246,247,238,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;gap:24px;height:68px}
.logo{font-family:'Unbounded';font-weight:700;font-size:15px;line-height:1.05;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.logo svg{width:30px;height:30px;flex:none}
nav.pri{display:flex;gap:2px;font-weight:500;font-size:14px}
nav.pri a{padding:7px 11px;border-radius:99px;white-space:nowrap}
nav.pri a:hover{background:var(--tint)}
.tools{margin-left:auto;display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);border-radius:99px;padding:10px 20px;font-size:14px;font-weight:600;border:0;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--lime-d)}
.btn.ink{background:var(--ink);color:var(--lime)}
@media(max-width:1180px){
  .hd{flex-wrap:wrap;height:auto;padding-top:12px;row-gap:6px}
  nav.pri{order:3;width:100%;overflow-x:auto;scrollbar-width:none;padding:0 0 10px;margin-left:-11px}
  nav.pri::-webkit-scrollbar{display:none}
}

/* Hero: die Landschaft läuft über die volle Breite und geht unten in den nächsten Abschnitt über */
.hero{position:relative;height:clamp(640px,50vw,880px);overflow:hidden}
.hero .art{position:absolute;inset:0}
.hero .art svg{width:100%;height:100%;display:block;overflow:visible}
.hero .wrap{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding-bottom:130px}
.txt{max-width:600px}
.txt h1{font-size:clamp(36px,4.6vw,66px);line-height:1.08;font-weight:700;margin:18px 0 20px}
.txt p{font-size:19px;line-height:1.55;color:var(--ink2);max-width:44ch}
.by{display:flex;align-items:center;gap:12px;margin:24px 0 28px;color:var(--ink2)}
.av{width:36px;height:36px;border-radius:50%;background:var(--tint2);object-fit:cover}
.blade{animation:spin 7s linear infinite}.b2{animation-duration:9s}.b3{animation-duration:5.5s}
@keyframes spin{to{transform:rotate(360deg)}}
.ring{transform-origin:1120px 240px;animation:pulse 4.5s ease-out infinite;opacity:0}
.ring.r2{animation-delay:1.5s}.ring.r3{animation-delay:3s}
@keyframes pulse{0%{transform:scale(.9);opacity:.7}100%{transform:scale(1.6);opacity:0}}
@media(max-width:1180px){
  .hero{height:auto}
  .hero .art{position:relative;height:400px}
  .hero .wrap{display:block;padding:8px 20px 64px}
}
@media(max-width:640px){.hero .art{height:300px}}

section{padding:88px 0}
.sh{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}
.sh h2{font-family:'Unbounded';font-weight:500;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em}
.more{font-weight:600;font-size:14px;display:inline-flex;gap:6px;border-bottom:2px solid var(--lime-d);padding-bottom:2px;white-space:nowrap}

/* Neu erschienen: Aufmacher + Raster */
.neu{background:var(--paper);padding-top:40px}
.lead{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center;margin-bottom:56px}
.lead .rund{aspect-ratio:16/10}
.lead h3{font-size:clamp(26px,2.8vw,40px);line-height:1.08;font-weight:700;margin:16px 0 14px}
.lead p{font-size:17px;line-height:1.6;color:var(--ink2)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.card .rund{aspect-ratio:3/2;margin-bottom:16px}
.card img,.lead img{transition:transform .6s}
.card:hover img,.lead:hover img{transform:scale(1.04)}
.card h3{font-size:21px;line-height:1.22;font-weight:600;margin:12px 0 8px}
.card p{font-size:15px;line-height:1.55;color:var(--ink2)}
.card:hover h3 span,.lead:hover h3 span,.tl:hover h4 span,.vc:hover h3 span,.wn .g3 a:hover h3 span{background:var(--lime)}
@media(max-width:900px){.lead{grid-template-columns:1fr;gap:20px}.grid3{grid-template-columns:1fr}}

/* Ressorts: Kacheln mit kleinen Landschaften, Animation nur beim Hovern */
.res .tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.tile{background:var(--paper);border-radius:16px;overflow:hidden;transition:transform .35s, box-shadow .35s}
.tile:hover{transform:translateY(-6px);box-shadow:0 18px 40px -22px rgba(47,58,29,.45)}
.tile svg{display:block;width:100%;aspect-ratio:1/1;background:var(--tint)}
.tile:nth-child(even) svg{background:var(--tint2)}
.tile .lbl{padding:16px 18px 18px}
.tile b{font-size:17px;font-weight:600;display:flex;justify-content:space-between;gap:10px}
.tile small{display:block;margin-top:4px;font-size:13px;color:var(--ink2);line-height:1.45}
.tile b i{font-style:normal;transition:transform .25s;color:var(--acc)}
.tile:hover b i{transform:translateX(4px)}
.tile .blade,.tile .tr{animation-play-state:paused}
.tile:hover .blade,.tile:hover .tr{animation-play-state:running}
.tr{animation:tr 4s linear infinite}
@keyframes tr{to{transform:translateX(-100px)}}
@media(max-width:1279px){.res .tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{display:block}.tile svg{width:100%;height:auto}}
@media(max-width:640px){.res .tiles{grid-template-columns:1fr}.tile{display:grid;grid-template-columns:96px 1fr;align-items:center}.tile svg{height:96px;width:96px}}
.flow{stroke-dasharray:10 8;animation:flow 1s linear infinite}
@keyframes flow{to{stroke-dashoffset:-36}}
.tilt{animation:tilt 2.4s ease-in-out infinite alternate}
@keyframes tilt{from{transform:rotate(-6deg)}to{transform:rotate(6deg)}}
.tile .flow,.tile .tilt{animation-play-state:paused}
.tile:hover .flow,.tile:hover .tilt{animation-play-state:running}

/* Aus den Ressorts: drei kompakte Spalten, je 1 Bild + 2 Textlinks */
.ausr{background:var(--paper)}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.three + .three{margin-top:64px}
.three.txt3 .tl:first-of-type{margin-top:0;border-top:0;padding-top:4px}
.col-h{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:20px;border-bottom:2px solid var(--ink)}
.col-h .ic{width:40px;height:40px;border-radius:50%;background:var(--lime);display:grid;place-items:center}
.col-h .ic svg{width:22px;height:22px}
.col-h h3{font-family:'Unbounded';font-weight:500;font-size:20px}
.col-h .more{margin-left:auto}
.three .card .rund{aspect-ratio:16/10;margin-bottom:14px}
.three .card h3{font-size:19px;margin:10px 0 4px}
.tl{display:block;padding:16px 0;border-top:1px solid var(--line)}
.tl:first-of-type{margin-top:16px}
.tl h4{font-size:16.5px;line-height:1.32;font-weight:600}
.tl .mono{color:var(--ink2);display:block;margin-top:6px}
@media(max-width:1024px){.three{grid-template-columns:1fr;gap:56px}}

/* Viel gelesen: textbetonte Karten statt Bild-plus-Liste */
.viel{background:var(--tint)}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.vc{position:relative;background:var(--paper);border-radius:18px;padding:24px 22px 0;display:flex;flex-direction:column;gap:16px;min-height:300px;overflow:hidden;transition:transform .3s}
.vc:hover{transform:translateY(-4px)}
.vc h3{font-size:22px;line-height:1.2;font-weight:600;flex:1}
.vc .mono{color:var(--ink2)}
.vc svg{display:block;width:calc(100% + 44px);margin:0 -22px;height:56px}
@media(max-width:1024px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.g4{grid-template-columns:1fr}.vc{min-height:0}}

/* Weitere Nachrichten: reine Textliste */
.wn .g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.wn .g3 a{display:block;padding:22px 0;border-top:1px solid var(--line)}
.wn h3{font-size:19px;line-height:1.3;font-weight:600;margin-top:10px}
@media(max-width:900px){.wn .g3{grid-template-columns:1fr}}

/* Unternehmen im Porträt */
.port .pg{display:grid;grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.port .intro h2{font-family:'Unbounded';font-weight:500;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;line-height:1.1}
.port .intro p{color:var(--ink2);font-size:16px;line-height:1.6;margin:16px 0 22px;max-width:34ch}
.pc .rund{aspect-ratio:4/5;position:relative;margin-bottom:14px}
.pc .tag{position:absolute;left:12px;top:12px;display:flex;gap:6px}
.pc .tag span{background:#fff;border-radius:99px;padding:5px 10px;font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.pc .tag .ad{background:var(--ink);color:var(--lime)}
.pc .co{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2)}
.pc h3{font-size:19px;line-height:1.25;font-weight:600;margin-top:8px}
.pc img{transition:transform .6s}.pc:hover img{transform:scale(1.04)}
.pc:hover h3 span{background:var(--lime)}
@media(max-width:1100px){.port .pg{grid-template-columns:repeat(3,minmax(0,1fr))}.port .intro{grid-column:1/-1}}
@media(max-width:700px){.port .pg{grid-template-columns:1fr}}

/* Newsletter */
.nlsec{padding-top:0}
.nl{position:relative;background:var(--lime);border-radius:24px;overflow:hidden;padding:64px 56px 120px}
.nl h2{font-family:'Unbounded';font-weight:700;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.02em}
.nl p{max-width:46ch;font-size:17px;line-height:1.55;margin:12px 0 26px}
.nl form{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}
.nl input{flex:0 1 340px;min-width:0;border:0;border-radius:99px;padding:14px 20px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.nl svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:140px}
@media(max-width:600px){.nl{padding:40px 22px 110px}.nl input{flex:1 1 100%}}

footer{padding:56px 0 64px;border-top:2px solid var(--ink)}
.ft{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;border-top:0;padding-top:36px}
.ft h4{font-size:12px;margin-bottom:12px;color:var(--ink2)}
.ft a{display:block;padding:4px 0;font-size:15px}
.ft a:hover{color:var(--acc)}
.ft p{color:var(--ink2);font-size:15px;line-height:1.55;margin-top:14px;max-width:34ch}
.ft .logo{display:inline-flex}
@media(max-width:800px){.ft{grid-template-columns:1fr 1fr}.ft>div:first-child{grid-column:1/-1}}
.ft .bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:20px;margin-top:12px;font-size:13px;color:var(--ink2)}
.ft .bottom a{display:inline;padding:0}

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

@keyframes fill{from{transform:scaleY(.15)}to{transform:scaleY(1)}}

/* ===== Gemeinsam: Header-Suche, Menü-Panel ===== */
.logo span{white-space:nowrap}
.searchbox{display:flex;align-items:center;gap:6px;width:236px;padding:4px 4px 4px 14px;border:1px solid var(--line);background:var(--paper);border-radius:99px}
.searchbox input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);outline:none}
.searchbox input::placeholder{color:var(--ink2)}
.searchbox button{width:30px;height:30px;border-radius:50%;border:0;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.searchbox button:hover{background:var(--tint)}
.searchbox:focus-within{border-color:var(--mid)}
@media(max-width:1380px){.searchbox{width:auto;padding:0;border:0;background:none}.searchbox input{display:none}.searchbox button{width:40px;height:40px;border:1px solid var(--line);background:var(--paper)}}
#menuBtn svg{transition:transform .2s}
#menuBtn.open svg{transform:rotate(180deg)}
nav.pri a[aria-current]{background:var(--lime)}
.mega{border-top:1px solid var(--line);background:var(--paper)}
.mega[hidden]{display:none}
.mega .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr);gap:40px;padding-top:36px;padding-bottom:40px}
.mega h3{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);font-weight:500;margin-bottom:14px}
.mega ul{list-style:none}
.mega li a{display:block;padding:6px 0;font-size:15px;font-weight:500}
.mega li a:hover{color:var(--acc)}
.mega .nlc{background:var(--lime);border-radius:18px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.mega .nlc b{font-family:'Unbounded';font-weight:700;font-size:22px;letter-spacing:-.02em}
.mega .nlc p{font-size:14px;line-height:1.5;margin-top:8px}
@media(max-width:900px){.mega .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mega .wrap{grid-template-columns:1fr;gap:24px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--ink2)}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.ptitle{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;font-family:'Unbounded';font-weight:700;font-size:clamp(28px,4vw,52px);line-height:1.08;letter-spacing:-.025em;margin:16px 0 18px;text-wrap:balance}
.plead{font-size:18px;line-height:1.6;color:var(--ink2);max-width:52ch}

/* ===== Archiv / Kategorie / Suche / Autor ===== */
.ahead{background:var(--paper);padding:44px 0 72px}
.ahead .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:48px;align-items:center}
.aart{background:var(--tint);border-radius:22px;overflow:hidden;aspect-ratio:4/3;display:grid;place-items:center}
.aart svg{width:78%;height:auto}
.aart img{width:100%;height:100%;object-fit:cover}
.aart [hidden]{display:none}
@media(max-width:900px){.ahead .wrap{grid-template-columns:minmax(0,1fr)}.aart{max-width:360px;aspect-ratio:16/9}}
.filter{padding:48px 0 0}
.bigsearch{display:flex;gap:10px;max-width:640px}
.bigsearch label{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:0 18px}
.bigsearch input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;padding:14px 0;outline:none;color:var(--ink)}
.bigsearch label:focus-within{border-color:var(--mid)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-top:22px;padding-bottom:4px}
.chips::-webkit-scrollbar{display:none}
.chips a{white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:8px 16px;font-size:14px;font-weight:500;background:var(--paper)}
.chips a:hover{border-color:var(--mid)}
.chips a[aria-current]{background:var(--lime);border-color:var(--lime)}
.count{margin-top:28px;color:var(--ink2)}
.results{padding-top:24px}
.results .grid3{row-gap:52px}
.card .by2{display:block;margin-top:10px;font-size:13px;color:var(--ink2)}
.card .rund{position:relative}
.adl{position:absolute;left:12px;top:12px;background:var(--ink);color:var(--lime);border-radius:99px;padding:5px 10px;font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.empty{background:var(--tint);border-radius:18px;padding:40px;text-align:center}
.empty h2{font-family:'Unbounded';font-weight:500;font-size:24px}
.empty p{color:var(--ink2);margin:10px 0 20px}

/* ===== Artikel ===== */
#progress{position:fixed;left:0;top:0;height:4px;width:0;z-index:60;background:linear-gradient(90deg,var(--lime-d),var(--acc))}
.ahero{padding-top:40px}
.ahero .in{max-width:54rem}
.ahero h1{font-size:clamp(34px,4.4vw,58px);line-height:1.06;font-weight:700;letter-spacing:-.025em;margin:16px 0 18px;text-wrap:balance}
.ahero .intro{font-size:20px;line-height:1.55;color:var(--ink2);max-width:46ch}
.byline{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin-top:28px}
.byline img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.byline .who{margin-right:auto}
.byline .who a{font-weight:600}
.byline .who a:hover{text-decoration:underline}
.byline .mono{display:block;margin-top:4px;color:var(--ink2)}
.share{display:flex;align-items:center;gap:8px}
.share a,.share button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;color:var(--ink);cursor:pointer}
.share a:hover,.share button:hover{background:var(--lime);border-color:var(--lime)}
.share svg{width:16px;height:16px}
.afig{margin-top:36px}
.afig .rund{border-radius:18px;aspect-ratio:16/9}
.afig figcaption{margin-top:10px;font-size:13px;color:var(--ink2)}
.abody{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;padding-top:56px;padding-bottom:24px}
@media(max-width:1024px){.abody{grid-template-columns:minmax(0,1fr)}.abody aside{display:none}}
.tocm{display:none;border-radius:16px;background:var(--tint);margin-bottom:32px}
.tocm summary{cursor:pointer;list-style:none;padding:16px 20px;font-weight:600;display:flex;justify-content:space-between}
.tocm summary::-webkit-details-marker{display:none}
.tocm nav{padding:0 12px 14px}
@media(max-width:1024px){.tocm{display:block}}
.toc-l{display:block;padding:7px 12px;border-left:2px solid var(--line);font-size:14px;color:var(--ink2)}
.toc-l:hover{color:var(--ink)}
.toc-l.active{border-left-color:var(--acc);color:var(--ink);font-weight:600;background:var(--tint)}
aside .stick{position:sticky;top:110px}
aside .lbl{font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px}
aside .nlmini{margin-top:28px;background:var(--lime);border-radius:18px;padding:22px}
aside .nlmini b{font-family:'Unbounded';font-weight:700;font-size:18px}
aside .nlmini p{font-size:14px;line-height:1.5;margin:6px 0 14px}
.beitragstext{max-width:44rem;font-size:17.5px;line-height:1.75;color:#2c3520}
.beitragstext>p{margin-top:1.3rem}
.beitragstext>p:first-child{margin-top:0}
.beitragstext .einstieg{font-size:20px;line-height:1.6;color:var(--ink)}
.beitragstext h2{font-family:'Unbounded';font-weight:500;font-size:26px;line-height:1.2;letter-spacing:-.02em;color:var(--ink);margin-top:3.2rem;scroll-margin-top:120px;position:relative}
@media(max-width:1180px){.beitragstext h2{scroll-margin-top:150px}}
.beitragstext h3{font-size:19px;font-weight:600;margin-top:2rem}
.beitragstext ul{list-style:none;margin-top:1.1rem}
.beitragstext ul li{position:relative;padding-left:1.6rem;margin-top:.55rem}
.beitragstext ul li::before{content:"";position:absolute;left:.2rem;top:.68rem;width:8px;height:8px;border-radius:50%;background:var(--lime-d);box-shadow:0 0 0 2px var(--ink) inset}
.beitragstext ol{margin-top:1.1rem;padding-left:1.4rem}
.beitragstext a:not(.anc):not(.btn){text-decoration:underline;text-decoration-color:var(--lime-d);text-decoration-thickness:2px;text-underline-offset:3px}
.beitragstext strong{font-weight:600;color:var(--ink)}
.anc{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:8px;border-radius:50%;vertical-align:middle;color:var(--ink2);opacity:0;transition:opacity .15s,background .15s}
.anc svg{width:15px;height:15px}
.beitragstext h2:hover .anc,.anc:focus{opacity:1}
.anc:hover{background:var(--lime);color:var(--ink)}
.answer{display:flex;gap:16px;align-items:flex-start;background:var(--tint);border-radius:18px;padding:24px;margin:2rem 0}
.answer .ai{flex:none;width:40px;height:40px;border-radius:50%;background:var(--lime);display:grid;place-items:center}
.answer .ai svg{width:20px;height:20px}
.answer b{display:block;font-size:20px;line-height:1.3;color:var(--ink);margin:4px 0 8px}
.answer p{font-size:16px;line-height:1.6;margin:0}
.tb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center;margin:2rem 0}
.tb .rund{aspect-ratio:4/3}
.tb p+p{margin-top:1rem}
@media(max-width:640px){.tb{grid-template-columns:1fr}}
.kg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:1.8rem 0}
.kg div{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px}
.kg i{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--lime);font-style:normal;font-family:'Geist Mono',monospace;font-size:12px;margin-bottom:12px}
.kg b{display:block;font-size:17px;color:var(--ink)}
.kg span{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:var(--ink2)}
@media(max-width:560px){.kg{grid-template-columns:1fr}}
.table-wrap{overflow-x:auto;margin:2rem 0}
.beitragstext table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:560px}
.beitragstext th,.beitragstext td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.beitragstext thead th{background:var(--tint);border-bottom:3px solid var(--lime-d);font-weight:600;color:var(--ink);white-space:nowrap}
.beitragstext td:last-child{font-weight:600;color:var(--ink)}
.beitragstext caption{caption-side:bottom;text-align:left;font-size:13px;color:var(--ink2);margin-top:10px}
.steps{list-style:none;margin:2rem 0;padding:0;position:relative}
.steps li{position:relative;padding:0 0 26px 58px}
.steps li:last-child{padding-bottom:0}
.steps li::before{content:"";position:absolute;left:19px;top:40px;bottom:4px;width:2px;background:var(--tint2)}
.steps li:last-child::before{display:none}
.steps .n{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--lime);display:grid;place-items:center;font-family:'Geist Mono',monospace;font-size:14px;color:var(--ink)}
.steps b{display:block;font-size:17px;color:var(--ink);padding-top:8px}
.steps span{display:block;font-size:15.5px;color:var(--ink2);margin-top:2px}
.faq{margin-top:1.2rem;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 48px 18px 0;position:relative;font-weight:600;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;width:32px;height:32px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–";background:var(--lime)}
.faq .fa{margin:0 0 18px;color:#3b4528}
.sources{counter-reset:q;list-style:none;padding:0!important;margin-top:1rem;font-size:15px}
.sources li{counter-increment:q;position:relative;padding-left:2.4rem;margin-top:.8rem;color:var(--ink2)}
.sources li::before{content:counter(q);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--tint);display:grid;place-items:center;font-family:'Geist Mono',monospace;font-size:12px;color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--line)}
.tags a{border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:13px;font-weight:500;background:var(--paper)}
.tags a:hover{background:var(--lime);border-color:var(--lime)}
.cta{margin-top:2.5rem;background:var(--tint);border-radius:20px;padding:28px;position:relative;overflow:hidden}
.cta b{display:block;font-size:22px;line-height:1.25;color:var(--ink);margin:10px 0 6px;max-width:26ch}
.cta p{font-size:15px;color:var(--ink2);margin-bottom:18px;max-width:40ch}
.abox{margin-top:2.5rem;display:flex;gap:18px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px}
.abox img{width:68px;height:68px;border-radius:50%;object-fit:cover;flex:none}
.abox .mono{color:var(--ink2)}
.abox b{display:block;font-size:19px;color:var(--ink);margin-top:4px}
.abox small{display:block;font-size:14px;color:var(--ink2)}
.abox p{font-size:15px;line-height:1.6;margin-top:8px}
.abox a.more{margin-top:12px}
@media(max-width:560px){.abox{flex-direction:column}}
.related{background:var(--tint)}
#toTop{position:fixed;right:20px;bottom:20px;z-index:45;width:46px;height:46px;border-radius:50%;border:0;background:var(--lime);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 24px -12px rgba(47,58,29,.6);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}
#toTop.show{opacity:1;pointer-events:auto;transform:none}

/* ===== Über uns ===== */
.themen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.thema{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border-radius:18px;padding:22px;transition:transform .3s}
.thema:hover{transform:translateY(-4px)}
.thema .ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--lime);display:grid;place-items:center}
.thema .ic svg{width:24px;height:24px}
.thema b{display:block;font-size:18px}
.thema small{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--ink2)}
@media(max-width:900px){.themen{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.themen{grid-template-columns:1fr}}
.werte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.werte b{display:block;font-family:'Unbounded';font-weight:500;font-size:22px;margin:14px 0 8px}
.werte p{color:var(--ink2);line-height:1.6}
@media(max-width:900px){.werte{grid-template-columns:1fr;gap:28px}}
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.person .rund{aspect-ratio:1/1;margin-bottom:14px}
.person b{display:block;font-size:19px}
.person small{display:block;font-size:14px;color:var(--acc);margin-top:2px}
.person p{font-size:15px;line-height:1.55;color:var(--ink2);margin:10px 0 12px}
@media(max-width:1024px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.team{grid-template-columns:1fr}}
.kontakt{background:var(--tint);border-radius:22px;padding:40px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.kontakt h2{font-family:'Unbounded';font-weight:500;font-size:28px}
.kontakt p{color:var(--ink2);margin-top:10px;max-width:52ch;line-height:1.6}
@media(max-width:800px){.kontakt{grid-template-columns:minmax(0,1fr);padding:28px}.kontakt h2{font-size:22px;hyphens:auto;-webkit-hyphens:auto}}

/* ===== Impressum ===== */
.legal{max-width:44rem}
.legal h2{font-family:'Unbounded';font-weight:500;font-size:22px;margin-top:2.6rem;scroll-margin-top:120px}
.legal p{margin-top:.8rem;line-height:1.7;color:#2c3520}
.impbild{margin-top:1.6rem;border:1px solid var(--line);background:var(--bg);max-width:640px}
.impbild img{display:block;width:100%;height:auto}
.impbild figcaption{padding:12px 16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink2);background:var(--paper)}

/* ===== Pagination (WordPress) ===== */
.nav-links,.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:3.5rem;flex-wrap:wrap}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;height:2.35rem;padding:0 .7rem;border:1px solid var(--line);border-radius:99px;font-size:13px;font-weight:700;color:var(--ink2);text-decoration:none;transition:border-color .2s,color .2s,background .2s}
.page-numbers:hover{border-color:var(--mid);color:var(--acc)}
.page-numbers.current{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.page-numbers.dots{border-color:transparent;color:var(--ink2)}
