/* Unterseiten (Impressum, Datenschutz, 404). Tokens und Typografie
   stammen aus der Startseite; hier nur, was diese Seiten brauchen. */
:root{
  color-scheme:light;
  --g:#FFFFFF;--g2:#F3F6FA;
  --ink:#0E2E5C;--fg:#0E2E5C;--fg2:#3A4553;--fg3:#6C7686;
  --acc:#E3B23C;--accd:#A97A17;
  --line:rgba(14,46,92,.20);--line2:rgba(14,46,92,.10);
  --fd:"Bricolage Grotesque","Trebuchet MS",sans-serif;
  --fb:"Manrope","Helvetica Neue",Arial,sans-serif;
  --fm:"Space Mono",ui-monospace,Menlo,monospace;
  --pad:clamp(1.25rem,4.5vw,4.5rem);
  --w:88rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth}
body{margin:0;font-family:var(--fb);font-size:clamp(1rem,.97rem + .24vw,1.1rem);
  line-height:1.62;color:var(--fg2);
  background:
    radial-gradient(110% 60% at 86% 2%, rgba(227,178,60,.14) 0%, rgba(227,178,60,0) 52%),
    radial-gradient(90% 52% at 6% 20%, rgba(29,78,143,.09) 0%, rgba(29,78,143,0) 56%),
    linear-gradient(178deg,#FFFFFF 0%,#FBFCFE 46%,#FFFFFF 100%);
  background-attachment:fixed}
img{max-width:100%}
a{color:var(--ink)}
a:focus-visible,button:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}

/* ---- Kopfleiste ---- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  gap:1.4rem;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line2);
  padding:calc(.8rem + env(safe-area-inset-top,0px)) var(--pad) .8rem}
.wm{font-family:var(--fd);font-weight:800;font-size:clamp(1rem,.97rem + .24vw,1.14rem);line-height:1.06;
  letter-spacing:-.035em;color:var(--fg);text-decoration:none;flex:none}
.wm span{display:block;font-weight:500;color:var(--fg3)}
.back{font-family:var(--fm);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fg3);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.2rem;
  transition:color .25s ease,border-color .25s ease}
.back:hover{color:var(--ink);border-color:var(--acc)}
.nw{white-space:nowrap}

/* ---- Seitenkopf ---- */
main{max-width:var(--w);margin:0 auto;padding:clamp(3rem,8vh,5.5rem) var(--pad) clamp(3rem,7vh,4.5rem)}
.eyb{display:flex;align-items:flex-start;gap:.75rem;font-family:var(--fm);font-size:.74rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--fg3);margin:0 0 1.1rem}
.eyb::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--acc);flex:none;margin-top:.42em}
h1{font-family:var(--fd);font-weight:800;color:var(--ink);margin:0;
  font-size:clamp(2.4rem,1.1rem + 6vw,5.4rem);line-height:.98;letter-spacing:-.045em;max-width:14ch}
.lead{margin:1.6rem 0 0;max-width:46ch;font-size:clamp(1.06rem,1rem + .34vw,1.22rem);color:var(--fg2)}
.rule{height:4px;width:clamp(80px,14vw,140px);margin:clamp(2.2rem,5vh,3.4rem) 0 0;
  background:linear-gradient(90deg,var(--accd),var(--acc) 55%,rgba(227,178,60,0));border-radius:2px}

/* ---- Abschnitte: Nummer und Titel links, Inhalt rechts ---- */
.blocks{margin:clamp(2.6rem,6vh,4rem) 0 0;display:grid;gap:clamp(2rem,4.4vh,3.2rem)}
.blk{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,44rem);gap:clamp(1.4rem,4vw,3.5rem);
  align-items:start;padding-top:clamp(1.6rem,3.4vh,2.4rem);border-top:1px solid var(--line2)}
.blk:first-child{border-top:0;padding-top:0}
.blk__n{font-family:var(--fm);font-size:.78rem;letter-spacing:.1em;color:var(--accd);margin:0 0 .5rem}
.blk__h{font-family:var(--fd);font-weight:700;color:var(--ink);margin:0;
  font-size:clamp(1.18rem,1.08rem + .6vw,1.5rem);line-height:1.12;letter-spacing:-.02em;max-width:18ch}
.blk__c{margin:0}
.blk__c p{margin:0 0 .7rem}
.blk__c p:last-child{margin-bottom:0}
.blk__c b{color:var(--ink);font-weight:700}
address{font-style:normal}
.dl{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:.35rem 1.4rem;margin:0}
.dl dt{font-family:var(--fm);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--fg3);padding-top:.22em}
.dl dd{margin:0;color:var(--fg2)}
.dl dd b{color:var(--ink)}

/* ---- Fuss ---- */
.foot{border-top:1px solid var(--line2);
  padding:clamp(3rem,7vh,4.5rem) var(--pad) clamp(2.2rem,4.5vh,3rem);
  background:linear-gradient(168deg,#0E2E5C 0%,#0A2246 70%,#0E2E5C 100%);color:#CBD9EE}
.foot__g{max-width:var(--w);margin:0 auto;display:flex;flex-wrap:wrap;gap:2rem 4rem;
  justify-content:space-between;align-items:flex-start}
.foot__b{font-family:var(--fd);font-weight:800;font-size:1.1rem;color:#FFFFFF;margin:0 0 .5rem;letter-spacing:-.02em}
.foot__d{margin:0;max-width:40ch;font-size:.92rem;color:#90A6C8}
.foot h2{font-family:var(--fm);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:#90A6C8;margin:0 0 .8rem;font-weight:400}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.foot a{color:#CBD9EE;text-decoration:none;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}
.foot a:hover{color:#FFFFFF;border-bottom-color:var(--acc)}
.foot__l{max-width:var(--w);margin:clamp(2.2rem,5vh,3.2rem) auto 0;padding-top:1.5rem;
  border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;
  justify-content:space-between;font-size:.82rem;color:#90A6C8}
.foot__l p{margin:0}


/* ---- Fliesstext in den Bloecken ---- */
.blk__c ul{margin:.2rem 0 .9rem;padding-left:1.1rem;display:grid;gap:.3rem}
.blk__c ul:last-child{margin-bottom:0}
.blk__c li{padding-left:.15rem}
.blk__c li::marker{color:var(--acc)}
.blk__c h3{font-family:var(--fb);font-weight:700;color:var(--ink);font-size:1rem;
  margin:1.3rem 0 .4rem;letter-spacing:-.01em}
.blk__c h3:first-child{margin-top:0}
.blk__c a{text-decoration:underline;text-underline-offset:.18em;
  text-decoration-color:var(--line);transition:text-decoration-color .25s ease}
.blk__c a:hover{text-decoration-color:var(--acc)}
.blk__c .small{font-size:.9rem;color:var(--fg3)}
.stand{margin:clamp(2.4rem,5vh,3.4rem) 0 0;padding-top:1.4rem;border-top:1px solid var(--line2);
  font-family:var(--fm);font-size:.78rem;letter-spacing:.06em;color:var(--fg3)}

@media (max-width:980px){
  .blk{grid-template-columns:minmax(0,1fr);gap:.9rem}
  .blk__h{max-width:26ch}
}
@media (max-width:560px){
  .back__w{display:none}
  .dl{grid-template-columns:minmax(0,1fr);gap:.1rem}
  .dl dt{padding-top:.6rem}
  h1{max-width:none}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01s!important;scroll-behavior:auto}}
