/* GastroMotivator 2026 — Brand-Stylesheet. Quelle: Design System (tokens.json + bundle.css). Nicht von Hand ändern. */
@font-face{font-family:'Geist';font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/geist-var-latin.woff2) format('woff2');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:'Geist';font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/geist-var-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/geist-mono-var-latin.woff2) format('woff2');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:'Geist Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/geist-mono-var-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
:root,[data-theme="light"]{--bg:#f8f5f0;--surface:#ffffff;--surface-sunk:#f0ebe3;--ink:#16130f;--ink-soft:#433d36;--ink-muted:#655e55;--line:#e6e0d6;--line-strong:#8a837a;--glut:#b85a3d;--glut-ink:#9c4a30;--accent-fill:#b85a3d;--on-accent:#ffffff;--ok:#2f6b3a;--band:#16130f;--on-band:#f4f1ec;--on-band-muted:#a39c91;--glut-on-band:#e39374;--focus:var(--glut-ink);--shadow-panel:0 1px 2px rgba(17,18,20,0.04), 0 12px 32px -12px rgba(17,18,20,0.18);}
[data-theme="dark"]{--bg:#12100e;--surface:#1b1916;--surface-sunk:#24211d;--ink:#f4f1ec;--ink-soft:#d0cac1;--ink-muted:#a39c91;--line:#2f2b26;--line-strong:#6b645a;--glut:#d9805f;--glut-ink:#e39374;--accent-fill:#d9805f;--on-accent:#12100e;--ok:#7cc58a;--band:#201d19;--on-band:#f4f1ec;--on-band-muted:#a39c91;--glut-on-band:#e39374;--focus:var(--glut-ink);--shadow-panel:0 1px 2px rgba(0,0,0,0.5), 0 12px 32px -12px rgba(0,0,0,0.7);}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:80px;--space-9:128px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--container:1200px;--measure:36em;--hairline:1px;--font-sans:"Geist", "Helvetica Neue", Arial, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-logo:"Archivo Black", sans-serif;}
html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0}:where(body){background:var(--bg)} /* :where = Seiten mit eigenem Hintergrund behalten ihn */

/* GastroMotivator — Beratung & KI-Automatisierung. Alle Werte aus tokens.css. */

.gm, .gm * { box-sizing: border-box; }
.gm { background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; font-feature-settings: "ss01", "cv11"; }
:where(.gm a) { color: inherit; }
.gm :focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 4px; }
.gm .wrap { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-7); }

/* ---------- Typo ---------- */
.gm-h { font-family: var(--font-sans); font-weight: 600; margin: 0; text-wrap: balance; color: var(--ink); }
.gm-h .acc { color: var(--glut); }
.gm-display { font-size: 80px; line-height: 1; letter-spacing: -0.045em; }
.gm-h1 { font-size: 56px; line-height: 1.05; letter-spacing: -0.04em; }
.gm-h2 { font-size: 36px; line-height: 1.12; letter-spacing: -0.03em; }
.gm-h3 { font-size: 22px; line-height: 1.25; letter-spacing: -0.015em; }
.gm-lead { font-size: 20px; line-height: 1.55; letter-spacing: -0.01em; color: var(--ink-soft); max-width: var(--measure); margin: 0; }
.gm-body { font-size: 16px; line-height: 1.6; color: var(--ink-soft); max-width: var(--measure); margin: 0; }
.gm-small { font-size: 14px; line-height: 1.5; color: var(--ink-muted); }
.gm-label { font-family: var(--font-mono); font-size: 12px; line-height: 1.4; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); }
.gm-label.is-glut { color: var(--glut-ink); }
.gm-kicker { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); padding: 6px 10px; border: var(--hairline) solid var(--line); border-radius: 999px; background: var(--surface); }
.gm-kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--glut); }

/* ---------- Abschnitt ---------- */
.gm-abschnitt { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: end; }
.gm-abschnitt .gm-label { display: block; margin-bottom: var(--space-4); }

/* ---------- Buttons ---------- */
.gm-btn { white-space: nowrap; display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-sans); font-size: 15px; font-weight: 500; line-height: 1.2; text-decoration: none; padding: 13px 20px; border-radius: var(--radius-md); border: var(--hairline) solid transparent; cursor: pointer; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
.gm-btn .arr { transition: transform .15s ease; }
.gm-btn:hover .arr { transform: translateX(3px); }
.gm-btn--accent { background: var(--accent-fill); color: var(--on-accent); }
.gm-btn--accent:hover { filter: brightness(1.08); }
.gm-btn--primary { background: var(--ink); color: var(--bg); }
.gm-btn--primary:hover { background: var(--ink-soft); }
.gm-btn--secondary { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
.gm-btn--secondary:hover { border-color: var(--ink); }
.gm-btn--onband { background: var(--on-band); color: var(--band); }
.gm-btn--onband-secondary { background: transparent; color: var(--on-band); border-color: var(--on-band-muted); }
.gm-band :focus-visible { outline-color: var(--glut-on-band); }
.gm-link { font-weight: 500; font-size: 15px; color: var(--glut-ink); text-decoration: none; display: inline-flex; gap: 6px; }
.gm-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Tags ---------- */
.gm-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.gm-tags li { font-family: var(--font-mono); font-size: 12px; color: var(--ink-soft); padding: 3px 8px; background: var(--surface-sunk); border-radius: var(--radius-sm); }

/* ---------- Panel / Messwerte ---------- */
.gm-panel { background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-panel); overflow: hidden; }
.gm-panel__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: var(--hairline) solid var(--line); }
.gm-panel__dots { display: flex; gap: 6px; }
.gm-panel__dots i { width: 8px; height: 8px; border-radius: 50%; background: var(--line); display: block; }
.gm-metrics { list-style: none; margin: 0; padding: var(--space-2) var(--space-5); }
.gm-metrics li { display: grid; grid-template-columns: 1fr auto; gap: var(--space-4); align-items: center; padding: var(--space-3) 0; border-bottom: var(--hairline) solid var(--line); font-size: 15px; }
.gm-metrics li:last-child { border-bottom: 0; }
.gm-metrics .v { font-family: var(--font-mono); font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gm-metrics .v s { color: var(--ink-muted); }
.gm-metrics .v .to { color: var(--ok); font-weight: 600; }
.gm-metrics .v .arrow { color: var(--ink-muted); padding: 0 6px; }
.gm-panel__foot { padding: var(--space-3) var(--space-5) var(--space-4); background: var(--surface-sunk); font-size: 13px; color: var(--ink-muted); }
.gm-status { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 12px; color: var(--ok); }
.gm-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ok); }

/* ---------- Flow (Signatur) ---------- */
.gm-flow { display: grid; grid-template-columns: 1fr; gap: 0; position: relative; }
.gm-flow__node { position: relative; display: grid; grid-template-columns: 36px 1fr auto; gap: var(--space-3); align-items: center; background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.gm-flow__node + .gm-flow__node { margin-top: 28px; }
.gm-flow__node + .gm-flow__node::before { content: ""; position: absolute; left: 33px; top: -29px; height: 28px; border-left: 2px dashed var(--line-strong); }
.gm-flow__icon { width: 36px; height: 36px; border-radius: 8px; background: var(--surface-sunk); display: grid; place-items: center; font-family: var(--font-mono); font-size: 12px; font-weight: 600; color: var(--ink-soft); }
.gm-flow__node.is-ai .gm-flow__icon { background: var(--glut); color: var(--on-accent); }
.gm-flow__node.is-ai { border-color: var(--glut); }
.gm-flow__t { font-size: 15px; font-weight: 500; line-height: 1.3; }
.gm-flow__d { display: block; font-family: var(--font-mono); font-size: 12px; color: var(--ink-muted); margin-top: 2px; }
.gm-flow__k { font-family: var(--font-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); }
.gm-band .gm-flow__node { background: #ffffff0f; border-color: #ffffff24; }
.gm-band .gm-flow__node.is-ai { border-color: var(--glut-on-band); }
.gm-band .gm-flow__t { color: var(--on-band); }
.gm-band .gm-flow__d, .gm-band .gm-flow__k { color: var(--on-band-muted); }
.gm-band .gm-flow__icon { background: #ffffff14; color: var(--on-band); }
.gm-band .gm-flow__node.is-ai .gm-flow__icon { background: var(--glut-on-band); color: var(--band); }
.gm-band .gm-flow__node + .gm-flow__node::before { border-left-color: var(--on-band-muted); }

/* ---------- Kennzahl ---------- */
.gm-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.gm-stat { padding-top: var(--space-4); border-top: var(--hairline) solid var(--line-strong); }
.gm-stat__n { font-size: 64px; line-height: 1; font-weight: 500; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; display: block; }
.gm-stat__n .acc { color: var(--glut); }
.gm-stat__l { display: block; margin-top: var(--space-2); font-size: 14px; color: var(--ink-muted); }

/* ---------- Leistungskarten ---------- */
.gm-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); list-style: none; margin: 0; padding: 0; }
.gm-card { display: flex; flex-direction: column; height: 100%; background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); padding: var(--space-6); text-decoration: none; color: inherit; transition: border-color .15s ease, transform .15s ease; }
.gm-card:hover { border-color: var(--ink); }
.gm-card:hover .arr { transform: translateX(4px); }
.gm-card__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-6); }
.gm-card__no { font-family: var(--font-mono); font-size: 12px; color: var(--glut-ink); font-weight: 500; }
.gm-card .gm-h3 { margin: var(--space-2) 0 var(--space-3); }
.gm-card p { margin: 0 0 var(--space-5); color: var(--ink-soft); }
.gm-card .gm-tags { margin-top: auto; }
.gm-card__go { margin-top: var(--space-5); font-weight: 500; font-size: 15px; display: inline-flex; gap: 6px; color: var(--glut-ink); }
.gm-card__go .arr { transition: transform .15s ease; }
.gm-card.is-featured { background: var(--band); border-color: var(--band); color: var(--on-band); }
.gm-card.is-featured .gm-h3 { color: var(--on-band); }
.gm-card.is-featured p { color: var(--on-band-muted); }
.gm-card.is-featured .gm-label { color: var(--on-band-muted); }
.gm-card.is-featured .gm-card__no, .gm-card.is-featured .gm-card__go { color: var(--glut-on-band); }
.gm-card.is-featured .gm-tags li { background: #ffffff14; color: var(--on-band); }

/* ---------- Gegenüberstellung ---------- */
.gm-vs { display: grid; gap: var(--space-2); }
.gm-vs__row { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); align-items: center; gap: var(--space-3); }
.gm-vs__say { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); border: var(--hairline) dashed var(--line-strong); color: var(--ink-muted); font-size: 15px; }
.gm-vs__arrow { text-align: center; color: var(--glut); font-family: var(--font-mono); }
.gm-vs__is { padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--surface); border: var(--hairline) solid var(--line); font-weight: 500; font-size: 15px; }
.gm-vs__head { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); gap: var(--space-3); margin-bottom: var(--space-2); }

/* ---------- Schritte ---------- */
.gm-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); counter-reset: s; }
.gm-step { background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); padding: var(--space-5) var(--space-5) var(--space-6); }
.gm-step__bar { height: 4px; border-radius: 2px; background: var(--surface-sunk); margin: var(--space-4) 0 var(--space-5); overflow: hidden; }
.gm-step__bar i { display: block; height: 100%; background: var(--glut); }
.gm-step .gm-h3 { margin: 0 0 var(--space-3); }

/* ---------- Fragenliste ---------- */
.gm-questions { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.gm-questions li { display: grid; grid-template-columns: 40px 1fr; gap: var(--space-3); align-items: start; padding: var(--space-4); background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); font-size: 17px; line-height: 1.4; font-weight: 500; letter-spacing: -0.01em; }
.gm-questions .no { font-family: var(--font-mono); font-size: 12px; color: var(--glut-ink); padding-top: 3px; }

/* ---------- Band ---------- */
.gm-band { background: var(--band); color: var(--on-band); }
.gm-band .gm-h { color: var(--on-band); }
.gm-band .gm-h .acc { color: var(--glut-on-band); }
.gm-band .gm-label { color: var(--on-band-muted); }
.gm-band .gm-label.is-glut { color: var(--glut-on-band); }
.gm-band .gm-lead, .gm-band .gm-body { color: var(--on-band-muted); }
.gm-band .gm-kicker { background: transparent; border-color: #ffffff2e; color: var(--on-band); }

/* ---------- Kopfzeile ---------- */
.gm-header { position: sticky; top: 0; z-index: 10; background: color-mix(in srgb, var(--bg) 85%, transparent); backdrop-filter: blur(12px); border-bottom: var(--hairline) solid var(--line); }
.gm-header__bar { display: flex; align-items: center; gap: var(--space-6); height: 68px; }
.gm-header__logo { display: flex; align-items: center; }
.gm-header__logo img { height: 21px; width: auto; }
.gm-header nav { display: flex; gap: 4px; margin-left: auto; }
.gm-header nav a { font-size: 15px; font-weight: 500; text-decoration: none; color: var(--ink-soft); padding: 8px 12px; border-radius: var(--radius-sm); }
.gm-header nav a:hover { background: var(--surface-sunk); color: var(--ink); }
.gm-header nav a[aria-current] { color: var(--ink); background: var(--surface-sunk); }
.gm-header__lang { font-family: var(--font-mono); font-size: 12px; color: var(--ink-muted); display: flex; gap: 8px; }
.gm-header__lang b { color: var(--ink); font-weight: 500; }
.gm-header .gm-btn { padding: 10px 16px; }
.gm-header__burger { display: none; margin-left: auto; background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-sm); padding: 8px 12px; color: var(--ink); font-family: var(--font-sans); font-size: 14px; font-weight: 500; }

/* ---------- Fußzeile ---------- */
.gm-footer { border-top: var(--hairline) solid var(--line); padding: var(--space-8) 0 var(--space-6); }
.gm-footer__grid { display: grid; grid-template-columns: 4fr 2fr 2fr 2fr; gap: var(--space-6); }
.gm-footer h4 { margin: 0 0 var(--space-4); }
.gm-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.gm-footer ul a { text-decoration: none; color: var(--ink-soft); font-size: 14px; }
.gm-footer ul a:hover { color: var(--ink); }
.gm-footer__claim { font-size: 15px; line-height: 1.5; color: var(--ink-soft); margin: var(--space-4) 0 0; max-width: 24em; }
.gm-footer__base { display: flex; justify-content: space-between; gap: var(--space-5); flex-wrap: wrap; margin-top: var(--space-8); padding-top: var(--space-4); border-top: var(--hairline) solid var(--line); }
.gm-footer__base a { color: var(--ink-muted); }

/* ---------- Cookie ---------- */
.gm-cookie { max-width: 400px; background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-panel); padding: var(--space-5); }
.gm-cookie p { margin: var(--space-2) 0 var(--space-4); font-size: 14px; line-height: 1.5; color: var(--ink-soft); }
.gm-cookie__actions { display: flex; gap: var(--space-2); }
.gm-cookie .gm-btn { padding: 10px 14px; font-size: 14px; flex: 1; justify-content: center; }
.gm-cookie__more { display: inline-block; margin-top: var(--space-3); font-size: 13px; color: var(--ink-muted); }

/* ---------- Seite ---------- */
.gm-section { padding: var(--space-9) 0; }
.gm-hero { padding: var(--space-8) 0 var(--space-8); }
.gm-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: center; }
.gm-hero .gm-display { margin-top: var(--space-5); }
.gm-hero .gm-lead { margin-top: var(--space-5); }
.gm-ctas { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-6); }
.gm-two { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.gm-two--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
.gm-about { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-7); align-items: center; }
.gm-about img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; border-radius: var(--radius-lg); }
.gm-about__cv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.gm-about__cv div { border: var(--hairline) solid #ffffff24; border-radius: var(--radius-md); padding: var(--space-4); }
.gm-about__cv p { margin: var(--space-2) 0 0; font-size: 14px; line-height: 1.5; color: var(--on-band); }

/* Wortmarke je Theme */
.gm-logo-dark { display: none; }
[data-theme="dark"] .gm-logo-light, .gm-band .gm-logo-light { display: none !important; }
[data-theme="dark"] .gm-logo-dark, .gm-band .gm-logo-dark { display: block !important; }

/* Kopfzeile: Logo + 5 Links + Sprache + Button passen erst ab ~1.090 px nebeneinander.
   Darunter (z. B. iPad quer, 1024 px) Menü-Knopf statt umbrechender Links; Sprache + Button bleiben bis 900 px. */
@media (max-width: 1140px) {
  .gm-header nav { display: none; }
  .gm-header__lang { margin-left: auto; }
  .gm-header__burger { display: inline-block; margin-left: 0; }
}
@media (max-width: 900px) {
  .gm .wrap { padding: 0 var(--space-4); }
  .gm-display { font-size: 46px; }
  .gm-h1 { font-size: 36px; }
  .gm-h2 { font-size: 28px; }
  .gm-lead { font-size: 18px; }
  .gm-section { padding: var(--space-8) 0; }
  .gm-hero { padding: var(--space-6) 0 var(--space-8); }
  .gm-hero__grid, .gm-abschnitt, .gm-two, .gm-two--even, .gm-about, .gm-steps, .gm-cards, .gm-footer__grid, .gm-about__cv { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .gm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gm-stat__n { font-size: 48px; }
  .gm-card { padding: var(--space-5); }
  .gm-header nav, .gm-header__lang, .gm-header__bar > .gm-btn { display: none; }
  .gm-header__burger { display: inline-block; margin-left: auto; }
  .gm-vs__row, .gm-vs__head { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .gm-vs__arrow { transform: rotate(90deg); width: 20px; }
  .gm-vs__head span:nth-child(2), .gm-vs__head span:nth-child(3) { display: none; }
  .gm-vs__row { margin-bottom: var(--space-3); }
  .gm-about img { aspect-ratio: 1/1; }
}
.gm-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .gm-stats--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); } .gm-stats--3 .gm-stat__n { font-size: 40px; } }
/* Helle Flächen auf dem Band behalten dunkle Schrift */
.gm-panel, .gm-questions li, .gm-vs__is, .gm-cookie { color: var(--ink); }
.gm-band .gm-panel .gm-label { color: var(--ink-muted); }
.gm-band .gm-panel .gm-label.is-glut { color: var(--glut-ink); }
[data-theme="dark"] .gm-card.is-featured { border-color: var(--glut); }

/* ---------- Begrüßung (Hero) ---------- */
.gm-hello { display: inline-flex; align-items: center; gap: 12px; padding: 6px 16px 6px 6px; background: var(--surface); border: var(--hairline) solid var(--line); border-radius: 999px; font-size: 15px; color: var(--ink-soft); }
.gm-hello img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: block; }
.gm-hello b { color: var(--ink); font-weight: 600; }

/* ---------- Wegweiser ---------- */
.gm-wegweiser { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-3); list-style: none; margin: 0; padding: 0; }
.gm-weg { display: flex; flex-direction: column; gap: var(--space-3); height: 100%; padding: var(--space-5); background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); text-decoration: none; color: var(--ink); transition: border-color .15s ease, transform .15s ease; }
.gm-weg:hover { border-color: var(--glut); transform: translateY(-2px); }
.gm-weg__q { font-size: 18px; line-height: 1.3; font-weight: 600; letter-spacing: -0.015em; }
.gm-weg__a { font-size: 14px; line-height: 1.5; color: var(--ink-muted); }
.gm-weg__go { margin-top: auto; font-size: 14px; font-weight: 500; color: var(--glut-ink); display: inline-flex; gap: 6px; }
.gm-weg.is-ai { background: var(--band); border-color: var(--band); color: var(--on-band); }
.gm-weg.is-ai .gm-weg__a { color: var(--on-band-muted); }
.gm-weg.is-ai .gm-weg__go { color: var(--glut-on-band); }
.gm-wegweiser__alt { margin-top: var(--space-4); font-size: 15px; color: var(--ink-muted); }

/* ---------- FAQ ---------- */
.gm-faq { display: grid; gap: var(--space-2); }
.gm-faq details { background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-md); }
.gm-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.gm-faq summary::-webkit-details-marker { display: none; }
.gm-faq summary::after { content: "+"; font-family: var(--font-mono); font-size: 20px; color: var(--glut-ink); transition: transform .15s ease; }
.gm-faq details[open] summary::after { transform: rotate(45deg); }
.gm-faq details p { margin: 0; padding: 0 var(--space-5) var(--space-5); color: var(--ink-soft); max-width: 40em; }

/* ---------- Mobile Aktionsleiste ---------- */
.gm-mobilebar { display: none; }
@media (max-width: 900px) {
  .gm-wegweiser { grid-template-columns: minmax(0, 1fr); }
  .gm-mobilebar { display: flex; gap: var(--space-2); position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 20; padding: 8px; background: var(--surface); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-panel); }
  .gm-mobilebar .gm-btn { flex: 1; justify-content: center; padding: 12px; }
  .gm-footer { padding-bottom: 104px; }
  .gm-hello { font-size: 14px; }
}
[data-theme="dark"] .gm-weg.is-ai { border-color: var(--glut); }
@media (max-width: 900px) { .gm-hero__visual { display: none; } .gm-hero + section .gm-wegweiser, .gm-hero .gm-wegweiser { margin-top: var(--space-4); } }
/* Mobiles Menü offen */
@media (max-width: 1140px) {
  .gm-header.is-open nav { display: flex; flex-direction: column; position: absolute; top: 68px; left: 0; right: 0; gap: 2px; padding: 12px 16px 16px; background: var(--surface); border-bottom: var(--hairline) solid var(--line); box-shadow: var(--shadow-panel); }
  .gm-header.is-open nav a { padding: 12px; font-size: 17px; }
}

/* ---------- Cookie-Banner (cookie-banner.js) im neuen Look — nur auf Seiten mit gm-2026.css ---------- */
#gm-cookie-banner, #gm-cookie-reopen { --sienna: var(--glut-ink); --sienna-deep: #7e3b26; --marker-green: #f6e8e2; --marker-ink: var(--ink); --bone: var(--surface); --bone-2: var(--bg); --pergament: var(--surface-sunk); --ink-mute: var(--ink-muted); --font-label: var(--font-mono); --font-body: var(--font-sans); --font-display: var(--font-sans); }
body #gm-cookie-banner { width: min(400px, calc(100vw - 24px)); left: 12px; bottom: 12px; font-family: var(--font-sans); }
body #gm-cookie-banner .gm-cb-inner { background: var(--surface); color: var(--ink); border: var(--hairline) solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-panel); padding: 20px 20px 16px; }
body #gm-cookie-banner .gm-cb-inner::before { display: none; }
body #gm-cookie-banner .gm-cb-kicker { font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: .06em; color: var(--glut-ink); margin-bottom: 6px; }
body #gm-cookie-banner .gm-cb-title { font-family: var(--font-sans); font-weight: 600; font-size: 20px; line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 8px; color: var(--ink); }
body #gm-cookie-banner .gm-cb-text { font-size: 14px; line-height: 1.5; color: var(--ink-soft); margin-bottom: 14px; }
body #gm-cookie-banner .gm-cb-actions { gap: 8px; margin-bottom: 10px; }
body #gm-cookie-banner .gm-cb-btn { min-height: 42px; border-radius: var(--radius-md); font-family: var(--font-sans); font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; border: var(--hairline) solid var(--line-strong); }
body #gm-cookie-banner .gm-cb-btn--solid { background: var(--ink); color: var(--bg); border-color: var(--ink); }
body #gm-cookie-banner .gm-cb-btn--solid:hover { background: var(--ink-soft); border-color: var(--ink-soft); }
body #gm-cookie-banner .gm-cb-btn--outline { background: var(--surface); color: var(--ink); }
body #gm-cookie-banner .gm-cb-btn--outline:hover { background: var(--surface-sunk); }
body #gm-cookie-banner .gm-cb-link { font-family: var(--font-sans); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--ink-muted); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body #gm-cookie-banner .gm-cb-category { border: var(--hairline) solid var(--line); border-radius: var(--radius-md); background: var(--bg); }
body #gm-cookie-banner .gm-cb-toggle-label { color: var(--glut-ink); }
body #gm-cookie-banner .gm-cb-toggle input:checked + .gm-cb-slider { background: var(--accent-fill); border-color: var(--accent-fill); }
body #gm-cookie-reopen { border-radius: var(--radius-md); background: var(--surface); color: var(--ink); border: var(--hairline) solid var(--line); box-shadow: var(--shadow-panel); }
body #gm-cookie-reopen:hover { background: var(--surface-sunk); border-color: var(--ink); }
@media (max-width: 900px) {
  body #gm-cookie-banner { bottom: 84px; }
  body #gm-cookie-reopen { bottom: 84px; left: 12px; }
}
