/* Monteleon: Webfont-Datei hier einbinden, sobald vorhanden
@font-face{font-family:"Monteleon";src:url("monteleon.woff2") format("woff2");font-display:swap} */
:root{
  --blue:#2055a1; --blue-dark:#16407d; --blue-soft:#e8eef7;
  --ochre:#e09931; --green:#5d8b40; --green-soft:#eef3e9;
  --ink:#24292f; --muted:#5b636c; --line:#dde3e8; --bg:#ffffff;
  --head:"Monteleon", Georgia, "Times New Roman", serif;
  --body:Arial, Helvetica, sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--body)}
a{color:var(--blue)}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* Kopf */
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;flex-wrap:wrap}
.logo{font:1.2rem/1.2 var(--head);color:var(--blue);text-decoration:none}
.top nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.95rem}
.top nav a{color:var(--ink);text-decoration:none;padding:6px 0}
.top nav a:hover{color:var(--blue);text-decoration:underline}

/* Hero */
.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start;padding:28px 0 40px}
h1{font:400 clamp(2rem,4.6vw,3.1rem)/1.12 var(--head);color:var(--blue-dark);margin:0 0 18px;max-width:16ch}
.intro{font-size:1.12rem;max-width:46ch;margin:0 0 26px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;font:700 1rem var(--body);padding:13px 22px;border-radius:10px;text-decoration:none;border:2px solid var(--blue)}
.btn-main{background:var(--blue);color:#fff}
.btn-main:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.btn-alt{color:var(--blue);background:#fff}
.btn-alt:hover{background:var(--blue-soft)}

/* Termine */
.dates{background:var(--blue);color:#fff;border-radius:22px 22px 22px 6px;padding:26px 28px}
.dates h2{font:400 1.45rem/1.2 var(--head);margin:0 0 4px}
.dates .sub{margin:0 0 18px;opacity:.85;font-size:.95rem}
.dates h3{font:700 .95rem var(--body);margin:16px 0 6px;color:#fff}
.dates ul{list-style:none;margin:0;padding:0}
.dates li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.22)}
.dates li b{font-weight:700}
.dates li span{opacity:.9;text-align:right}

/* Info-Reihe */
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);padding:32px 0 8px}
.info section{padding:0 28px}
.info section:first-child{padding-left:0}
.info section+section{border-left:1px solid var(--line)}
.info h2{font:400 1.3rem/1.2 var(--head);color:var(--blue-dark);margin:0 0 14px}
.steps{list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:0 0 12px 38px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--green-soft);color:var(--green);font:700 .9rem/26px var(--body);text-align:center}
dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.95rem}
dt{color:var(--muted)}
dd{margin:0}
.contact p{margin:0 0 10px}
.contact .big{font-size:1.15rem;font-weight:700}
.small{font-size:.9rem;color:var(--muted)}

/* Fuß */
footer{border-top:1px solid var(--line);margin-top:28px;padding:20px 0 32px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.9rem;color:var(--muted)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer a{color:var(--muted)}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;gap:28px}
  .info{grid-template-columns:1fr;gap:28px}
  .info section{padding:0}
  .info section+section{border-left:0;border-top:1px solid var(--line);padding-top:24px}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* Unterseiten */
.page{padding:28px 0 8px;max-width:760px}
.page h1{max-width:20ch}
.page .lead{font-size:1.12rem;max-width:56ch;margin:0 0 8px}
.page h2{font:400 1.35rem/1.2 var(--head);color:var(--blue-dark);margin:36px 0 10px}
.page p{margin:0 0 14px;max-width:65ch}
.page ul{padding-left:1.2rem;max-width:65ch;margin:0 0 14px}
.page li{margin-bottom:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.two h3{font:700 1rem var(--body);margin:0 0 8px}
.team{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px}
.team h3{font:700 1rem var(--body);margin:18px 0 6px;grid-column:1/-1;color:var(--blue-dark)}
.team p{margin:0 0 10px}
.team span{display:block;color:var(--muted);font-size:.9rem}
.org dt{color:var(--ink);font-weight:700}
.org{grid-template-columns:1fr;gap:2px}
.org dd{margin:0 0 12px;color:var(--ink)}
.top nav a[aria-current=page]{color:var(--blue);font-weight:700}
@media (max-width:700px){.two,.team{grid-template-columns:1fr;gap:12px}}
