/* Lesbarkeit (11.11.2026): Mindestgrößen und Kontrast, lädt nach style.css.
   Etiketten in Großbuchstaben mindestens 11 px, alles Lesbare und Klickbare mindestens 12 px.
   Die Textfarbe --muted ist in style.css von #6f7467 auf #62675a gesetzt (4,5:1 auf allen Flächen). */

/* Etiketten */
.eyebrow,
.hero-topline,
.hero-bottom,
.hero-copy .eyebrow,
.hero-bottom > span,
.menu-heading,
.menu-footer,
.dish-no,
.diet,
.bento-drink span,
.gift-card-bottom,
.gift-stamp,
.concept-note { font-size: 11px; }

/* Lesetext und Bedienelemente */
.hero-bottom a,
.hero-hotspot,
.filter-group button,
.bento-quote > span:last-child,
.visit-small,
.site-footer > span,
.site-footer nav,
.booking-nav,
.embed-panel .text-link,
.product-menu-label,
.header-booking,
.shared-header .desktop-nav > a,
.mobile-dock > * { font-size: 12px; }

/* Laufband „Kaffee. Matcha. Gute Gesellschaft.“: 2,1:1 war zu blass, jetzt 3,3:1 */
.drift-word { color: #808874; }

@media (max-width: 767px) {
  /* Vier Punkte in der Leiste bleiben einzeilig */
  .mobile-dock > * { padding-left: 2px; padding-right: 2px; white-space: nowrap; }
  .hero-bottom > span { max-width: 130px; }
}

/* Hinweis auf The Reel Thing Studio: Zeile in der Fußzeile jeder Seite und Abschnitt im Impressum */
.studio-credit { margin: 0 3.4%; padding: 16px 0 22px; border-top: 1px solid var(--line, #d7d8cc); text-align: center; font-size: 12px; color: var(--ink, #23261f); }
.studio-credit a, .studio-imprint a { display: inline-flex; align-items: center; gap: 10px; }
.studio-credit img, .studio-imprint img { display: block; border-radius: 4px; flex: none; }
.studio-credit strong { font-weight: 400; border-bottom: 1px solid currentColor; padding-bottom: 1px; }
.studio-credit a:hover strong, .studio-imprint a:hover span { opacity: .7; }
.studio-imprint a { gap: 14px; line-height: 1.45; }
@media (max-width: 767px) { .studio-credit { margin: 0 6%; padding: 14px 0 18px; } }

/* Studio-Zeile, Auftritt „Filmrolle“ (studio-credit.js): Logo rollt herein, die Zeile baut sich auf, die Linie zeichnet sich */
.studio-credit { overflow: hidden; }
.studio-credit strong { position: relative; display: inline-block; border-bottom: 0; padding-bottom: 2px; }
.studio-credit strong::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform-origin: left center; }
.studio-credit .sc-word { display: inline-block; white-space: nowrap; }
.studio-credit .sc-ch { display: inline-block; }
.studio-anim img { opacity: 0; border-radius: 50%; transform: translateX(-64px) rotate(-360deg); }
.studio-anim .sc-ch { opacity: 0; transform: translateY(.7em); }
.studio-anim strong::after { transform: scaleX(0); }
.studio-anim.is-in img { opacity: 1; border-radius: 4px; transform: none; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1), opacity .3s linear, border-radius .4s ease .8s; }
.studio-anim.is-in .sc-ch { opacity: 1; transform: none; transition: opacity .35s linear, transform .5s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(.6s + var(--i) * 22ms); }
.studio-anim.is-in strong::after { transform: scaleX(1); transition: transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(.7s + var(--n) * 22ms); }
.studio-anim.is-done a:hover img { animation: sc-rolle .9s cubic-bezier(.3, .7, .2, 1); }
@keyframes sc-rolle { from { transform: rotate(0); border-radius: 50%; } 70% { border-radius: 50%; } to { transform: rotate(360deg); border-radius: 4px; } }
.studio-credit .sc-clip { position: relative; }
.studio-credit .sc-r { display: inline-block; }
.studio-credit .sc-r2 { position: absolute; left: 0; top: 0; opacity: 0; transform: translateY(75%); }
.studio-anim.is-roll .sc-r, .studio-anim.is-done a:hover .sc-r { animation: sc-raus .7s cubic-bezier(.65, 0, .2, 1) both; animation-delay: calc(var(--j) * 24ms); }
.studio-anim.is-roll .sc-r2, .studio-anim.is-done a:hover .sc-r2 { animation: sc-rein .7s cubic-bezier(.65, 0, .2, 1) both; animation-delay: calc(var(--j) * 24ms); }
@keyframes sc-raus { from { transform: none; opacity: 1; } 60%, to { transform: translateY(-75%); opacity: 0; } }
@keyframes sc-rein { from, 25% { transform: translateY(75%); opacity: 0; } to { transform: none; opacity: 1; } }

/* Studio-Zeile, Fassung „am Scrollen“ (studio-credit-scroll.js): Logo und Wörter wandern auf der letzten Scroll-Strecke an ihren Platz */
.studio-scroll { overflow: visible; }
.studio-scroll a { position: relative; }
.studio-scroll img { position: relative; z-index: 2; transform-origin: 50% 50%; will-change: transform; box-shadow: 0 6px 18px rgba(35, 38, 31, .14); }
.studio-scroll .sc-w { display: inline-block; will-change: transform, opacity; }
.studio-scroll strong::after { transform: scaleX(var(--linie, 0)); }
.studio-scroll.is-done a:hover img { animation: sc-rolle .9s cubic-bezier(.3, .7, .2, 1); }
