/* Basis für alle Relaunch-Layouts – keine externen Schriften, kein JavaScript */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--grund);color:var(--text);font:1.0625rem/1.65 var(--schrift);overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
figure{margin:1.5rem 0}
a{color:var(--link)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--fokus,#f0a500);outline-offset:2px}
h1,h2,h3{line-height:1.25;font-family:var(--titelschrift,var(--schrift))}
h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 .6em}
h2{font-size:clamp(1.35rem,2.6vw,1.7rem);margin:1.8em 0 .5em}
h3{font-size:1.2rem;margin:1.4em 0 .4em}
table{border-collapse:collapse;width:100%;font-size:.95rem;margin:1rem 0}
th,td{border:1px solid var(--linie);padding:.45rem .6rem;text-align:left;vertical-align:top}
thead th{background:var(--flaeche)}
ul,ol{padding-left:1.3rem}
li{margin:.25rem 0}
.sprung{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6rem 1rem;z-index:10}
.sprung:focus{left:1rem;top:1rem}
.unsichtbar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.stand{font-size:.9rem;color:var(--leise)}
.hauptmenue ul,.fuss ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.hauptmenue li,.fuss li{margin:0}
.fuss{font-size:.9rem}
.fuss ul{gap:.3rem 1.2rem}
.teaser h2,.teaser h3{margin:.2rem 0 .3rem}
.teaser p{margin:.2rem 0}
.dachzeile{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--akzent-text,var(--akzent));margin:0}
.beitragsliste .teaser{padding:1rem 0;border-bottom:1px solid var(--linie)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* ulm-rezent.de – Seitenleiste links */
:root{--grund:#fff;--text:#1f2a27;--leise:#56625e;--link:#1f6b5a;--akzent:#1e3a34;--linie:#dfe6e3;--flaeche:#eef4f1;
--schrift:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.leiste{background:var(--akzent);color:#fff;padding:1.4rem 1rem}
.leiste a{color:#fff}
.leiste .titel{font-size:1.5rem;font-weight:800;margin:0}
.leiste .titel a{text-decoration:none}
.leiste .unterzeile{margin:.2rem 0 1rem;color:#cfe3dc}
.leiste .hauptmenue ul{gap:.3rem .9rem}
.leiste .hauptmenue a{text-decoration:none;display:block;padding:.25rem 0}
.leiste .hauptmenue a[aria-current]{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.leiste-stand{font-size:.85rem;color:#cfe3dc;margin-top:1.2rem}
.hauptbereich main{max-width:50rem;padding:2rem 1rem}
h1{color:var(--akzent)}
.raster{display:grid;gap:1rem}
.portal-raster .teaser{background:var(--flaeche);border-radius:6px;padding:1rem}
.portal-raster .teaser-daten{background:#fff;border:2px solid var(--akzent)}
.fuss{padding:1rem;border-top:1px solid var(--linie);color:var(--leise)}
.fuss a{color:var(--leise)}
@media (min-width:52rem){.rahmen{display:grid;grid-template-columns:17rem 1fr;min-height:100vh}
 .leiste{position:sticky;top:0;height:100vh;overflow:auto;padding:2rem 1.4rem}
 .leiste .hauptmenue ul{flex-direction:column;gap:0}.leiste .hauptmenue li{border-bottom:1px solid rgba(255,255,255,.15)}
 .leiste .hauptmenue a{padding:.55rem 0}.hauptbereich main{padding:3rem 2.5rem}.raster{grid-template-columns:1fr 1fr}.fuss{padding:1rem 2.5rem}}
