/* Hero „Wort“ (aus Labor 02): ein riesiges Duftwort, das beim Scrollen durch acht Noten rollt.
   Ohne JavaScript und bei prefers-reduced-motion bleibt der ruhige, vollständige Zustand (alle Noten + Fotos sichtbar). */
.wort{--bg:#F0865F;--ink:#2A0F08;--pw:min(38vw,640px,calc((100svh - var(--hh)) * .62));
  /* Walze: das längste Wort (Erdbeere, 5,40 em inkl. Laufweite) endet links vom Foto: Platz = Bildlinke Kante (96vw - Fotobreite) - Wortrand 3,4vw - Abstand 2,5vw */
  --fs:clamp(54px,calc((90.1vw - var(--pw)) / 5.45),250px);--hh:64px;--tb:0px;
  position:relative;width:100vw;margin-left:calc(50% - 50vw);font-family:'Qamer Grotesk',system-ui,sans-serif}
.wort-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wort-stage{position:relative;display:grid;gap:22px;padding:56px 4vw 64px;background:var(--bg);color:var(--ink)}
.wort-kicker{margin:0;font:600 13px/1 'Qamer Grotesk',system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.wort-word{margin:0;font:800 clamp(40px,8vw,90px)/1.04 'Qamer Display',system-ui,sans-serif;letter-spacing:-.05em}
.wort-win{display:block}
.wort-col{display:flex;flex-wrap:wrap;column-gap:.35em}
.wort-col b{display:block;font-weight:inherit;white-space:nowrap}
.wort-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.wort-buy{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;background:var(--ink);color:var(--bg);font:600 14px/1 'Qamer Grotesk',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.wort-buy svg{margin-left:12px;width:18px;height:18px;transition:transform .25s}
.wort-buy:hover{transform:translateY(-2px)}.wort-buy:hover svg{transform:translateX(4px)}
.wort-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.wort-second{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:600 14px/1 'Qamer Grotesk',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-underline-offset:5px}
.wort-cap{display:none;margin:0;font:600 13px/1.2 'Qamer Grotesk',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.wort-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.wort-photos figure{margin:0;aspect-ratio:4/5;overflow:hidden;box-shadow:0 30px 60px -28px rgba(0,0,0,.4)}
.wort-photos a{display:block;height:100%}
.wort-photos img{width:100%;height:100%;object-fit:cover;display:block}
.wort-band{display:none}
/* Schwebende Knöpfe (Duftberater, WhatsApp) weichen, solange eine Bühne im Bild ist; Tastaturfokus holt sie zurück */
.wa,.berater-toggle{transition:opacity .3s,transform .25s}
html.in-stage-wort .wa:not(:focus-visible),html.in-stage-wort .berater-toggle[aria-expanded="false"]:not(:focus-visible),
html.in-stage-kar .wa:not(:focus-visible),html.in-stage-kar .berater-toggle[aria-expanded="false"]:not(:focus-visible){opacity:0;pointer-events:none}
.wort a:focus-visible{outline:3px solid currentColor;outline-offset:4px;box-shadow:0 0 0 7px var(--bg)}
@media (max-width:767px){.wort{--tb:72px}.wort-photos{grid-template-columns:repeat(2,1fr)}}
/* Ruhiger Zustand (Mobil R1): ohne Bühne (reduzierte Bewegung, ohne JS, vor dem Start) zeigt der Hero dasselbe Bild wie der erste
   Bildschirm der Bühne – ein Wort, ein Foto, Knöpfe untereinander – statt acht Wörter und acht Fotos in einem Block. */
.wort:not(.is-live) .wort-col b+b,.wort:not(.is-live) .wort-photos figure+figure{display:none}
.wort:not(.is-live) .wort-word{font-size:clamp(44px,14.5vw,120px)}
.wort:not(.is-live) .wort-cta{flex-direction:column;align-items:stretch;gap:10px;max-width:420px}
.wort:not(.is-live) .wort-second{justify-content:center}
.wort:not(.is-live) .wort-photos{grid-template-columns:1fr}
@media (min-width:768px){
  .wort:not(.is-live) .wort-stage{grid-template-columns:minmax(0,1fr) min(38vw,520px);column-gap:4vw;align-items:center}
  .wort:not(.is-live) .wort-stage>*{grid-column:1}
  .wort:not(.is-live) .wort-photos{grid-column:2;grid-row:1/span 3}
  .wort:not(.is-live) .wort-word{font-size:clamp(54px,8vw,120px)}
}

/* Lebendiger Zustand: nur wenn JavaScript läuft und Bewegung erlaubt ist (Klasse setzt qamer-wort.js). */
@media (prefers-reduced-motion:no-preference){
  .wort.is-live .wort-track{height:560vh;position:relative}
  .wort.is-live .wort-stage{position:sticky;top:var(--hh);display:block;height:calc(100svh - var(--hh) - var(--tb));padding:0;overflow:hidden}
  .wort.is-live .wort-kicker{position:absolute;left:4vw;top:max(22px,4vh)}
  .wort.is-live .wort-word{position:absolute;z-index:3;left:3.4vw;top:50%;font:800 var(--fs)/1.04 'Qamer Display',system-ui,sans-serif;transform:translateY(-58%)}
  .wort.is-live .wort-win{height:1.04em;overflow:hidden}
  .wort.is-live .wort-col{display:block;will-change:transform}
  .wort.is-live .wort-col b{height:1.04em}
  .wort.is-live .wort-photos{display:block;position:absolute;z-index:2;right:4vw;top:50%;width:var(--pw);aspect-ratio:4/5;transform:translateY(-52%)}
  .wort.is-live .wort-photos figure{position:absolute;inset:0;aspect-ratio:auto}
  .wort.is-live .wort-photos img{transform:scale(1.15)}
  .wort.is-live .wort-cta{position:absolute;z-index:4;left:4vw;bottom:calc(9vh + 13vh);max-width:calc(100% - min(38vw,640px) - 10vw)}
  .wort.is-live .wort-cap{display:block}
  .wort.is-live .wort-band{display:flex;position:absolute;z-index:4;left:0;right:0;bottom:0;height:9vh;align-items:center;border-top:1.5px solid currentColor;overflow:hidden}
  .wort.is-live .wort-belt{white-space:nowrap;font:800 clamp(22px,3.2vw,46px)/1 'Qamer Display',system-ui,sans-serif;letter-spacing:-.03em;text-transform:uppercase;will-change:transform}
}
@media (prefers-reduced-motion:no-preference) and (max-width:767px){
  .wort{--fs:clamp(44px,14.5vw,90px)}
  /* Knöpfe oben, Foto darunter: der erste Bildschirm endet über dem Chat- und WhatsApp-Knopf (ca. 210 px über der Tabbar) */
  .wort.is-live .wort-word{top:17%;transform:translateY(-50%)}
  .wort.is-live .wort-cta{bottom:auto;top:calc(17% + 40px);left:4vw;right:4vw;flex-direction:column;align-items:stretch;gap:10px;max-width:none}
  .wort.is-live .wort-buy{min-height:48px;padding:0 20px}
  .wort.is-live .wort-second{min-height:44px;justify-content:center}
  .wort.is-live .wort-photos{left:4vw;right:4vw;width:auto;top:calc(17% + 40px + 48px + 10px + 48px + 10px + 44px + 34px);bottom:calc(9vh + 14px);height:auto;aspect-ratio:auto;transform:none}
  .wort.is-live .wort-cap{display:none}
}
