/* =========================================================================
   Fahrschule Fly-In, Greifswald — 06.08.2026
   Handschrift dieser Seite: Nachtasphalt. Dunkles Blaugrau wie eine Straße
   nach Sonnenuntergang, dazu das Gelb der Fahrbahnmarkierung als einziger
   Akzent. Schrift: Archivo (Anschlag) über Asap (Lesetext).
   Mobile first: alle Grundregeln beschreiben die schmale Ansicht,
   jede Medienabfrage ist ein min-width.
   ========================================================================= */

@font-face{font-family:AnschlagLokal;src:url(schrift/archivo-700-x.woff2?v=20260806d) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:AnschlagLokal;src:url(schrift/archivo-600-x.woff2?v=20260806d) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:LesetextLokal;src:url(schrift/asap-400.woff2?v=20260806d) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:LesetextLokal;src:url(schrift/asap-500.woff2?v=20260806d) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:LesetextLokal;src:url(schrift/asap-600.woff2?v=20260806d) format('woff2');font-weight:600;font-display:swap}

:root{
  --nacht:#101720;        /* Grundfläche */
  --nacht-2:#18212d;      /* abgesetztes Band */
  --nacht-3:#212c3a;      /* Kachel */
  --licht:#eef2f6;        /* Text auf dunkel, 15,2:1 */
  --licht-leise:#a8b4c2;  /* 7,3:1 auf --nacht */
  --gelb:#f2c14e;         /* Markierungsgelb, 11,1:1 auf --nacht */
  --gelb-tief:#8a6410;    /* für Gelb als Fläche mit dunkler Schrift */
  --kante:#2b3849;
  --rand:clamp(1.15rem,5vw,3.5rem);
  --breite:1280px;
  --luft:clamp(3.5rem,7vw,6rem);
}

*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--nacht);color:var(--licht);
  font-family:LesetextLokal,system-ui,sans-serif;font-size:1.02rem;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gelb)}
h1,h2,h3{font-family:AnschlagLokal,system-ui,sans-serif;font-weight:700;line-height:1.06;margin:0;letter-spacing:-.012em}
h1{font-size:clamp(2.1rem,1.2rem + 3.6vw,3.9rem)}
h2{font-size:clamp(1.65rem,1.1rem + 2.2vw,2.7rem)}
h3{font-size:1.16rem;line-height:1.2}
p{margin:0 0 1rem}
.leise{color:var(--licht-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(--nacht-2)}
.marke{display:block;font-family:AnschlagLokal,sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.16em;font-size:.78rem;color:var(--gelb);margin-bottom:.85rem}
.sprung{position:absolute;left:-9999px}
.sprung:focus{position:fixed;left:1rem;top:1rem;z-index:99;background:var(--gelb);color:#101720;padding:.7rem 1rem}

/* ── Kopfleiste: eine Rufnummer rechts, Hamburger nur mobil ─────────────── */
.kopf{position:sticky;top:0;z-index:30;background:rgba(16,23,32,.94);border-bottom:1px solid var(--kante)}
@supports (backdrop-filter:blur(8px)){.kopf{backdrop-filter:blur(8px)}}
.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.16rem;color:var(--licht);
  text-decoration:none;line-height:1.05;white-space:nowrap}
.wortmarke span{display:block;font-size:.62rem;letter-spacing:.22em;color:var(--gelb);font-weight:600}
.burger{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:44px;min-width:44px;padding:.4rem .7rem;background:transparent;border:1px solid var(--kante);
  color:var(--licht);font:inherit;font-size:.86rem;cursor:pointer;border-radius:4px}
.burger i{display:block;width:18px;height:2px;background:currentColor}
.burger em{display:flex;flex-direction:column;gap:4px;font-style:normal}
.wege{display:none;flex-direction:column;gap:.2rem;padding:.4rem var(--rand) 1rem;border-top:1px solid var(--kante)}
.wege a{color:var(--licht);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(--gelb)}
  .ruf{display:inline-flex;align-items:center;background:var(--gelb);color:#101720;font-weight:600;
    text-decoration:none;padding:.6rem 1.05rem;border-radius:4px;white-space:nowrap;min-height:44px}
  .ruf:hover{background:#ffd66b}
}

/* ── Knöpfe ─────────────────────────────────────────────────────────────── */
.knopf,.knopf--leer{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:.85rem 1.5rem;font-family:LesetextLokal,sans-serif;font-weight:600;font-size:1rem;
  text-decoration:none;border-radius:4px;border:2px solid var(--gelb);
  transition:background-color .16s ease,color .16s ease,transform .1s ease}
.knopf{background:var(--gelb);color:#101720}
.knopf:hover{background:#ffd66b}
.knopf--leer{background:transparent;color:var(--licht);border-color:var(--kante)}
.knopf--leer:hover{border-color:var(--licht)}
.knopf:active,.knopf--leer:active{transform:translateY(1px)}

/* ── Hero ───────────────────────────────────────────────────────────────── */
.hero{position:relative;isolation:isolate;min-height:76vh;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(16,23,32,.55) 0%,rgba(16,23,32,.72) 45%,rgba(16,23,32,.95) 100%)}
.hero h1{max-width:22ch}
.hero p{margin-top:1.1rem;max-width:44ch;font-size:1.06rem;color:#dbe3ec}
.hero .knopf{margin-top:1.7rem}
@media (min-width:900px){.hero{min-height:80vh;padding-block:7rem 4rem}.hero p{font-size:1.14rem}}

/* ── Zahlenzeile ────────────────────────────────────────────────────────── */
.zahlen{display:grid;gap:0;border-top:1px solid var(--kante)}
.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(--gelb);
  font-size:clamp(1.9rem,1.4rem + 2vw,2.7rem);line-height:1;min-width:4.4ch}
.zahlen span{color:var(--licht-leise);font-size:.98rem}
@media (min-width:820px){.zahlen{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2.4rem}}

/* ── Kacheln: Nummer links neben der Überschrift ────────────────────────── */
.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--drei{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kachel{background:var(--nacht-3);border:1px solid var(--kante);border-radius:6px;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.16rem;line-height:1.2;min-height:2.4em}
.kachel__nr{font-family:AnschlagLokal,sans-serif;font-weight:700;color:var(--gelb);font-size:inherit;line-height:inherit}
.kachel__kopf h3{font-size:inherit;line-height:inherit}
.kachel p{margin:.8rem 0 0;color:var(--licht-leise);font-size:.97rem}

/* ── Station: Pflichtumfang ─────────────────────────────────────────────── */
.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(--licht);font:inherit;font-weight:600;font-size:.95rem;border-radius:4px;cursor:pointer;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.wahl button:hover{border-color:var(--licht-leise)}
.wahl button[aria-pressed="true"]{background:var(--gelb);border-color:var(--gelb);color:#101720}
.ergebnis{margin-top:1.8rem;background:var(--nacht-3);border:1px solid var(--kante);border-radius:6px;
  padding:1.4rem 1.3rem}
.ergebnis h3{margin-bottom:.9rem}
.ergebnis dl{margin:0;display:grid;gap:0;border-top:1px solid var(--kante)}
.ergebnis dl > div{display:flex;flex-wrap:wrap;gap:.3rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--kante)}
.ergebnis dt{margin:0;font-weight:600;min-width:14rem}
.ergebnis dd{margin:0;color:var(--licht-leise)}
.quelle{margin-top:1.2rem;font-size:.86rem;color:var(--licht-leise)}

/* ── Station: Anmeldeliste ──────────────────────────────────────────────── */
.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(--nacht-3);border:1px solid var(--kante);border-radius:6px;cursor:pointer;
  transition:border-color .16s ease}
.liste label:hover{border-color:var(--licht-leise)}
.liste input{margin:.28rem 0 0;width:20px;height:20px;accent-color:var(--gelb);flex:0 0 auto}
.liste b{display:block;font-weight:600}
.liste small{display:block;color:var(--licht-leise);font-size:.9rem;margin-top:.15rem}
.liste label:has(input:checked){border-color:var(--gelb)}
.stand{margin-top:1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.stand p{margin:0;font-weight:600}

/* ── Erfolgs-Wand ───────────────────────────────────────────────────────── */
.wand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:2rem}
@media (min-width:700px){.wand{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}}
@media (min-width:1060px){.wand{grid-template-columns:repeat(6,minmax(0,1fr))}}
.wand img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}

/* ── Termine ────────────────────────────────────────────────────────────── */
.termine{display:grid;gap:0;margin-top:1.8rem;border-top:1px solid var(--kante)}
.termine div{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;padding:.9rem 0;border-bottom:1px solid var(--kante)}
.termine b{font-variant-numeric:tabular-nums;min-width:7.5rem;font-weight:600}
.termine span{color:var(--licht-leise)}

/* ── Zug: Text neben Bild ───────────────────────────────────────────────── */
.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;border-radius:6px}
.zug figcaption{margin-top:.75rem;font-size:.9rem;color:var(--licht-leise)}

/* ── Kontakt ────────────────────────────────────────────────────────────── */
.daten{margin:1.6rem 0 0;display:grid;gap:0;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:9.5rem}
.daten dd{margin:0;color:var(--licht-leise)}
.karte{width:100%;height:340px;border:0;display:block;background:var(--nacht-2)}
.karte-hinweis{padding:1.5rem var(--rand);background:var(--nacht-2);text-align:center}
.karte-hinweis p{max-width:60ch;margin-inline:auto;color:var(--licht-leise)}

/* ── Fuß ────────────────────────────────────────────────────────────────── */
.fuss{border-top:1px solid var(--kante);padding-block:2.2rem 2.8rem;font-size:.92rem;color:var(--licht-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(--licht-leise)}

:focus-visible{outline:3px solid var(--gelb);outline-offset:3px}
