/* Bötzowmarkt — einziges Stylesheet.
   Gestaltung nach docs/design-entwurf/konzept.md ("Die Woche").
   Schriften liegen unter schriften/ auf unserem eigenen Server —
   es wird nichts von fremden Servern nachgeladen. */

/* Libre Franklin — freie Neufassung der Franklin Gothic von 1902, also aus
   der Bauzeit des Bötzowviertels. Zwei Dateien, aufgeteilt nach Zeichensatz:
   der Browser lädt den erweiterten Teil nur, wenn ein Zeichen daraus vorkommt. */
@font-face {
  font-family: "Libre Franklin";
  src: url("../schriften/librefranklin-400-800.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
    U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Libre Franklin";
  src: url("../schriften/librefranklin-400-800-ext.woff2") format("woff2");
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF,
    U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
    U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Fira Sans";
  src: url("../schriften/firasans-400.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Fira Sans";
  src: url("../schriften/firasans-600.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
}

:root{
  --platz:#EDF1F2; --plane:#FFFFFF; --tinte:#151C24; --rauch:#4A5560;
  --kurkuma:#C4871B; --spinat:#2C5A38; --spinat-tief:#1E3F27;
  /* Ein einziger Akzent, seit 02.09.2026 das Spinatgrün. Vorher war es
     Rote Bete #8E1F52 — der Ton wirkte lila und stand neben dem Ocker als
     dritte Akzentfarbe. Jetzt gilt: Ocker markiert den Markttag, Grün
     alles andere. Kontrast nachgerechnet: als Text und als Knopffläche
     mit weißer Schrift je 7,99:1, der dunkle Hover-Ton 11,70:1. */
  --akzent:var(--spinat); --akzent-tief:var(--spinat-tief);
  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:104px;
  --display:"Libre Franklin","Helvetica Neue",Arial,system-ui,sans-serif;
  --body:"Fira Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --klein:var(--body);  /* Beschriftungen: früher Fira Mono, jetzt Fira Sans */
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--platz);color:var(--tinte);
  font-family:var(--body);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--akzent)}
:focus-visible{outline:3px solid var(--akzent);outline-offset:2px;border-radius:4px}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--tinte);color:var(--platz);
  padding:12px 18px;z-index:200;border-radius:0 0 3px 0}
.skip:focus{left:0}

/* ---------- Raster ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--s3)}
.band{padding:var(--s5) 0}
@media(min-width:900px){.band{padding:var(--s6) 0}}
.band--weiss{background:var(--plane)}
.g7{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s3)}
.sp5{grid-column:span 7}
.sp4{grid-column:span 7}
.sp3{grid-column:span 7}
@media(min-width:900px){
  .sp5{grid-column:span 5}
  .sp4{grid-column:span 4}
  .sp3{grid-column:span 3}
}

/* ---------- Typografie ---------- */
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.015em}
h1{font-weight:800;font-size:clamp(2.6rem,8.5vw,5.6rem);line-height:.94;
  font-variation-settings:"wdth" 92,"opsz" 80}
h2{font-weight:800;font-size:clamp(1.9rem,4.2vw,3.25rem);line-height:1}
h3{font-weight:700;font-size:1.5rem;line-height:1.12}
p{margin:0 0 1em}
.lead{font-size:clamp(1.125rem,1.5vw,1.3rem);line-height:1.5;max-width:38ch}
.klein{font-size:.9375rem;line-height:1.5;color:var(--rauch)}
/* Beschriftungen laufen in normaler Gross-/Kleinschreibung. Versalien mit
   weitem Sperrsatz sind die auffaelligste Manier heutiger Programm-
   oberflaechen — auf einer Drucksache steht so etwas nicht. Geaendert am
   02.09.2026, siehe Nachtrag im Gestaltungskonzept. */
.label{font-family:var(--klein);font-size:.75rem;
  letter-spacing:.01em;color:var(--rauch);margin:0 0 var(--s2)}
.label--akzent{color:var(--akzent)}

/* ---------- Kopf ---------- */
/* mobil nicht klebend: der zweizeilige Kopf wuerde ein Drittel des
   Bildschirms fressen. Die Wochenleiste steht ohnehin ganz oben. */
.kopf{position:static;z-index:60;background:rgba(237,241,242,.94);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:3px solid var(--tinte)}
.kopf-in{max-width:1180px;margin:0 auto;padding:var(--s2) var(--s3);
  display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3);align-items:center}
.marke{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tinte)}
.marke b{font-family:var(--display);font-weight:800;font-size:1.35rem;
  letter-spacing:-.02em;font-variation-settings:"wdth" 88}
.glyph{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;width:60px;flex:none}
.glyph i{display:block;height:14px;border:2px solid var(--tinte);border-radius:2px}
.glyph i:nth-child(6){background:var(--kurkuma);border-color:var(--tinte)}
.nav{display:flex;flex-wrap:wrap;gap:var(--s3);margin-left:auto}
.nav a{font-size:1rem;font-weight:500;color:var(--tinte);text-decoration:none;
  padding-bottom:2px;border-bottom:3px solid transparent}
.nav a:hover{border-bottom-color:var(--akzent)}
.nav a[aria-current]{border-bottom-color:var(--kurkuma)}
/* Sprachverweis, abgesetzt hinter der Navigation (seit 03.09.2026).
   Bewusst KEIN fuenfter Navigationspunkt: Er steuert keine weitere Seite an,
   sondern wechselt die Sprache — und eine englische Beschriftung mitten in der
   deutschen Navigation liest sich wie ein Fehler. Der senkrechte Strich macht
   den Unterschied sichtbar, ohne Farbe oder Grossbuchstaben zu bemuehen. */
.sprache{font-family:var(--klein);font-size:.875rem;color:var(--rauch);
  text-decoration:none;padding-left:var(--s3);margin-left:var(--s2);
  border-left:2px solid rgba(21,28,36,.15)}
.sprache:hover{color:var(--tinte)}
/* Umbricht die Kopfzeile auf schmalen Schirmen, steht der Verweis in einer
   eigenen Zeile — dort waere ein linker Strich sinnlos. */
@media(max-width:520px){
  .sprache{padding-left:0;margin-left:0;border-left:none}
}
@media(min-width:700px){.kopf{position:sticky;top:0}}

/* ---------- Wochenleiste (Signatur) ---------- */
.woche-zone{padding:var(--s4) clamp(12px,3vw,24px) 0;max-width:1420px;margin:0 auto}
.status{display:flex;align-items:flex-start;gap:10px;font-family:var(--klein);
  font-size:.68rem;letter-spacing:.01em;line-height:1.5;
  color:var(--tinte);margin:0 0 var(--s2);min-height:20px}
@media(min-width:700px){.status{font-size:.75rem;letter-spacing:.11em}}
.punkt{width:10px;height:10px;border-radius:50%;background:var(--akzent);flex:none;
  margin-top:.35em}
.status.offen .punkt{background:var(--akzent)}
.woche{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
@media(min-width:700px){.woche{gap:10px}}
.tag{background:var(--plane);border-radius:3px;position:relative;
  min-height:clamp(84px,19vw,210px);padding:9px 8px 20px;
  display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
@media(min-width:700px){.tag{padding:16px 16px 30px}}
.tag-k{font-family:var(--klein);font-variant-numeric:tabular-nums;font-size:clamp(.68rem,1.9vw,1rem);
  letter-spacing:.06em;color:var(--rauch);white-space:nowrap}
/* Die Tageszahl steht oben neben dem Kürzel. Dunkler als das graue Kürzel,
   weil im Kalender die Zahl die eigentliche Information ist.
   Auf dem Handy steht sie unter dem Kürzel: Dort bleiben pro Kachel nur rund
   30px, "Mo 31." braucht aber etwa 43px und wurde vom overflow:hidden der
   Kachel abgeschnitten. Ab 700px nebeneinander. */
.tag-d{color:var(--tinte);font-weight:700;display:block}
@media(min-width:700px){.tag-d{display:inline}}
/* Das Wort steht unten in der Kachel — .tag ist eine Flex-Spalte mit
   justify-content:space-between, deshalb rutscht es von selbst nach unten.
   Die frühere Angabe font-variation-settings:"wdth" 76 ist entfallen:
   Bricolage Grotesque hatte eine Breitenachse, Libre Franklin hat nur
   Gewicht. */
.tag-w{font-family:var(--display);font-weight:800;line-height:.9;
  font-size:clamp(.72rem,2.3vw,1.9rem);color:var(--tinte)}
/* "Market" ist breiter als "Markt" und wurde auf dem Handy vom overflow:hidden
   der Kachel abgeschnitten (gemessen 03.09.2026: 42px noetig, 38px sichtbar).
   Nur die englische Seite bekommt deshalb eine kleinere Untergrenze — die
   deutsche Gestaltung bleibt unveraendert. */
html:lang(en) .tag-w{font-size:clamp(.625rem,2.3vw,1.9rem)}
.tag--markt{background:var(--kurkuma)}
.tag--markt .tag-k{color:var(--tinte);font-weight:700}
.tag--heute::after{content:"";position:absolute;left:8px;right:8px;bottom:8px;
  height:6px;border-radius:3px;background:var(--tinte)}
@media(min-width:700px){.tag--heute::after{left:16px;right:16px;bottom:14px}}
.markt-band{margin-top:5px;background:var(--kurkuma);color:var(--tinte);
  border-radius:3px;padding:14px clamp(12px,2vw,22px);
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px}
@media(min-width:700px){.markt-band{margin-top:10px}}
.markt-band b{font-family:var(--display);font-weight:800;line-height:1;
  font-size:clamp(1.45rem,4.6vw,2.6rem);font-variation-settings:"wdth" 84}
.markt-band span{font-family:var(--klein);font-size:clamp(.72rem,1.5vw,.85rem);
  letter-spacing:.06em}

/* ---------- Hero ---------- */
.hero-text{padding-top:var(--s5);padding-bottom:var(--s4)}
.hero-text h1{max-width:14ch;margin-bottom:var(--s3)}
.hero-p{display:grid;gap:var(--s3);max-width:78ch}
.hero-p p{margin:0}
@media(min-width:900px){.hero-p{grid-template-columns:1fr 1fr;gap:var(--s4)}}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s4)}
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--plane);
  border-radius:3px;padding:9px 16px;font-size:.9375rem;color:var(--tinte);
  text-decoration:none;border:2px solid var(--plane)}
.chip:hover{border-color:var(--tinte)}
.chip em{font-family:var(--klein);font-style:normal;font-size:.7rem;
  letter-spacing:.01em;color:var(--akzent)}

/* ---------- Bildplatzhalter ---------- */
figure{margin:0}
.ph{position:relative;background:var(--plane);border-radius:3px;overflow:hidden;
  background-image:repeating-linear-gradient(135deg,rgba(21,28,36,.055) 0 14px,
    rgba(21,28,36,0) 14px 30px);
  display:flex;align-items:flex-end;padding:16px}
.ph--169{aspect-ratio:16/9}
.ph--219{aspect-ratio:21/9}
.ph--45{aspect-ratio:4/5}
.ph--11{aspect-ratio:1/1}

/* Fotos. Das Seitenverhältnis steht im CSS und die Maße stehen am <img>,
   damit der Platz schon reserviert ist, bevor das Bild geladen ist —
   sonst springt der Text beim Laden nach unten. */
.bild{display:block;width:100%;height:auto;border-radius:3px;
  object-fit:cover;background:var(--platz)}
.bild--169{aspect-ratio:16/9}
.bild--219{aspect-ratio:21/9}
.bild--45{aspect-ratio:4/5}
.bild--11{aspect-ratio:1/1}

/* Archivbilder sind entfärbt — so sehen sie nach Vergangenheit aus und man
   erkennt sofort, dass es keine aktuellen Aufnahmen sind. */
.bild--archiv{filter:grayscale(1) contrast(.94)}

/* Umschließt jedes Standbild. Trug bis 04.09.2026 die Marke "Platzhalter"
   in der Ecke; die ist mit dem Livegang entfallen. Der Rahmen bleibt, weil
   jedes Bild im HTML darin sitzt. */
.bildrahmen{position:relative}
figcaption{margin-top:10px;font-size:.9375rem;color:var(--rauch)}

/* ---------- Warengruppen ---------- */
.waren{display:grid;gap:var(--s3);grid-template-columns:1fr;margin-top:var(--s4)}
@media(min-width:620px){.waren{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.waren{grid-template-columns:repeat(3,1fr)}}
.ware{background:var(--plane);border-radius:3px;padding:26px 22px 28px;
  border-top:6px solid var(--akzent)}
.band--weiss .ware{background:var(--platz)}
.ware:nth-child(even){border-top-color:var(--akzent)}
.ware h3{margin-bottom:10px}
.ware p{margin:0;color:var(--rauch)}

/* ---------- Gut zu wissen ---------- */
/* Fragen zum Aufklappen. <details>/<summary> sind Bordmittel des Browsers:
   kein JavaScript, funktioniert auch ohne Skript, und die Tastaturbedienung
   bringt der Browser mit. Der Text der Antwort steht auch im zugeklappten
   Zustand im HTML — Suchmaschinen und KI-Systeme lesen ihn. */
.faq{margin-top:var(--s4);border-top:3px solid var(--tinte)}
.faq-z{border-bottom:3px solid var(--tinte)}
.faq-z summary{display:flex;align-items:baseline;justify-content:space-between;
  gap:var(--s3);padding:22px 0;cursor:pointer;list-style:none}
.faq-z summary::-webkit-details-marker{display:none}
.faq-z summary:hover h2,.faq-z summary:hover h3{color:var(--akzent)}
.faq-z h2,.faq-z h3{font-weight:700;font-size:1.25rem;line-height:1.12;margin:0}
/* Plus wird zu Minus, sobald aufgeklappt ist. Ein Zeichen statt eines Pfeils —
   das passt zum gedruckten Charakter der Liste. */
.faq-z summary::after{content:"+";font-family:var(--display);font-weight:700;
  font-size:1.6rem;line-height:1;color:var(--akzent);flex:none}
.faq-z[open] summary::after{content:"–"}
.faq-a{padding:0 0 22px;max-width:64ch}
.faq-z:not(:has(summary)){padding:22px 0}
.faq-z:not(:has(summary)) h2,
.faq-z:not(:has(summary)) h3{margin-bottom:10px}
.faq-z p{margin:0 0 10px}
.faq-z p:last-child{margin-bottom:0}

/* ---------- Namensliste ---------- */
.namen{margin-top:var(--s4);border-top:3px solid var(--tinte);
  display:grid;grid-template-columns:1fr}
@media(min-width:760px){.namen{grid-template-columns:1fr 1fr;column-gap:var(--s4)}}
.namen a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:17px 2px;border-bottom:3px solid var(--tinte);text-decoration:none;
  color:var(--tinte);font-family:var(--display);font-weight:700;line-height:1.1;
  font-size:clamp(1.1rem,2.2vw,1.55rem);font-variation-settings:"wdth" 92}
.namen a:hover{color:var(--akzent)}
.namen a em{font-family:var(--klein);font-style:normal;font-size:.68rem;
  letter-spacing:.01em;color:var(--rauch);white-space:nowrap}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--akzent);
  color:#fff;border:3px solid var(--akzent);border-radius:3px;padding:13px 26px;
  font-family:var(--body);font-weight:600;font-size:1rem;text-decoration:none;
  cursor:pointer;
  transition:background-color .12s ease,border-color .12s ease,color .12s ease}
/* Beim Überfahren wird der Knopf dunkler, statt sich anzuheben. Ein Schild
   auf dem Markt schwebt nicht. Kontrast dabei geprüft: weiße Schrift auf
   --akzent-tief 11,70:1, auf Tinte 17,16:1 — beides weit über AA. */
.btn:hover{background:var(--akzent-tief);border-color:var(--akzent-tief)}
.btn--linie{background:transparent;color:var(--tinte);border-color:var(--tinte)}
.btn--linie:hover{background:var(--tinte);color:var(--plane);border-color:var(--tinte)}
/* Zwei Knoepfe nebeneinander, auf schmalen Schirmen untereinander. */
.btn-reihe{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Fuss ---------- */
.fuss{background:var(--tinte);color:var(--platz);padding:var(--s5) 0 var(--s4)}
.fuss a{color:var(--platz)}
.fuss h3{color:var(--platz);margin-bottom:12px}
.fuss-g{display:grid;gap:var(--s4);grid-template-columns:1fr}
@media(min-width:760px){.fuss-g{grid-template-columns:repeat(3,1fr)}}
.fuss .label{color:#9AA6B0}
.fuss-u{margin-top:var(--s5);padding-top:var(--s3);border-top:3px solid #33404D;
  display:flex;flex-wrap:wrap;gap:12px var(--s3);font-size:.9375rem}

/* ---------- Haendlerseite ---------- */
.filter{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s4)}
.f-btn{font-family:var(--body);font-size:.9375rem;font-weight:500;
  background:var(--plane);color:var(--tinte);border:2px solid var(--plane);
  border-radius:3px;padding:8px 14px;cursor:pointer}
@media(min-width:700px){.f-btn{padding:9px 18px}}
.f-btn:hover{border-color:var(--tinte)}
.f-btn[aria-pressed="true"]{background:var(--tinte);color:var(--platz);
  border-color:var(--tinte)}
.stand-g{display:grid;gap:var(--s5) var(--s3);grid-template-columns:1fr;
  margin-top:0}
@media(min-width:640px){.stand-g{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.stand-g{grid-template-columns:repeat(3,1fr)}}
.stand[hidden]{display:none}
.stand .ph{margin-bottom:var(--s2)}
.stand h2,.stand h3{font-weight:700;font-size:1.5rem;line-height:1.12;margin-bottom:8px}
.stand p{margin:0 0 12px;color:var(--rauch);font-size:1rem}
.stand-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin:var(--s2) 0}
.tag-ware{font-family:var(--klein);font-size:.68rem;
  letter-spacing:.01em;color:var(--akzent);border:2px solid var(--akzent);
  border-radius:3px;padding:3px 10px;line-height:1.5}
.leer{padding:var(--s3) 0 0;margin:0;font-family:var(--klein);font-size:.8rem;
  letter-spacing:.01em;color:var(--rauch)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;
    scroll-behavior:auto!important}
}

/* Lange deutsche Komposita ("Datenschutzerklärung",
   "Umsatzsteuer-Identifikationsnummer") sprengen in der grossen
   Display-Schrift sonst die Handy-Breite. */
h1, h2, h3, .marke b {
  overflow-wrap: break-word;
  hyphens: auto;
}

/* ---------- Karte und Anfahrt ---------- */
/* Beim Gestaltungsumbau (97e5e85) sind diese Regeln verlorengegangen.
   Ohne sie ist ein <iframe> 300x150 px gross — daher der zerschossene Kasten. */

/* Der Rahmen zeigt vor der Einwilligung ein angedeutetes Strassenraster,
   damit an der Stelle sichtbar eine Karte steht. Reines CSS, kein Bild. */
.karte{position:relative;display:flex;flex-direction:column;justify-content:center;
  margin-top:var(--s3);
  min-height:clamp(280px,44vw,620px);border-radius:3px;overflow:hidden;
  border:2px solid #D5DDE1;
  background:
    repeating-linear-gradient(0deg,transparent 0 38px,#DFE6E9 38px 40px),
    repeating-linear-gradient(90deg,transparent 0 38px,#DFE6E9 38px 40px),
    var(--platz)}
.karte-sperre{max-width:30rem;margin:0 auto;padding:var(--s3) var(--s3) var(--s4);
  text-align:center;background:var(--plane);border-radius:3px;
  border:2px solid var(--tinte)}
.karte-sperre p{margin:0 0 14px}
.karte-sperre p:last-child{margin-bottom:0}

/* Nach der Einwilligung: Karte fuellt den Rahmen, Hinweiszeile darunter. */
.karte-geladen{display:block;background:var(--plane);border-color:var(--tinte)}
.karte iframe{display:block;width:100%;height:clamp(280px,44vw,620px);border:0}
.karte-quelle{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0;
  padding:10px var(--s2);background:var(--plane);border-top:2px solid #D5DDE1;
  font-size:.8125rem;line-height:1.5;color:var(--rauch)}
.karte-widerruf{padding:0;border:0;background:none;color:var(--akzent);font:inherit;
  text-decoration:underline;cursor:pointer}
.karte-widerruf:hover{color:var(--tinte)}

/* Der Routen-Knopf ist ein gewoehnlicher Link und laedt nichts nach —
   er funktioniert auch ohne Einwilligung und ohne JavaScript. */
.karte-route{display:flex;flex-wrap:wrap;align-items:center;gap:12px var(--s3);
  margin:var(--s3) 0 0}
.karte-route .klein{margin:0;flex:1 1 16rem}
@media(min-width:900px){
  .karte{margin-top:var(--s4)}
  .karte-route{margin-top:var(--s4)}
}

/* ---------- Einwilligungsbanner ---------- */
.banner{position:fixed;inset-inline:0;bottom:0;z-index:100;background:var(--plane);
  border-top:3px solid var(--tinte)}
.banner[hidden]{display:none}
.banner-in{display:grid;gap:var(--s2);padding-top:var(--s3);padding-bottom:var(--s3)}
.banner-in p{margin:0 0 8px}
.banner-in p:last-child{margin-bottom:0}
.banner-btn{display:flex;flex-wrap:wrap;gap:12px}
@media(min-width:820px){
  .banner-in{grid-template-columns:1fr auto;align-items:center;gap:var(--s4)}
}

/* ---------- Bewertungen ---------- */
.note{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);
  margin:var(--s3) 0 var(--s4)}
.note-zahl{margin:0;font-family:var(--display);font-weight:800;line-height:.9;
  font-size:clamp(3rem,9vw,4.75rem);letter-spacing:-.02em}
.note-zahl span{font-size:.4em;font-weight:400;color:var(--rauch)}
.note-sterne{margin:0 0 4px;font-size:1.5rem;line-height:1;color:var(--kurkuma);
  letter-spacing:.08em}
/* Der halbe Stern: linke Haelfte gefuellt, rechte in Rauchgrau. */
.note-sterne .halb{background:linear-gradient(90deg,var(--kurkuma) 50%,#C9D2D6 50%);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.note .klein{margin:0;max-width:46ch}
