/* =========================================================================
   Konstrukto GmbH, Dresden - 07.08.2026
   Handschrift: Schalung. Kühles Betongrau als Grundfläche, ein Signalgelb
   vom Bauhelm als einziger Akzent, harte Kanten ohne Rundung.
   Space Grotesk (Anschlag, technisch) über Figtree. Mobile first, min-width.
   ========================================================================= */
@font-face{font-family:AnschlagLokal;src:url(schrift/space-grotesk-700.woff2?v=20260806d) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:AnschlagLokal;src:url(schrift/space-grotesk-500.woff2?v=20260806d) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:TextLokal;src:url(schrift/figtree-400.woff2?v=20260806d) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:TextLokal;src:url(schrift/figtree-500.woff2?v=20260806d) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:TextLokal;src:url(schrift/figtree-600.woff2?v=20260806d) format('woff2');font-weight:600;font-display:swap}
:root{
  --beton:#191a1c; --beton-2:#212326; --beton-3:#2b2e32;
  --kreide:#eceef0; --kreide-leise:#a2a8ae;
  --helm:#f0b429; --kante:#383c41;
  --rand:clamp(1.15rem,5vw,3.5rem); --breite:1220px; --luft:clamp(3.5rem,7vw,6rem);
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--beton);color:var(--kreide);font-family:TextLokal,system-ui,sans-serif;
  font-size:1.02rem;line-height:1.66;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--helm)}
h1,h2,h3{font-family:AnschlagLokal,system-ui,sans-serif;font-weight:700;line-height:1.08;margin:0;letter-spacing:-.02em}
h1{font-size:clamp(2rem,1.2rem + 2.9vw,3.4rem)}
h2{font-size:clamp(1.6rem,1.1rem + 2vw,2.5rem)}
h3{font-size:1.14rem;line-height:1.28}
p{margin:0 0 1rem}
.leise{color:var(--kreide-leise)}
.fuehrung{max-width:62ch}
.huelle{max-width:var(--breite);margin-inline:auto;padding-inline:var(--rand)}
.band{padding-block:var(--luft)}
.band--abgesetzt{background:var(--beton-2)}
.marke{display:block;font-family:TextLokal,sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.15em;font-size:.78rem;color:var(--helm);margin-bottom:.85rem}
.sprung{position:absolute;left:-9999px}
.sprung:focus{position:fixed;left:1rem;top:1rem;z-index:99;background:var(--helm);color:#191a1c;padding:.7rem 1rem}
.kopf{position:sticky;top:0;z-index:30;background:rgba(25,26,28,.96);border-bottom:1px solid var(--kante)}
.kopf__innen{max-width:var(--breite);margin-inline:auto;padding:.7rem var(--rand);display:flex;align-items:center;gap:.9rem;min-height:60px}
.wortmarke{font-family:AnschlagLokal,sans-serif;font-weight:700;font-size:1.14rem;color:var(--kreide);text-decoration:none;line-height:1.1}
.wortmarke span{display:block;font-family:TextLokal,sans-serif;font-size:.62rem;letter-spacing:.2em;color:var(--helm);font-weight:600;text-transform:uppercase}
.burger{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;min-width:44px;padding:.4rem .7rem;
  background:transparent;border:1px solid var(--kante);color:var(--kreide);font:inherit;font-size:.86rem;cursor:pointer}
.burger em{display:flex;flex-direction:column;gap:4px;font-style:normal}
.burger i{display:block;width:18px;height:2px;background:currentColor}
.wege{display:none;flex-direction:column;padding:.2rem var(--rand) 1rem;border-top:1px solid var(--kante)}
.wege a{color:var(--kreide);text-decoration:none;padding:.72rem 0;min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--kante)}
.kopf.offen .wege{display:flex}
.ruf{display:none}
@media (min-width:900px){
  .burger{display:none}
  .wege{display:flex;flex-direction:row;gap:1.5rem;margin-left:auto;padding:0;border:0}
  .wege a{border:0;padding:.3rem 0;font-size:.96rem}
  .wege a:hover{color:var(--helm)}
  .ruf{display:inline-flex;align-items:center;min-height:44px;background:var(--helm);color:#191a1c;font-weight:600;
    text-decoration:none;padding:.6rem 1.05rem;white-space:nowrap}
}
.knopf,.knopf--leer{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.5rem;
  font-family:TextLokal,sans-serif;font-weight:600;font-size:1rem;text-decoration:none;border:2px solid var(--helm);
  transition:background-color .16s,color .16s,transform .1s}
.knopf{background:var(--helm);color:#191a1c}
.knopf:hover{background:#ffc846}
.knopf--leer{background:transparent;color:var(--kreide);border-color:var(--kante)}
.knopf--leer:hover{border-color:var(--kreide)}
.knopf:active,.knopf--leer:active{transform:translateY(1px)}
.hero{position:relative;isolation:isolate;min-height:70vh;display:flex;align-items:flex-end;padding-block:5rem 2.6rem;overflow:hidden}
.hero__bild{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(25,26,28,.52) 0%,rgba(25,26,28,.76) 50%,rgba(25,26,28,.97) 100%)}
.hero h1{max-width:22ch}
.hero p{margin-top:1.1rem;max-width:46ch;color:#dfe3e6}
.hero .knopf{margin-top:1.7rem}
@media (min-width:900px){.hero{min-height:74vh;padding-block:7rem 4rem}}
.zahlen{display:grid;border-top:1px solid var(--kante);margin-top:2rem}
.zahlen div{padding:1.1rem 0;border-bottom:1px solid var(--kante);display:flex;align-items:baseline;gap:1rem}
.zahlen b{font-family:AnschlagLokal,sans-serif;font-weight:700;color:var(--helm);font-size:clamp(1.7rem,1.3rem + 1.6vw,2.4rem);line-height:1;min-width:5ch}
.zahlen span{color:var(--kreide-leise);font-size:.98rem}
@media (min-width:820px){.zahlen{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2.4rem}}
.kacheln{display:grid;gap:1.4rem;margin-top:2.2rem}
@media (min-width:700px){.kacheln{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1060px){.kacheln{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kachel{background:var(--beton-3);border:1px solid var(--kante);overflow:hidden;display:flex;flex-direction:column}
.kachel img{width:100%;aspect-ratio:4/3;object-fit:cover}
.kachel__inhalt{padding:1.3rem 1.25rem 1.5rem}
.kachel__kopf{display:flex;align-items:baseline;gap:.65rem;font-size:1.14rem;line-height:1.28;min-height:2.56em}
.kachel__nr{font-family:AnschlagLokal,sans-serif;font-weight:700;color:var(--helm);font-size:inherit;line-height:inherit}
.kachel__kopf h3{font-size:inherit;line-height:inherit}
.kachel p{margin:.8rem 0 0;color:var(--kreide-leise);font-size:.97rem}
.wahl{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}
.wahl button{min-height:44px;padding:.6rem 1rem;background:transparent;border:1px solid var(--kante);color:var(--kreide);
  font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;transition:background-color .16s,border-color .16s,color .16s}
.wahl button:hover{border-color:var(--kreide-leise)}
.wahl button[aria-pressed="true"]{background:var(--helm);border-color:var(--helm);color:#191a1c}
.ergebnis{margin-top:1.8rem;background:var(--beton-3);border:1px solid var(--kante);padding:1.4rem 1.3rem}
.ergebnis ul{margin:1rem 0 0;padding-left:1.15rem;color:var(--kreide-leise)}
.ergebnis li{margin-bottom:.5rem}
.quelle{margin-top:1.2rem;font-size:.88rem;color:var(--kreide-leise)}
.liste{display:grid;gap:.7rem;margin-top:1.8rem}
.liste label{display:flex;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;min-height:44px;background:var(--beton-3);
  border:1px solid var(--kante);cursor:pointer;transition:border-color .16s}
.liste label:hover{border-color:var(--kreide-leise)}
.liste input{margin:.3rem 0 0;width:20px;height:20px;accent-color:var(--helm);flex:0 0 auto}
.liste b{display:block;font-weight:600}
.liste small{display:block;color:var(--kreide-leise);font-size:.9rem;margin-top:.15rem}
.liste label:has(input:checked){border-color:var(--helm)}
.stand{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.stand p{margin:0;font-weight:600}
.zug{display:grid;gap:1.6rem;align-items:center}
@media (min-width:900px){.zug{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.zug--gedreht > figure{order:-1}}
.zug img{width:100%;aspect-ratio:4/3;object-fit:cover}
.zug figcaption{margin-top:.75rem;font-size:.9rem;color:var(--kreide-leise)}
.daten{margin:1.6rem 0 0;display:grid;border-top:1px solid var(--kante)}
.daten > div{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;padding:.9rem 0;border-bottom:1px solid var(--kante)}
.daten dt{margin:0;font-weight:600;min-width:10rem}
.daten dd{margin:0;color:var(--kreide-leise)}
.karte{width:100%;height:340px;border:0;display:block;background:var(--beton-2)}
.karte-hinweis{padding:1.5rem var(--rand);background:var(--beton-2);text-align:center}
.karte-hinweis p{max-width:60ch;margin-inline:auto;color:var(--kreide-leise)}
.fuss{border-top:1px solid var(--kante);padding-block:2.2rem 2.8rem;font-size:.92rem;color:var(--kreide-leise)}
.fuss__innen{display:grid;gap:.8rem}
@media (min-width:700px){.fuss__innen{grid-template-columns:1fr auto;align-items:center}}
.fuss a{color:var(--kreide-leise)}
:focus-visible{outline:3px solid var(--helm);outline-offset:3px}
