/* ============================================================
   Yep Casino — Stylesheet
   Archetyp: Quelltext-Baum im offenen Editor
   Präfix: qmb-
   ============================================================ */

:root{
  /* Flächen — kühle helle Editor-Basis */
  --qmb-bg:        #f2f3ec;
  --qmb-surface:   #fafbf4;
  --qmb-surface-2: #e9eae0;
  --qmb-ink:       #21221a;
  --qmb-ink-2:     #45473a;
  --qmb-ink-3:     #61634f;
  /* Marken-Akzente */
  --qmb-accent:    #eff700;  /* aktive Zweige, Marker, Highlights */
  --qmb-accent-deep:#6b6f00; /* lesbarer Akzent-Ton für Text auf Hell (AA) */
  --qmb-cta:       #ff8505;  /* Aktions-Schaltflächen */
  --qmb-dark:      #242518;  /* dunkle Markenzone */
  --qmb-dark-2:    #2e2f20;
  --qmb-on-dark:   #f2f3ea;
  --qmb-on-dark-2: #c4c6b4;
  /* Linien (eine Quelle der Wahrheit) */
  --qmb-line:   color-mix(in srgb, var(--qmb-ink) 14%, transparent);
  --qmb-line-2: color-mix(in srgb, var(--qmb-ink) 22%, transparent);
  --qmb-line-3: color-mix(in srgb, var(--qmb-ink) 34%, transparent);
  /* Maße */
  --qmb-wrap: 1222px;
  --qmb-pad: clamp(16px, 4vw, 30px);
  --qmb-r-sm: 2px;
  --qmb-r-md: 3px;
  /* Typo-Skala (Faktor 1.25) */
  --qmb-step--1: 0.8rem;
  --qmb-step-0:  1rem;
  --qmb-step-1:  1.25rem;
  --qmb-step-2:  1.563rem;
  --qmb-step-3:  1.953rem;
  --qmb-step-4:  2.441rem;
  --qmb-mono: ui-monospace, "Cascadia Code", "Fira Code", Menlo, Consolas, monospace;
  --qmb-sans: "Heebo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --qmb-display: "Stardos Stencil", "Heebo", system-ui, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box }
html{ -webkit-text-size-adjust:100% }
body{ margin:0 }

.qmb-body{
  font-family:var(--qmb-sans);
  font-size:clamp(16px, 1rem + 0.1vw, 17px);
  line-height:1.62;
  color:var(--qmb-ink);
  background:var(--qmb-bg);
  font-feature-settings:"tnum" 1,"lnum" 1;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto }

a{ color:var(--qmb-accent-deep); text-underline-offset:2px }
a:hover{ color:var(--qmb-ink) }

:focus-visible{ outline:2px solid var(--qmb-accent-deep); outline-offset:2px }
::selection{ background:color-mix(in srgb, var(--qmb-accent) 55%, transparent); color:var(--qmb-ink) }

h1,h2,h3,h4{ font-family:var(--qmb-display); line-height:1.12; font-weight:700; margin:0 0 .5em }
h1{ letter-spacing:-0.01em }

.qmb-wrap{
  width:100%;
  max-width:var(--qmb-wrap);
  margin-inline:auto;
  padding-inline:var(--qmb-pad);
}

.qmb-skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--qmb-dark); color:var(--qmb-on-dark); padding:10px 16px;
}
.qmb-skip:focus{ left:8px; top:8px }

/* ---------------- Header / Nav ---------------- */
.qmb-head{
  position:sticky; top:0; z-index:80;
  background:var(--qmb-surface-2);
  border-bottom:1px solid var(--qmb-line);
}
.qmb-head__in{
  display:flex; align-items:center; gap:18px;
  min-height:62px;
}
.qmb-logo{ display:inline-flex; align-items:center; line-height:0; flex:0 0 auto }
.qmb-logo img{ height:clamp(30px,4vw,42px); width:auto }
.qmb-nav{ margin-left:auto }
.qmb-nav__list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:nowrap; align-items:center; gap:clamp(10px,1.4vw,22px);
}
.qmb-nav__link{
  display:inline-block; position:relative;
  font-family:var(--qmb-mono); font-size:var(--qmb-step--1);
  letter-spacing:.02em; text-transform:lowercase;
  color:var(--qmb-ink-2); text-decoration:none; white-space:nowrap;
  padding-block:6px;
  transition:color .15s ease;
}
.qmb-nav__link span{ position:relative }
.qmb-nav__link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--qmb-accent); opacity:0; transition:opacity .15s ease;
}
.qmb-nav__link:hover{ color:var(--qmb-ink) }
.qmb-nav__link:hover::after,
.qmb-nav__link.is-active::after{ opacity:1 }
.qmb-nav__link.is-active{ color:var(--qmb-ink) }

.qmb-nav-toggle{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none }
.qmb-burger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:46px; height:46px; cursor:pointer; flex:0 0 auto;
}
.qmb-burger span{ display:block; height:2px; width:24px; background:var(--qmb-ink) }

/* Header-CTA */
.qmb-head__in .qmb-cta{ flex:0 0 auto; white-space:nowrap; padding:9px 16px; font-size:var(--qmb-step--1) }

/* ---------------- CTA ---------------- */
.qmb-cta{
  display:inline-block; font-family:var(--qmb-mono); font-weight:700;
  text-decoration:none; border:2px solid var(--qmb-cta);
  padding:13px 26px; border-radius:var(--qmb-r-sm);
  letter-spacing:.01em; cursor:pointer;
  transition:background-color .18s ease, color .18s ease, transform .12s ease;
}
.qmb-cta--solid{ background:var(--qmb-cta); color:var(--qmb-dark) }
.qmb-cta--solid:hover{ background:var(--qmb-dark); color:var(--qmb-cta) }
.qmb-cta--ghost{ background:transparent; color:var(--qmb-cta) }
.qmb-cta--ghost:hover{ background:var(--qmb-cta); color:var(--qmb-dark) }
.qmb-cta:active{ transform:translateY(1px) }

/* ---------------- Breadcrumbs ---------------- */
.qmb-crumbs{ background:var(--qmb-bg); border-bottom:1px solid var(--qmb-line) }
.qmb-crumbs__list{
  list-style:none; margin:0; padding:11px 0; display:flex; flex-wrap:wrap; gap:6px;
  font-family:var(--qmb-mono); font-size:var(--qmb-step--1); color:var(--qmb-ink-3);
}
.qmb-crumbs__item{ display:flex; align-items:center; gap:6px }
.qmb-crumbs__item + .qmb-crumbs__item::before{ content:"/"; color:var(--qmb-line-3) }
.qmb-crumbs a{ color:var(--qmb-ink-2); text-decoration:none }
.qmb-crumbs a:hover{ color:var(--qmb-ink) }
.qmb-crumbs span[aria-current]{ color:var(--qmb-ink) }

/* ---------------- Hero ---------------- */
.qmb-hero{ padding-block:clamp(28px,4vw,46px) }
.qmb-hero__in{
  display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(22px,3.4vw,44px);
  align-items:center;
}
.qmb-hero__copy{ display:flex; flex-direction:column; gap:clamp(12px,1.6vw,18px); min-width:0 }
.qmb-hero__kicker{
  display:block; font-family:var(--qmb-mono); font-size:var(--qmb-step--1);
  letter-spacing:.06em; color:var(--qmb-ink-3);
}
.qmb-hero__kicker::before{ content:"└─ "; color:var(--qmb-line-3) }
.qmb-hero__h1{
  margin:0; font-size:clamp(2rem, 1.4rem + 3vw, 3rem); line-height:1.06;
  text-wrap:balance;
}
.qmb-hero__lead{
  margin:0; max-width:46ch; font-size:var(--qmb-step-1); color:var(--qmb-ink-2);
  line-height:1.5; text-wrap:pretty;
}
.qmb-hero__ctarow{ display:flex }
.qmb-hero__micro{
  margin:0; font-family:var(--qmb-mono); font-size:var(--qmb-step--1); color:var(--qmb-ink-3);
}
.qmb-hero__media{ min-width:0; position:relative; justify-self:end }
.qmb-hero__media::before{
  content:""; position:absolute; inset:-6% 0; z-index:0;
  background:radial-gradient(60% 60% at 60% 45%, color-mix(in srgb,var(--qmb-accent) 26%, transparent), transparent 70%);
  filter:blur(34px);
}
.qmb-hero__img{
  position:relative; z-index:1;
  width:100%; max-width:380px; aspect-ratio:1/1; object-fit:cover;
  border-radius:var(--qmb-r-md);
  box-shadow:0 18px 40px -18px rgba(30,32,12,.55), 0 4px 12px -6px rgba(30,32,12,.35);
}
.qmb-hero__facts{
  list-style:none; margin:clamp(20px,2.6vw,30px) 0 0; padding:14px 18px;
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px;
  background:var(--qmb-line); border:1px solid var(--qmb-line);
  border-radius:var(--qmb-r-md);
  box-shadow:0 6px 18px -14px rgba(30,32,12,.5);
}
.qmb-hero__fact{
  background:var(--qmb-surface); padding:10px 12px;
  display:flex; flex-direction:column; gap:3px;
}
.qmb-hero__fact-k{ font-family:var(--qmb-mono); font-size:.72rem; letter-spacing:.04em; color:var(--qmb-ink-3); text-transform:uppercase }
.qmb-hero__fact-v{ font-weight:700; color:var(--qmb-ink) }

/* ---------------- Page title (Trust/Autor) ---------------- */
.qmb-pagetitle{ padding-block:clamp(26px,3.6vw,42px); border-bottom:1px solid var(--qmb-line) }
.qmb-pagetitle__kicker{ display:block; font-family:var(--qmb-mono); font-size:var(--qmb-step--1); letter-spacing:.06em; color:var(--qmb-ink-3); margin-bottom:8px }
.qmb-pagetitle__kicker::before{ content:"└─ "; color:var(--qmb-line-3) }
.qmb-pagetitle__h1{ margin:0; font-size:clamp(1.9rem,1.4rem+2.4vw,2.7rem) }
.qmb-pagetitle__lead{ margin:.7em 0 0; max-width:70ch; color:var(--qmb-ink-2); font-size:var(--qmb-step-1) }

/* ---------------- Byline ---------------- */
.qmb-byline{
  display:flex; align-items:center; gap:13px;
  padding-block:16px; margin-top:6px;
}
.qmb-byline__photo{ width:48px; height:48px; border-radius:50%; object-fit:cover; flex:0 0 auto; border:1px solid var(--qmb-line-2) }
.qmb-byline__meta{ min-width:0 }
.qmb-byline__names{ margin:0; font-size:var(--qmb-step-0) }
.qmb-byline__author{ font-weight:700; color:var(--qmb-ink); text-decoration:none; border-bottom:1px solid var(--qmb-line-2) }
.qmb-byline__author:hover{ border-color:var(--qmb-ink) }
.qmb-byline__role{ color:var(--qmb-ink-3) }
.qmb-byline__role::before{ content:" · " }
.qmb-byline__dates{ margin:3px 0 0; font-family:var(--qmb-mono); font-size:var(--qmb-step--1); color:var(--qmb-ink-3) }

/* ---------------- Main / Prose ---------------- */
.qmb-main{ display:block }
.qmb-article{ padding-block:clamp(26px,3.4vw,46px) }
.qmb-prose{ color:var(--qmb-ink) }
.qmb-prose > * + *{ margin-top:1.05em }
.qmb-prose p,.qmb-prose li{ max-width:none }
.qmb-prose p{ text-wrap:pretty }
.qmb-prose a:not(.qmb-cta){ color:var(--qmb-accent-deep); text-decoration:underline; text-underline-offset:2px }
.qmb-prose a:not(.qmb-cta):hover{ color:var(--qmb-ink) }

/* Sektion mit Mono-Nummer im linken Feld */
.qmb-sec{ padding-block:clamp(20px,2.8vw,34px); border-top:1px solid var(--qmb-line) }
.qmb-sec:first-of-type{ border-top:0 }
.qmb-sec__no{
  font-family:var(--qmb-mono); font-size:var(--qmb-step-3); color:var(--qmb-line-3);
  display:block; line-height:1; margin-bottom:8px;
}
.qmb-sec h2{ font-size:clamp(1.5rem,1.2rem+1.4vw,2rem); scroll-margin-top:84px; margin:0 0 .55em }
.qmb-sec h3{ font-size:var(--qmb-step-1); scroll-margin-top:84px; margin:1.4em 0 .5em }

/* Schlüsselbegriff-Unterlage */
.qmb-mark{
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
  background:linear-gradient(to top, color-mix(in srgb,var(--qmb-accent) 40%, transparent) 0.34em, transparent 0.34em);
}

/* CTA-Zeile im Text — zentriert */
.qmb-ctarow{ display:flex; justify-content:center; margin:1.6em 0 }

/* ---------------- TOC ---------------- */
.qmb-toc{
  border:1px solid var(--qmb-line); border-left:2px solid var(--qmb-accent);
  background:var(--qmb-surface); border-radius:var(--qmb-r-md);
  padding:14px 16px; margin:1.4em 0;
}
.qmb-toc__h{ font-family:var(--qmb-mono); font-size:var(--qmb-step--1); text-transform:uppercase; letter-spacing:.06em; color:var(--qmb-ink-3); margin:0 0 8px }
.qmb-toc__list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:7px }
.qmb-toc__list a{
  display:inline-block; font-family:var(--qmb-mono); font-size:var(--qmb-step--1);
  padding:5px 11px; border:1px solid var(--qmb-line-2); border-radius:var(--qmb-r-sm);
  color:var(--qmb-ink-2); text-decoration:none; background:var(--qmb-bg);
  transition:background-color .15s ease, border-color .15s ease, color .15s ease;
}
.qmb-toc__list a:hover{ border-color:var(--qmb-accent-deep); color:var(--qmb-ink) }

/* ---------------- Listen mit Nummer/Marker ---------------- */
.qmb-list{ list-style:none; margin:1.05em 0; padding:0; counter-reset:qmb }
.qmb-list li{
  position:relative; padding-left:2.4rem; counter-increment:qmb; margin-top:.6em;
}
.qmb-list li::before{
  content:counter(qmb,decimal-leading-zero); position:absolute; left:0; top:0;
  width:1.9rem; text-align:right;
  font-family:var(--qmb-mono); font-weight:700; font-size:.85rem; color:var(--qmb-accent-deep);
}
.qmb-check{ list-style:none; margin:1.05em 0; padding:0 }
.qmb-check li{ position:relative; padding-left:1.9rem; margin-top:.5em }
.qmb-check li::before{
  content:""; position:absolute; left:0; top:.34em; width:11px; height:7px;
  border-left:2px solid var(--qmb-accent-deep); border-bottom:2px solid var(--qmb-accent-deep);
  transform:rotate(-45deg);
}

/* ---------------- Tabellen ---------------- */
.qmb-tablewrap{ overflow-x:auto; margin:1.3em 0 }
.qmb-prose table, table{
  width:100%; border-collapse:collapse; font-size:var(--qmb-step-0);
  font-variant-numeric:tabular-nums lining-nums;
}
.qmb-prose th, .qmb-prose td, table th, table td{
  text-align:left; padding:11px 14px; border-bottom:1px solid var(--qmb-line);
  vertical-align:top;
}
.qmb-prose thead th, table thead th{
  background:var(--qmb-surface-2); font-family:var(--qmb-mono); font-size:var(--qmb-step--1);
  text-transform:uppercase; letter-spacing:.03em; color:var(--qmb-ink-2);
  border-bottom:1px solid var(--qmb-line-2);
}
.qmb-prose tbody tr:hover, table tbody tr:hover{ background:color-mix(in srgb,var(--qmb-accent) 8%, transparent) }
.qmb-prose td:first-child, table td:first-child{ font-weight:600 }
.qmb-prose tfoot td, table tfoot td{ font-weight:700; border-top:2px solid var(--qmb-line-3); background:var(--qmb-surface) }
.qmb-prose td:not(:first-child), table td:not(:first-child){ }

/* ---------------- Callout ---------------- */
.qmb-callout{
  border:1px solid var(--qmb-line); border-left:2px solid var(--qmb-accent-deep);
  background:var(--qmb-surface); padding:14px 18px; border-radius:var(--qmb-r-md); margin:1.3em 0;
}
.qmb-callout__h{ font-family:var(--qmb-mono); font-size:var(--qmb-step--1); text-transform:uppercase; letter-spacing:.05em; color:var(--qmb-ink-3); margin:0 0 6px }

/* ---------------- Figure ---------------- */
.qmb-figure{ width:min(70%,740px); margin:1.5em auto; }
.qmb-figure img{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--qmb-r-md); border:1px solid var(--qmb-line) }
.qmb-figure figcaption{ font-family:var(--qmb-mono); font-size:var(--qmb-step--1); color:var(--qmb-ink-3); margin-top:8px; text-align:center }

/* ---------------- FAQ (details) ---------------- */
.qmb-faq{ margin:1.2em 0; border-top:1px solid var(--qmb-line) }
.qmb-prose details, .qmb-faq details, details{
  border-bottom:1px solid var(--qmb-line);
}
.qmb-faq details:nth-child(even){ background:var(--qmb-surface) }
details > summary{
  list-style:none; cursor:pointer; padding:14px 40px 14px 14px; position:relative;
  font-weight:700; font-family:var(--qmb-sans);
}
details > summary::-webkit-details-marker{ display:none }
details > summary::after{
  content:"+"; position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-family:var(--qmb-mono); font-size:1.3rem; color:var(--qmb-accent-deep);
}
details[open] > summary::after{ content:"–" }
details > .qmb-faq__a, details > div{ padding:0 14px 16px }

/* ---------------- Slots ---------------- */
.qmb-slots{ padding-block:clamp(24px,3.2vw,40px); background:var(--qmb-bg); border-top:1px solid var(--qmb-line); border-bottom:1px solid var(--qmb-line) }
.qmb-slots__head{ display:flex; align-items:baseline; gap:12px }
.qmb-slots__no{ font-family:var(--qmb-mono); font-size:var(--qmb-step-2); color:var(--qmb-line-3) }
.qmb-slots__title{ margin:0; font-size:clamp(1.4rem,1.1rem+1.3vw,1.9rem) }
.qmb-slots__intro{ margin:.6em 0 1.2em; max-width:70ch; color:var(--qmb-ink-2) }
.qmb-slots__grid{
  list-style:none; margin:0; padding:0; display:grid; gap:12px;
  grid-template-columns:repeat(8,minmax(0,1fr));
}
.qmb-slots__cell{ min-width:0 }
.qmb-slot{
  display:block; color:inherit; text-decoration:none;
  border:1px solid var(--qmb-line); border-radius:var(--qmb-r-md);
  background:var(--qmb-surface); overflow:hidden; position:relative;
  transition:border-color .18s ease, background-color .2s ease;
}
.qmb-slot__art{ display:block; position:relative; overflow:hidden; line-height:0 }
.qmb-slot__art::after{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--qmb-accent); transform:translateX(-3px); transition:transform .2s ease;
}
.qmb-slot__art img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block }
.qmb-slot__name{
  display:block; padding:8px 9px; font-family:var(--qmb-mono); font-size:.74rem;
  font-weight:500; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.qmb-slot:hover{ border-color:var(--qmb-accent-deep); background:var(--qmb-surface-2) }
.qmb-slot:hover .qmb-slot__art::after{ transform:translateX(0) }
.qmb-slots__more{ margin:1.1em 0 0; font-family:var(--qmb-mono); font-size:var(--qmb-step--1) }
.qmb-slots__more a{ color:var(--qmb-accent-deep); text-decoration:none }
.qmb-slots__more a:hover{ color:var(--qmb-ink) }

/* ---------------- Autor-Karte ---------------- */
.qmb-authorcard{
  display:flex; gap:18px; align-items:flex-start;
  border:1px solid var(--qmb-line); border-left:2px solid var(--qmb-accent);
  background:var(--qmb-surface); border-radius:var(--qmb-r-md);
  padding:20px 22px; margin:1.8em 0;
  max-width:var(--qmb-wrap);
}
.qmb-authorcard__photo{ width:96px; height:96px; border-radius:50%; object-fit:cover; flex:0 0 auto; border:1px solid var(--qmb-line-2) }
.qmb-authorcard__name{ margin:0 0 2px; font-size:var(--qmb-step-1) }
.qmb-authorcard__name a{ color:var(--qmb-ink); text-decoration:none }
.qmb-authorcard__name a:hover{ color:var(--qmb-accent-deep) }
.qmb-authorcard__role{ font-family:var(--qmb-mono); font-size:var(--qmb-step--1); color:var(--qmb-ink-3); margin:0 0 8px }
.qmb-authorcard__bio{ margin:0 0 8px; color:var(--qmb-ink-2) }
.qmb-authorcard__more{ font-family:var(--qmb-mono); font-size:var(--qmb-step--1) }

/* Autor-Profil-Porträt */
.qmb-prose img.qmb-portrait, .qmb-portrait{
  width:220px; aspect-ratio:3/4; object-fit:cover; float:none;
  border-radius:var(--qmb-r-md); border:1px solid var(--qmb-line-2); margin:0 0 1em;
}

/* ---------------- Footer ---------------- */
.qmb-foot{ background:var(--qmb-dark); color:var(--qmb-on-dark-2); margin-top:clamp(30px,5vw,60px) }
.qmb-foot__in{ display:grid; grid-template-columns:1.3fr 1.7fr; gap:clamp(24px,4vw,56px); padding-block:clamp(30px,4vw,48px) }
.qmb-foot__logo{ display:inline-block; line-height:0; background:#fff; padding:8px 14px; border-radius:10px; margin-bottom:14px }
.qmb-foot__logo img{ height:34px; width:auto }
.qmb-foot__note{ margin:0 0 10px; font-size:var(--qmb-step--1); line-height:1.6; max-width:48ch }
.qmb-foot__age{ margin:0 0 8px; font-size:var(--qmb-step--1) }
.qmb-foot__18{
  display:inline-block; font-family:var(--qmb-mono); font-weight:700; color:var(--qmb-dark);
  background:var(--qmb-accent); padding:1px 7px; border-radius:var(--qmb-r-sm); margin-right:6px;
}
.qmb-foot__mail{ margin:0; font-size:var(--qmb-step--1) }
.qmb-foot__mail a, .qmb-foot a{ color:var(--qmb-on-dark) }
.qmb-foot__nav{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px }
.qmb-foot__h{ font-family:var(--qmb-mono); font-size:var(--qmb-step--1); text-transform:uppercase; letter-spacing:.05em; color:var(--qmb-on-dark); margin:0 0 12px }
.qmb-foot__col ul{ list-style:none; margin:0; padding:0 }
.qmb-foot__col li{ margin-bottom:8px }
.qmb-foot__col a{ color:var(--qmb-ink-2); text-decoration:none; font-size:var(--qmb-step-0) }
.qmb-foot__col a:hover{ color:var(--qmb-accent) }
.qmb-foot__legal{ border-top:1px solid var(--qmb-dark-2); padding-block:16px }
.qmb-foot__legal p{ margin:0; font-size:var(--qmb-step--1); color:var(--qmb-on-dark-2) }

/* ---------------- Cookie ---------------- */
.qmb-cookie{
  position:fixed; right:16px; bottom:16px; z-index:120;
  max-width:340px; background:var(--qmb-dark); color:var(--qmb-on-dark);
  border:1px solid var(--qmb-dark-2); border-radius:6px;
  padding:14px 16px; display:flex; flex-direction:column; gap:10px;
  box-shadow:0 14px 36px -16px rgba(0,0,0,.6); opacity:1;
}
.qmb-cookie[hidden]{ display:none }
.qmb-cookie__txt{ margin:0; font-size:var(--qmb-step--1); line-height:1.5 }
.qmb-cookie__txt a{ color:var(--qmb-accent) }
.qmb-cookie__ok{
  align-self:flex-start; font-family:var(--qmb-mono); font-weight:700; cursor:pointer;
  background:var(--qmb-cta); color:var(--qmb-dark); border:0; padding:8px 18px; border-radius:var(--qmb-r-sm);
}
.qmb-cookie__ok:hover{ background:var(--qmb-accent) }

/* ---------------- 404 ---------------- */
.qmb-404{ text-align:center; padding-block:clamp(40px,8vw,90px) }
.qmb-404__code{ font-family:var(--qmb-mono); font-size:clamp(3rem,8vw,6rem); color:var(--qmb-line-3); line-height:1 }
.qmb-404 h1{ margin:.3em 0 }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:900px){
  .qmb-burger{ display:flex }
  .qmb-logo{ margin-right:auto }
  .qmb-head__in{ position:relative; gap:12px }
  .qmb-nav{
    position:absolute; left:0; right:0; top:100%; margin:0;
    background:var(--qmb-surface-2); border-top:1px solid var(--qmb-line);
    max-height:0; overflow:hidden; transition:max-height .25s ease;
  }
  #qmb-nav-toggle:checked ~ .qmb-nav{ max-height:70vh; overflow:auto }
  .qmb-nav__list{ flex-direction:column; align-items:stretch; gap:0; padding:6px 0 }
  .qmb-nav__link{ padding:13px var(--qmb-pad); border-bottom:1px solid var(--qmb-line) }
  .qmb-nav__link::after{ display:none }
  .qmb-head__in .qmb-cta{ display:none }
}

@media (max-width:760px){
  .qmb-hero__in{ display:flex; flex-direction:column; text-align:center }
  .qmb-hero__copy{ align-items:center; gap:14px }
  .qmb-hero__kicker{ order:1 }
  .qmb-hero__h1{ order:2; font-size:clamp(1.6rem,5vw,2.1rem) }
  .qmb-hero__ctarow{ order:3; justify-content:center }
  .qmb-hero__micro{ order:4 }
  .qmb-hero__lead{ order:5; max-width:60ch }
  .qmb-hero__media{ order:6; justify-self:center }
  .qmb-hero__img{ max-width:none; max-height:42vh; width:auto; aspect-ratio:1/1; object-fit:contain }
  .qmb-hero__facts{ grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:22px }
  .qmb-cta{ width:100%; max-width:340px; text-align:center }
  .qmb-slots__grid{ grid-template-columns:repeat(3,minmax(0,1fr)) }
  .qmb-foot__in{ grid-template-columns:1fr }
  .qmb-authorcard{ flex-direction:column; align-items:center; text-align:center }
  .qmb-figure{ width:100% }
}

@media (min-width:761px) and (max-width:1080px){
  .qmb-slots__grid{ grid-template-columns:repeat(4,minmax(0,1fr)) }
}

@media (max-width:420px){
  .qmb-hero__facts{ grid-template-columns:1fr }
  .qmb-slots__grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px }
}

@media (prefers-reduced-motion:reduce){
  *{ transition:none !important; animation:none !important }
}

/* ============================================================
   POLISH LAYER 2026-06-09 — motion + glow + hover (GPU, reduced-motion-safe)
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  @keyframes qmb-fadeup{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:none; } }
  .qmb-hero__copy > *, .qmb-hero__media, .qmb-hero__img{ animation:qmb-fadeup .62s cubic-bezier(.2,.7,.2,1) both; }
  .qmb-hero__copy > *:nth-child(1){ animation-delay:.03s }
  .qmb-hero__copy > *:nth-child(2){ animation-delay:.09s }
  .qmb-hero__copy > *:nth-child(3){ animation-delay:.15s }
  .qmb-hero__copy > *:nth-child(4){ animation-delay:.21s }
  .qmb-hero__media{ animation-delay:.10s }
}
/* CTA — подъём + дозированное акцентное свечение */
.qmb-cta{ transition:transform .16s ease, box-shadow .22s ease, filter .22s ease !important; will-change:transform; }
.qmb-cta:hover{ transform:translateY(-2px); box-shadow:0 0 0 1px var(--qmb-accent), 0 10px 30px -8px color-mix(in srgb, var(--qmb-accent) 55%, transparent); filter:brightness(1.05); }
.qmb-cta:active{ transform:translateY(0); }
/* HERO-картинка — мягкий подъём на hover */
.qmb-hero__img{ transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.qmb-hero__media:hover .qmb-hero__img{ transform:translateY(-5px) scale(1.015); }
/* карточки/слоты/каллауты/FAQ — подъём + акцентная рамка-свечение */
.qmb-slot, .qmb-callout, .qmb-faq__q, .qmb-authorcard, .qmb-author, .qmb-authorpage, .qmb-toc{
  transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.qmb-slot:hover{ transform:translateY(-4px); box-shadow:0 14px 34px -14px color-mix(in srgb, var(--qmb-accent) 50%, transparent); border-color:var(--qmb-accent); }
.qmb-slot__img{ transition:transform .35s cubic-bezier(.2,.7,.2,1); }
.qmb-slot:hover .qmb-slot__img{ transform:scale(1.07); }
.qmb-faq__q:hover, .qmb-callout:hover{ border-color:color-mix(in srgb, var(--qmb-accent) 60%, var(--qmb-hairline,transparent)); }
/* анимированное акцентное подчёркивание ссылок прозы */
.qmb-prose a:not(.qmb-cta), .qmb-toclist a{ background-image:linear-gradient(var(--qmb-accent),var(--qmb-accent)); background-size:0% 2px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .25s ease; text-decoration:none; }
.qmb-prose a:not(.qmb-cta):hover, .qmb-toclist a:hover{ background-size:100% 2px; }
/* выделение текста в тон акцента */
::selection{ background:color-mix(in srgb, var(--qmb-accent) 28%, transparent); }

/* always-on акцентное свечение hero (мягкий пульс) */
@media (prefers-reduced-motion: no-preference){
  @keyframes qmb-heroglow{ 0%,100%{ box-shadow:0 20px 55px -30px color-mix(in srgb,var(--qmb-accent) 38%,transparent); } 50%{ box-shadow:0 28px 72px -26px color-mix(in srgb,var(--qmb-accent) 66%,transparent); } }
  .qmb-hero__img{ animation:qmb-fadeup .62s cubic-bezier(.2,.7,.2,1) both, qmb-heroglow 5s ease-in-out 1.2s infinite; }
}
