:root{
  --papier:#f7f0e5;
  --papier-2:#efe4d1;
  --weiss:#fffdf8;
  --tinte:#1c1613;
  --tinte-soft:#5f5248;
  --rot:#a93222;
  --rot-tief:#86261a;
  --gold:#bf9143;
  --linie:rgba(28,22,19,.16);
  --linie-hell:rgba(247,240,229,.18);
  --container:1180px;
  --serif:"Fraunces",Georgia,serif;
  --sans:"Karla",system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--tinte);
  background:var(--papier);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
::selection{background:var(--rot);color:var(--weiss)}

.wrap{width:min(var(--container),100% - 2.5rem);margin-inline:auto}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:500;
  background:var(--tinte);color:var(--papier);padding:.8rem 1.2rem;
}
.skip-link:focus{left:1rem;top:1rem}

.kicker{
  display:inline-flex;align-items:center;gap:.9rem;
  font-family:var(--sans);font-weight:700;font-size:.75rem;
  letter-spacing:.26em;text-transform:uppercase;color:var(--rot);
}
.kicker::before{content:"";width:2.4rem;height:1px;background:currentColor}
.kicker--hell{color:var(--gold)}

.section{padding-block:clamp(4.5rem,9vw,7.5rem)}
.section--nah{padding-top:0}
.section--dunkel{background:var(--tinte);color:var(--papier)}
.section--dunkel .kicker{color:var(--gold)}

.section-kopf{max-width:44rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
.karte-titel .section-kopf{margin-bottom:0}
.h2-gross{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.1rem,4.6vw,3.5rem);
  line-height:1.06;letter-spacing:-.01em;margin-top:1.1rem;
}
.h2-gross--abstand{margin:1.1rem 0 1.6rem}
.section-kopf h2{
  font-family:var(--serif);
  font-weight:500;
  font-variation-settings:"opsz" 100;
  font-size:clamp(2.1rem,4.6vw,3.5rem);
  line-height:1.06;
  letter-spacing:-.01em;
  margin-top:1.1rem;
}
.section-kopf p{margin-top:1.2rem;color:var(--tinte-soft);font-size:1.08rem}
.section--dunkel .section-kopf p{color:rgba(247,240,229,.75)}
.section-kopf .strich{display:block;width:100%;height:1px;background:var(--linie);margin-top:2.2rem}

.btn{
  display:inline-flex;align-items:center;gap:.65rem;
  padding:1rem 1.7rem;border:1px solid var(--rot);
  background:var(--rot);color:var(--weiss);
  font-family:var(--sans);font-weight:700;font-size:.78rem;
  letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
  transition:background .25s,transform .25s,border-color .25s,color .25s;
  cursor:pointer;
}
.btn:hover{background:var(--rot-tief);border-color:var(--rot-tief);transform:translateY(-2px)}
.btn .pfeil{transition:transform .3s}
.btn:hover .pfeil{transform:translateX(4px)}
.btn--ghost{background:transparent;border-color:rgba(247,240,229,.55);color:var(--papier)}
.btn--ghost:hover{background:var(--papier);border-color:var(--papier);color:var(--tinte)}
.btn--dunkel{background:var(--tinte);border-color:var(--tinte)}
.btn--dunkel:hover{background:#2c2420;border-color:#2c2420}

.site-header{
  position:fixed;inset:0 0 auto;z-index:120;
  transition:background .35s,border-color .35s,backdrop-filter .35s;
  border-bottom:1px solid transparent;
}
.site-header .wrap{
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;height:86px;
}
.brand{display:flex;align-items:center;text-decoration:none;flex:none}
.brand img{height:46px;width:auto;transition:opacity .2s}
.brand .logo-dunkel{display:none}
.site-header.is-solid{
  background:rgba(247,240,229,.9);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom-color:var(--linie);
}
.site-header.is-solid .logo-hell{display:none}
.site-header.is-solid .logo-dunkel{display:block}

.nav{display:flex;align-items:center;gap:2rem}
.nav a{
  color:var(--papier);text-decoration:none;
  font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.4rem 0;position:relative;
}
.nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .3s;
}
.nav a:hover::after,.nav a.aktiv::after{transform:scaleX(1)}
.site-header.is-solid .nav a{color:var(--tinte)}
.site-header .btn{padding:.8rem 1.3rem;font-size:.72rem}

.burger{
  display:none;background:none;border:0;width:44px;height:44px;
  cursor:pointer;padding:10px;color:var(--papier);flex:none;
}
.site-header.is-solid .burger{color:var(--tinte)}
.burger span{display:block;height:2px;background:currentColor;margin:5px 0;transition:transform .3s,opacity .3s}
.mobile-nav{
  position:fixed;inset:0;z-index:110;background:var(--tinte);color:var(--papier);
  display:flex;flex-direction:column;justify-content:center;
  padding:6rem 2rem 3rem;
  clip-path:inset(0 0 100% 0);transition:clip-path .45s cubic-bezier(.7,0,.3,1);
  visibility:hidden;
}
.mobile-nav.open{clip-path:inset(0 0 0 0);visibility:visible}
.mobile-nav a{
  font-family:var(--serif);font-size:clamp(1.9rem,7vw,2.6rem);
  color:var(--papier);text-decoration:none;padding:.55rem 0;
  border-bottom:1px solid var(--linie-hell);
  display:flex;justify-content:space-between;align-items:center;
}
.mobile-nav a span{font-family:var(--sans);font-size:.75rem;letter-spacing:.2em;color:var(--gold)}
.mobile-nav .mobil-fuss{margin-top:2.5rem;font-size:.95rem;color:rgba(247,240,229,.7)}
.mobile-nav .mobil-fuss a{font-family:var(--sans);font-size:.95rem;border:0;display:inline;padding:0;color:var(--gold)}

.hero{
  position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;
  color:var(--papier);isolation:isolate;
}
.hero-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(18,12,9,.62) 0%,rgba(18,12,9,.25) 38%,rgba(18,12,9,.82) 88%);
}
.hero .wrap{padding:10rem 0 3.2rem}
.hero-kicker{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:.75rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;
  color:var(--gold);
}
.hero-kicker::before,.hero-kicker::after{content:"";width:2.2rem;height:1px;background:currentColor}
.hero h1{
  font-family:var(--serif);font-weight:450;
  font-variation-settings:"opsz" 144;
  font-size:clamp(2.7rem,7vw,5.4rem);
  line-height:1.02;letter-spacing:-.015em;
  margin:1.6rem 0 0;max-width:17ch;
}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-text{
  margin-top:1.6rem;max-width:38rem;font-size:1.1rem;
  color:rgba(247,240,229,.85);
}
.hero-aktionen{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem;align-items:center}
.hero-bewertung{
  display:flex;align-items:center;gap:.9rem;margin-top:2.6rem;
  font-size:.95rem;color:rgba(247,240,229,.85);
}
.sterne{display:inline-flex;gap:.15rem;color:var(--gold);font-size:1.05rem;letter-spacing:.1em}
.hero-bewertung strong{color:var(--papier)}
.status-chip{
  display:inline-flex;align-items:center;gap:.55rem;
  border:1px solid var(--linie-hell);padding:.45rem .9rem;
  font-size:.8rem;font-weight:700;letter-spacing:.08em;
  color:var(--papier);backdrop-filter:blur(6px);
}
.status-chip .punkt{width:.5rem;height:.5rem;border-radius:50%;background:#7fb069}
.status-chip.zu .punkt{background:#c96a54}
.status-chip--hell{border-color:var(--linie);color:var(--tinte);backdrop-filter:none}

.hero-leiste{
  border-top:1px solid var(--linie-hell);
  margin-top:3.2rem;padding-top:1.3rem;
  display:flex;flex-wrap:wrap;gap:1rem 2.6rem;
  font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(247,240,229,.72);
}
.hero-leiste li{display:flex;align-items:center;gap:.7rem}
.hero-leiste li::before{content:"✦";color:var(--rot);font-size:.7rem}

.laufband{
  background:var(--rot);color:var(--papier);overflow:hidden;
  border-block:1px solid rgba(0,0,0,.15);
}
.laufband-spur{
  display:flex;width:max-content;gap:3.2rem;
  padding:.95rem 0;animation:lauf 38s linear infinite;
}
.laufband-spur span{
  font-family:var(--serif);font-style:italic;font-size:1.05rem;
  white-space:nowrap;display:flex;align-items:center;gap:3.2rem;
}
.laufband-spur span::after{content:"✦";font-style:normal;font-size:.6rem;opacity:.65}
@keyframes lauf{to{transform:translateX(-50%)}}

.ueber{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.ueber-text .lead{
  font-family:var(--serif);font-size:clamp(1.25rem,2.1vw,1.5rem);
  line-height:1.5;margin-top:1.6rem;
}
.ueber-text p+p{margin-top:1.2rem;color:var(--tinte-soft)}
.ueber-text .btn{margin-top:2rem}
.kollage{position:relative;padding:0 0 3.5rem 3rem}
.kollage-haupt{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  border:1px solid rgba(28,22,19,.35);
  box-shadow:22px 22px 0 0 var(--papier-2);
}
.kollage-klein{
  position:absolute;left:0;bottom:0;width:46%;
  aspect-ratio:4/5;object-fit:cover;
  border:8px solid var(--weiss);outline:1px solid var(--linie);
}
.kollage-notiz{
  position:absolute;right:0;bottom:0;
  font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--tinte-soft);
  writing-mode:vertical-rl;transform:rotate(180deg);
}

.zahlen{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--linie);margin-top:clamp(3rem,6vw,5rem);
}
.zahlen li{padding:1.8rem 1.5rem 0 0;border-right:1px solid var(--linie)}
.zahlen li:last-child{border-right:0}
.zahlen b{
  display:block;font-family:var(--serif);font-weight:500;
  font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1;letter-spacing:-.02em;
}
.zahlen span{
  display:block;margin-top:.7rem;font-size:.75rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--tinte-soft);
}

.gericht{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5.5rem);
  align-items:center;padding-block:clamp(2.4rem,4.5vw,3.6rem);
  border-top:1px solid var(--linie);
}
.gericht:first-of-type{border-top:0}
.gericht .gericht-bild{
  aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(28,22,19,.3);
}
.gericht .gericht-bild img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.01);transition:transform 1s cubic-bezier(.2,.6,.2,1);
}
.gericht:hover .gericht-bild img{transform:scale(1.06)}
.gericht:nth-child(even) .gericht-bild{order:2}
.gericht-nr{
  font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--rot);
}
.gericht h3{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;margin-top:.7rem;
}
.gericht p{color:var(--tinte-soft);margin-top:1rem;max-width:34rem}
.gericht .mini-link{
  display:inline-flex;align-items:center;gap:.5rem;margin-top:1.4rem;
  font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rot);text-decoration:none;
}
.gericht .mini-link::after{content:"→";transition:transform .3s}
.gericht .mini-link:hover::after{transform:translateX(4px)}

.karte-titel{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.hinweis{
  font-size:.85rem;color:rgba(247,240,229,.6);
  display:flex;align-items:center;gap:.6rem;
}
.hinweis::before{content:"✦";color:var(--gold);font-size:.65rem}
.karte-raster{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(.8rem,1.6vw,1.35rem);margin-top:clamp(2.5rem,5vw,3.5rem);
}
.karte-blatt{
  position:relative;padding:0;border:1px solid var(--linie-hell);
  background:transparent;cursor:zoom-in;overflow:hidden;
  transition:transform .45s cubic-bezier(.2,.6,.2,1),box-shadow .45s,border-color .45s;
}
.karte-blatt img{width:100%;aspect-ratio:1750/2560;object-fit:cover}
.karte-blatt b{
  position:absolute;left:.7rem;top:.7rem;
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:.8rem;color:var(--tinte);background:var(--papier);
  border:1px solid rgba(28,22,19,.4);padding:.1rem .5rem;
}
.karte-blatt:hover{transform:translateY(-8px) rotate(-1.2deg);border-color:var(--gold);box-shadow:0 22px 40px -20px rgba(0,0,0,.7)}
.karte-blatt:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

.mittag{
  margin-top:clamp(2.5rem,5vw,3.5rem);
  background:var(--papier);color:var(--tinte);
  border:1px dashed rgba(169,50,34,.55);
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(1.5rem,4vw,3rem);
  padding:clamp(1.8rem,3.5vw,2.6rem) clamp(1.6rem,3.5vw,3rem);
}
.mittag .preis{
  font-family:var(--serif);font-weight:550;font-size:clamp(2.6rem,5vw,3.6rem);
  line-height:1;color:var(--rot);letter-spacing:-.02em;
}
.mittag .preis small{font-size:.35em;font-weight:400;color:var(--tinte-soft);display:block;letter-spacing:.05em;margin-top:.5rem}
.mittag h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.15}
.mittag p{color:var(--tinte-soft);margin-top:.5rem;font-size:.98rem}

.bewertungen-top{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);
  gap:clamp(2.5rem,6vw,5rem);align-items:start;
}
.note{display:flex;align-items:baseline;gap:1rem;margin-top:1.4rem}
.note b{
  font-family:var(--serif);font-weight:500;font-size:clamp(4rem,8vw,6rem);
  line-height:.9;letter-spacing:-.03em;
}
.note .sterne{font-size:1.3rem}
.note small{display:block;margin-top:.8rem;color:var(--tinte-soft);font-size:.95rem}
.note-sub{display:block;margin-top:.8rem;color:var(--tinte-soft);font-size:.95rem}
.bewertung-karten{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.bewertung{
  background:var(--weiss);border:1px solid var(--linie);
  padding:1.7rem 1.7rem 1.5rem;position:relative;
}
.bewertung::before{
  content:"„";position:absolute;top:.2rem;right:1.1rem;
  font-family:var(--serif);font-size:4.5rem;line-height:1;color:var(--papier-2);
}
.bewertung .sterne{font-size:.9rem}
.bewertung blockquote{
  margin:1rem 0 1.2rem;font-family:var(--serif);
  font-size:1.02rem;line-height:1.55;font-style:italic;
}
.bewertung footer{font-size:.8rem;letter-spacing:.06em;color:var(--tinte-soft)}
.bewertung footer b{color:var(--tinte);display:block;font-size:.85rem;letter-spacing:.02em}
.guru-badge{
  margin-top:2rem;display:inline-flex;align-items:center;gap:.9rem;
  border:1px solid var(--linie);padding:.8rem 1.1rem;background:var(--weiss);
  font-size:.8rem;color:var(--tinte-soft);
}
.guru-badge b{color:var(--tinte)}
.guru-pokal{color:var(--gold);font-size:1.05rem}
.bewertung-links{margin-top:2rem;display:flex;gap:1.6rem;flex-wrap:wrap}
.bewertung-links a{
  font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rot);text-decoration:none;border-bottom:1px solid transparent;
  transition:border-color .25s;
}
.bewertung-links a:hover{border-color:var(--rot)}

.kontakt-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(2.5rem,6vw,5.5rem);
}
.kontakt-liste{border-top:1px solid var(--linie)}
.kontakt-liste li{
  display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;
  padding:1.15rem 0;border-bottom:1px solid var(--linie);
}
.kontakt-liste b{
  font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--tinte-soft);padding-top:.2rem;
}
.kontakt-liste a{text-decoration:none;border-bottom:1px solid var(--linie)}
.kontakt-liste a:hover{border-color:var(--tinte)}
.kontakt-grid .btn{margin-top:1.8rem}
.zeiten{border-top:1px solid var(--linie);margin-top:1.6rem}
.zeiten li{
  display:flex;justify-content:space-between;gap:1rem;
  padding:.85rem 0;border-bottom:1px solid var(--linie);
  font-size:.98rem;
}
.zeiten li.heute{font-weight:700}
.zeiten li.heute span:first-child::after{
  content:"heute";margin-left:.7rem;font-size:.65rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rot);vertical-align:middle;
}
.zeiten .zeit{color:var(--tinte-soft);font-variant-numeric:tabular-nums}
.zeiten li.heute .zeit{color:var(--tinte)}
.zeiten-hinweis{
  margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;
  font-size:.88rem;color:var(--tinte-soft);
}
.karte-einbettung{
  margin-top:clamp(2.5rem,5vw,4rem);border:1px solid var(--linie);
  line-height:0;filter:saturate(.85);
}
.karte-einbettung iframe{width:100%;height:clamp(280px,42vw,420px);border:0}

.footer{background:var(--tinte);color:var(--papier);position:relative;overflow:hidden}
.footer::after{
  content:"KEMO'S";position:absolute;left:50%;bottom:-.28em;transform:translateX(-50%);
  font-family:var(--serif);font-weight:600;font-size:clamp(6rem,20vw,17rem);
  letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(247,240,229,.07);
  pointer-events:none;white-space:nowrap;
}
.footer-oben{
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:clamp(2rem,5vw,4rem);padding-block:clamp(3.5rem,7vw,5.5rem);
  position:relative;z-index:1;
}
.footer .brand img{height:54px}
.footer-claim{margin-top:1.4rem;color:rgba(247,240,229,.7);font-size:.98rem;max-width:24rem}
.footer h4{
  margin:0 0 1.2rem;font-size:.75rem;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
}
.footer ul li{margin-bottom:.7rem}
.footer a{color:rgba(247,240,229,.85);text-decoration:none;transition:color .25s}
.footer a:hover{color:var(--papier)}
.footer-unten{
  position:relative;z-index:1;border-top:1px solid var(--linie-hell);
  padding:1.4rem 0 1.6rem;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  font-size:.83rem;color:rgba(247,240,229,.55);
}
.footer-unten a{border-bottom:1px solid rgba(247,240,229,.3)}
.socials{display:flex;gap:.9rem;margin-top:1.2rem}
.socials a{
  width:40px;height:40px;border:1px solid var(--linie-hell);
  display:grid;place-items:center;transition:background .25s,border-color .25s;
}
.socials a:hover{background:var(--rot);border-color:var(--rot)}
.socials svg{width:17px;height:17px;fill:currentColor}

.lightbox{
  position:fixed;inset:0;z-index:300;
  background:rgba(14,10,8,.94);
  display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox figure{margin:0;text-align:center;max-width:min(92vw,880px)}
.lightbox img{
  max-height:84vh;width:auto;margin-inline:auto;
  border:1px solid rgba(247,240,229,.25);background:var(--weiss);
}
.lightbox figcaption{
  margin-top:1rem;font-size:.85rem;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(247,240,229,.7);
}
.lb-knopf{
  position:absolute;background:none;border:1px solid rgba(247,240,229,.3);
  color:var(--papier);width:48px;height:48px;cursor:pointer;
  display:grid;place-items:center;font-size:1.2rem;
  transition:background .25s,border-color .25s;
}
.lb-knopf:hover{background:var(--rot);border-color:var(--rot)}
.lb-close{top:1.4rem;right:1.4rem}
.lb-prev{left:1.4rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1.4rem;top:50%;transform:translateY(-50%)}

.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1);
  transition-delay:var(--d,0s);
}
.reveal.anzeigen{opacity:1;transform:none}

.unterseite-kopf{
  padding:calc(86px + clamp(3.5rem,7vw,6rem)) 0 clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--linie);
}
.unterseite-kopf h1{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.4rem,5vw,3.6rem);line-height:1.05;margin-top:1.1rem;
}
.impressum-inhalt{
  max-width:46rem;padding-block:clamp(2.5rem,5vw,4rem) clamp(4rem,8vw,6rem);
}
.impressum-inhalt h2{
  font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:2.2rem 0 .8rem;
}
.impressum-inhalt p{margin-bottom:1rem;color:var(--tinte-soft)}
.impressum-inhalt strong{color:var(--tinte)}

a:focus-visible,button:focus-visible{
  outline:2px solid var(--gold);outline-offset:3px;
}

@media (max-width:1080px){
  .nav{display:none}
  .site-header .btn{display:none}
  .burger{display:block}
  .karte-raster{grid-template-columns:repeat(3,1fr)}
  .footer-oben{grid-template-columns:1fr 1fr}
}

@media (max-width:860px){
  html{scroll-padding-top:80px}
  .site-header .wrap{height:74px}
  .brand img{height:38px}
  .hero .wrap{padding:8.5rem 0 2.6rem}
  .ueber,.gericht,.kontakt-grid,.bewertungen-top{grid-template-columns:1fr;gap:2.6rem}
  .gericht:nth-child(even) .gericht-bild{order:0}
  .kollage{padding:0 0 2.6rem 2.2rem}
  .zahlen{grid-template-columns:1fr 1fr}
  .zahlen li{padding:1.4rem 1rem 1.4rem 0;border-bottom:1px solid var(--linie)}
  .zahlen li:nth-child(even){border-right:0}
  .mittag{grid-template-columns:1fr;gap:1.4rem}
  .bewertung-karten{grid-template-columns:1fr}
  .karte-raster{grid-template-columns:repeat(3,1fr)}
  .footer-oben{grid-template-columns:1fr;gap:2.4rem}
  .kollage-notiz{display:none}
}

@media (max-width:520px){
  .karte-raster{grid-template-columns:repeat(2,1fr)}
  .hero-aktionen .btn{width:100%;justify-content:center}
  .kontakt-liste li{grid-template-columns:1fr;gap:.2rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .laufband-spur{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .karte-blatt:hover{transform:none}
  *{transition-duration:.01ms !important}
}
