/* Schriften: lokal eingebunden (Ordner /schriften, Lizenz: SIL Open Font License) */
@font-face{font-family:"Instrument Sans";src:url("../schriften/InstrumentSans-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../schriften/InstrumentSans-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Serif";src:url("../schriften/IBMPlexSerif-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Serif";src:url("../schriften/IBMPlexSerif-Italic.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Serif";src:url("../schriften/IBMPlexSerif-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../schriften/IBMPlexMono-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

/* Layout: ruhige Einzelspalte mit breiten Weißräumen; Leitmotiv = drei sich überlagernde Kreise (Steuerung · Versorgung · Lebensumfeld) */
:root{
  color-scheme:light;
  --bg:#FFFFFF; --surface:#F6F8F6; --ink:#111111; --muted:#555555; --line:#DCE3DE;
  --c1:#14AC7D; --c2:#9CC447; --c3:#4F86A6; --c1t:#0A7A57; --c2t:#5C7C1C; --c3t:#355F7A;
  --accent:#0A7A57; --accent-ink:#FFFFFF;
  --ann:#B08A2E; --ann-bg:rgba(176,138,46,.14);
  --f-display:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"IBM Plex Serif",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2.5rem; --s5:4rem; --s6:6rem;
}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.05rem;line-height:1.7;margin:0}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.12;text-wrap:balance;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,5.5vw,3.9rem)}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
h3{font-size:1.32rem;font-weight:400}
p{margin:0;max-width:65ch}
.label{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}

/* Header */
/* Kopfzeile dunkel (CI) */
header.site{--bg:#0F1A16;--surface:#15241F;--ink:#EEF3EF;--muted:#A7BAB0;--line:#2A3D35;--accent:#3CC79A;--accent-ink:#0F1A16;color:var(--ink)}
header.site{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{max-width:72rem;margin:0 auto;padding-inline:clamp(16px,4vw,40px);padding-block:.85rem;display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:.7rem;line-height:1.15}
.brand img{height:46px;width:auto;flex:none}
.brand .bt{display:flex;flex-direction:column;font:inherit;text-transform:none;letter-spacing:normal;color:var(--ink);min-width:0}
.brand{min-width:0;max-width:20rem}
.brand b{font-family:var(--f-display);font-weight:700;font-size:1.12rem;white-space:nowrap}
.brand span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
nav.main{display:flex;gap:1.1rem;align-items:center;flex-wrap:nowrap;white-space:nowrap}
nav.main a{font-family:var(--f-display);font-size:.96rem;color:var(--ink);text-decoration:none;padding-block:.25rem;border-bottom:1.5px solid transparent}
nav.main a[aria-current="page"]{border-color:var(--accent)}
nav.main a.cta{background:var(--accent);color:var(--accent-ink);padding:.45rem .95rem;border-radius:999px;border:0}
.has-sub{position:relative;display:flex;flex-direction:column}
.has-sub .sub{display:none;position:absolute;top:100%;left:-1rem;min-width:17rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:.6rem 1rem;flex-direction:column;gap:.5rem;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:flex}
nav.main .sub a{font-size:.92rem}
.photo.nav-photo{display:none}
@media (max-width:1180px){
  header.site nav.main.open{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:clamp(1rem,4vw,2.5rem);row-gap:.8rem;align-items:start;justify-items:start}
  header.site nav.main.open > *:not(.nav-photo){grid-column:1}
  header.site nav.main.open .photo.nav-photo{display:block;grid-column:2;grid-row:1 / span 7;align-self:stretch;justify-self:stretch;aspect-ratio:auto;min-height:12rem;max-width:26rem}
  header.site nav.main.open .photo.nav-photo{position:relative;overflow:hidden}
  header.site nav.main.open .nav-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}
}
.menu-btn{display:none;font:400 .95rem var(--f-display);background:none;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.4rem .9rem;cursor:pointer}
@media (max-width:1180px){
  .menu-btn{display:block}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:var(--s2) clamp(16px,4vw,40px) var(--s3);gap:.8rem}
  nav.main.open{display:flex}
  .has-sub .sub{display:flex;position:static;box-shadow:none;border:0;background:none;padding:.4rem 0 0 1rem;min-width:0}
}

/* Pages */
main{max-width:72rem;margin:0 auto;padding-inline:clamp(16px,4vw,40px);padding-block:var(--s4) var(--s6)}
.page{display:flex;flex-direction:column;gap:var(--s5)}
section{display:flex;flex-direction:column;gap:var(--s3)}
.prose{display:flex;flex-direction:column;gap:var(--s2)}
.lead{font-size:1.25rem;line-height:1.55;color:var(--ink)}
.muted{color:var(--muted)}

.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s4);align-items:center;padding-block:var(--s3)}
.hero .prose{gap:var(--s3)}
@media (max-width:860px){.hero{grid-template-columns:minmax(0,1fr)}.photo.hero-photo{order:-1;aspect-ratio:4/3}.photo.hero-photo img{object-position:50% 22%}}
.photo.hero-photo{max-width:440px;justify-self:end}
@media (max-width:860px){.photo.hero-photo{max-width:100%;justify-self:stretch}}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{font:400 1rem var(--f-display);text-decoration:none;padding:.75rem 1.3rem;border-radius:999px;border:1.5px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer}
.btn.primary{background:var(--accent);color:var(--accent-ink)}

/* Venn */
.venn{width:100%;max-width:420px;justify-self:center}
.venn a{cursor:pointer;-webkit-tap-highlight-color:transparent}
.venn a circle{transition:fill-opacity .25s}
.venn a:hover circle,.venn a:focus circle{fill-opacity:.32}
.venn text{font-family:var(--f-display);fill:var(--ink)}
.venn .t-sm{font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;fill:var(--muted)}

/* Ebenen */
.levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
@media (max-width:860px){.levels{grid-template-columns:minmax(0,1fr)}}
.level{display:flex;flex-direction:column;gap:.75rem;padding-top:var(--s2);border-top:3px solid var(--c)}
.level h3 a{color:var(--ink);text-decoration:none}
.level .more{font-family:var(--f-display);font-size:.95rem;margin-top:auto}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s4);align-items:start}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}
.photo{margin:0;aspect-ratio:4/5;max-width:100%;width:100%;border-radius:6px;background:repeating-linear-gradient(135deg,var(--surface) 0 12px,var(--bg) 12px 24px);border:1.5px dashed var(--line);display:flex;flex-direction:column;justify-content:flex-end;gap:.25rem;padding:var(--s3)}
.photo .slot-no{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.photo .slot-t{font-family:var(--f-display);font-size:1.15rem;font-weight:700;color:var(--ink)}
.photo img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.photo.has-img{padding:0;border:0;background:none;overflow:hidden}
.photo.wide{aspect-ratio:16/9}

blockquote{margin:0;padding-left:var(--s3);border-left:2px solid var(--line);display:flex;flex-direction:column;gap:.5rem}
blockquote p{font-style:italic;font-size:1.15rem}
.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
@media (max-width:760px){.quotes{grid-template-columns:minmax(0,1fr)}}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(1.25rem,3vw,2.25rem);display:flex;flex-direction:column;gap:var(--s2)}

table{border-collapse:collapse;width:100%;font-size:1rem}
.tbl{overflow-x:auto}
th,td{text-align:left;padding:.75rem .9rem .75rem 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--f-mono);font-weight:400;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
td .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--c);margin-right:.5rem;vertical-align:baseline}

ol.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s3);counter-reset:s}
ol.steps li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:var(--s2);counter-increment:s}
ol.steps li::before{content:counter(s);font-family:var(--f-display);font-weight:400;font-size:2rem;line-height:1;color:var(--accent)}
ol.steps h3{margin-bottom:.35rem}

ul.plain{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.4rem;max-width:65ch}

.crosslinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
@media (max-width:760px){.crosslinks{grid-template-columns:minmax(0,1fr)}}
.crosslinks a{display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:var(--ink);padding:var(--s2) 0;border-top:3px solid var(--c)}
.crosslinks a b{font-family:var(--f-display);font-weight:700;font-size:1.1rem}

.legal .prose h2{margin-top:var(--s3)}
.legal .prose h3{margin-top:var(--s1)}
.page-head{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s3);max-width:52rem}

/* Form */
form{display:flex;flex-direction:column;gap:var(--s2)}
label{font-family:var(--f-display);font-size:.95rem;display:flex;flex-direction:column;gap:.35rem}
input,textarea{font:inherit;font-size:1rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink);width:100%}
textarea{min-height:8rem;resize:vertical}
.check{flex-direction:row;align-items:flex-start;gap:.6rem;font-family:var(--f-body);font-size:.92rem;color:var(--muted)}
.check input{width:auto;margin-top:.3rem}
.form-msg{font-family:var(--f-display);color:var(--accent)}

footer.site{border-top:1px solid var(--line)}
footer .bar{flex-wrap:wrap;padding-block:var(--s3)}
footer .bar a{color:var(--muted);font-family:var(--f-display);font-size:.92rem;text-decoration:none;margin-right:1.2rem}

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

/* Startbild über die volle Breite, Text links */
body{overflow-x:clip}
.hero-wide{position:relative;width:100vw;margin-inline:calc(50% - 50vw);margin-top:calc(-1 * var(--s4));min-height:clamp(440px,52vw,680px);display:flex;align-items:center}
.hero-wide .photo.hero-bg{position:absolute;inset:0;width:100%;max-width:none;aspect-ratio:auto;border-radius:0;padding:0;border:0;margin:0}
.hero-wide .photo.hero-bg img{border-radius:0;object-fit:cover;object-position:65% 35%}
.hero-wide::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 32%,rgba(255,255,255,0) 58%)}
.hero-text{position:relative;z-index:2;width:100%;max-width:72rem;margin-inline:auto;padding-inline:clamp(16px,4vw,40px);padding-block:var(--s5)}
.hero-text .prose{max-width:34rem;gap:var(--s3)}
.hero-text h1{font-size:clamp(2rem,3.6vw,3.1rem)}
@media (max-width:860px){
  .hero-wide{display:block;min-height:0}
  .hero-wide::before{display:none}
  .hero-wide .photo.hero-bg{position:relative;inset:auto;aspect-ratio:4/3}
  .hero-wide .photo.hero-bg img{object-position:80% 30%}
  .hero-text{padding-block:var(--s4) 0}
}

/* Kästen: Fließtext über die volle Breite, Überschrift linksbündig ohne vorzeitigen Umbruch */
.panel p,.panel ul,.panel .prose{max-width:none}
.panel h2,.panel h3{text-align:left;text-wrap:wrap}
@media (min-width:861px) and (max-width:1279px){.level h3{font-size:clamp(1.05rem,1.7vw,1.32rem)}}

.memberships{display:flex;flex-direction:column;gap:var(--s4);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}
.member{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--s3);align-items:center}
.member img{max-width:140px;height:auto;justify-self:center}
.member h3{font-size:1.3rem;margin-bottom:.3rem}
@media (max-width:560px){.member{grid-template-columns:96px minmax(0,1fr)}.member img{max-width:90px}}

.inst-link{color:inherit;text-decoration:none;border-bottom:1px dotted var(--line);position:relative}
.inst-link:hover,.inst-link:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}
.inst-link::after{content:"↗ " attr(data-url);position:absolute;left:0;top:calc(100% + 4px);white-space:nowrap;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.02em;color:var(--accent);background:var(--bg);padding:2px 6px;border:1px solid var(--line);border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:3}
.inst-link:hover::after,.inst-link:focus-visible::after{opacity:1}
.nt,.brand span.nt{text-transform:none!important;letter-spacing:normal!important}

details.more{margin:0}
details.more>summary{list-style:none;cursor:pointer;font-family:var(--f-display);font-size:.95rem;color:var(--accent);text-decoration:underline;text-underline-offset:3px;width:max-content}
details.more>summary::-webkit-details-marker{display:none}
details.more>summary .m-close{display:none}
details.more[open]>summary .m-open{display:none}
details.more[open]>summary .m-close{display:inline}
details.more[open]{display:flex;flex-direction:column-reverse;gap:.5rem}
details.more>p{font-style:italic;font-size:1.15rem;margin:0}

.menu-anchor{position:absolute;top:0}
.brand b span.hpk{font:inherit;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--accent)}
.page{scroll-margin-top:96px}
.to-menu-wrap{display:flex;justify-content:flex-end;margin:var(--s3) 0 0}
.to-menu{display:inline-block;font-family:var(--f-display);font-size:.9rem;text-decoration:none;color:#fff;background:#0A7A57;border-radius:999px;padding:.45rem 1rem}
.to-menu:hover{background:#08654a}
@media (prefers-reduced-motion:reduce){.to-menu{transition:none}}
@media (max-width:480px){.brand b{font-size:.94rem;white-space:nowrap}.brand img{height:40px}.bar{gap:.6rem}}
.field-err{display:block;color:#B3261E;font-family:var(--f-display);font-size:.85rem;margin-top:.35rem}
footer .bar > div{display:flex;flex-wrap:wrap;align-items:baseline;row-gap:.45rem}footer .bar > div > *{white-space:nowrap}@media (max-width:600px){footer .bar > div > span.muted{flex-basis:100%}}

/* Basis (im Entwurf vom Viewer gesetzt) */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--f-body)}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
/* Bilder: Datei im Ordner /bilder mit gleichem Namen ersetzen */
.photo.has-img{padding:0;border:0;background:none;overflow:hidden}
.photo.has-img img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.form-msg.err{color:#B3261E}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
