/* ==========================================================================
   Annyma Yoga – Relaunch 2026 · Dummy
   Design tokens, base, layout, components, sections
   ========================================================================== */

:root {
  /* Farben – abgeleitet aus Logo (Taupe), CI-Pink und dem BEYOUTIFUL-Material */
  --sand-50:  #F8F3EF;   /* Seitengrund, "Leinen" */
  --sand-100: #F1E8E1;   /* Wechselflächen, "Sand" */
  --sand-200: #E3D5C9;   /* Haarlinien */
  --taupe:    #A48A7A;   /* Logo-Taupe, Sekundärtext, Linien */
  --cocoa:    #4A3A31;   /* Primärtext */
  --cocoa-900:#2B211C;   /* dunkle Flächen */
  --rose:     #ED9EC2;   /* CI-Pink – nur als Akzent */
  --rose-soft:#F7DCE8;   /* Pink-Tint */
  --rose-deep:#9C486E;   /* tiefes Rosé für kleinen Text auf hell */
  --blush:    #FCF5F8;   /* rosé-getöntes Weiß */

  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Jost", "Futura", "Avenir Next", system-ui, sans-serif;

  --container: 1440px;
  --gutter: clamp(1.25rem, 4vw, 4.5rem);
  --section: clamp(5rem, 11vw, 10rem);
  --header-h: 8rem;          /* auf dem Hero; nach dem Scrollen 5.5rem */

  --ease-out: cubic-bezier(.2, .7, .2, 1);
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: auto;
}

body {
  margin: 0;
  background: var(--sand-50);
  color: var(--cocoa);
  font-family: var(--font-body);
  font-weight: 300;
  /* 8. Oktober 2026 größer (17 → ~18,5 px), Fließtext wirkte zu zart */
  font-size: clamp(1.0625rem, 0.95rem + 0.3vw, 1.1875rem);
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

body.menu-open { overflow: hidden; }

img, video { display: block; max-width: 100%; height: auto; }

h1, h2, h3, h4 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  line-height: 1.05;
  letter-spacing: -0.005em;
  color: inherit;
}

p { margin: 0 0 1.25em; }
p:last-child { margin-bottom: 0; }

a { color: inherit; text-decoration: none; }

/* Verlaufs-Headlines (data-gradient): ruhender Verlauf von dunklem zu hellem Rosé, ohne Bewegung und ohne
   Aprikose (8. Oktober 2026; der wandernde Ring-Verlauf bleibt dem BEYOUTIFUL-Titel vorbehalten).
   Mit Wort-Einblendung bekommt jedes Wort seinen Ausschnitt desselben Verlaufs (main.js: gradWords() setzt
   --gw/--gh = Textblock, --wx/--wy = Lage des Worts), weil background-clip am Elternelement die Deckkraft und
   den Blur der einzelnen Wörter ignorieren würde. Ohne Bewegung: Verlauf am Element selbst. */
:root {
  /* BEYOUTIFUL-Wortmarke (27. Oktober 2026, Thorstens Nachbau in The Seasons, nur das Wort aus
     beyoutiful-logo.svg; Quelle assets/logo/beyoutiful-word.svg). Als Maske, damit Verlauf/Palette darunter
     liegen können; Data-URI, weil Masken-Dateien unter file:// per CORS blockiert werden. main.js liest die
     Pfade für den Sand-Effekt hier heraus (data-sand-shape). Seitenverhältnis 357.29 : 88.97 */
  --bey-word: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='4.17 35.76 357.29 88.97'%3E%3Cpath d='M4.17,107.59v-1.24c2.93-0.98,3.55-3.64,3.55-10.03V56.71 c0-6.39-0.62-9.06-3.55-10.03v-1.24h21.93c14.56,0,19.89,4.53,19.89,11.72 c0,6.04-3.82,11.54-15.01,13.5c14.65,0.44,22.11,7.19,22.2,16.07 c0.18,10.39-7.9,20.87-29.74,20.87H4.17z M35.43,59.2c0-7.81-5.59-12.34-14.65-12.34 h-3.64v23.53h7.9C31.52,70.39,35.43,65.41,35.43,59.2z M42.62,90.01 c0-10.65-5.95-18.2-19.18-18.2h-6.3v26.64c0,6.39,0.8,7.72,4.62,7.72h2.49 C37.03,106.17,42.62,99.42,42.62,90.01z M54.78,87.08c0-15.09,11.81-24.51,23.35-24.51 c11.99,0,18.38,8.26,18.38,15.98H62.86l-0.18,2.84c0,11.63,7.1,19.89,18.38,19.89 c6.57,0,11.63-2.84,15.36-7.01l0.8,0.89c-4.08,6.22-11.1,13.32-21.4,13.32 C65.97,108.48,54.78,101.46,54.78,87.08z M87.55,77.31c-1.15-7.28-6.04-13.05-12.16-13.14 c-7.55-0.09-11.37,6.22-12.43,13.14H87.55z M90.39,121.89c0-1.69,2.4-5.59,6.57-5.59c2.58,0,7.46,0.8,12.08,1.6 c2.13-2.31,4.26-5.77,6.22-9.86l-14.92-34.45c-2.49-5.95-4.88-8.17-6.93-9.15v-1.24 h15.72v1.24c-2.93,0.98-1.6,3.2,0.98,9.06l10.12,23.09l9.94-23 c2.49-5.95,2.04-8.44-0.98-9.15v-1.24h10.12v1.24c-2.66,0.98-5.15,3.2-7.73,9.06 l-13.58,31.43c-6.75,15.54-12.96,19.62-21.13,19.8 C93.23,124.82,90.39,123.66,90.39,121.89z M133.89,86.55c0-14.38,11.54-23.97,23.71-23.97 c11.01,0,23.62,6.48,23.62,22.11c0,15.18-13.14,23.8-23.62,23.8 C146.06,108.48,133.89,101.64,133.89,86.55z M172.25,91.43c0-11.28-7.73-28.24-19.18-27.08 c-7.72,0.8-10.3,7.9-10.3,15.54c0,10.48,6.22,26.64,17.94,26.64 C169.41,106.52,172.25,98.98,172.25,91.43z M186.1,91.87V75.89c0-5.24-1.33-6.13-3.55-7.1v-1.24l11.72-5.15 l0.89,0.71v27.61c0,9.5,1.51,14.21,8.35,14.21c4,0,8.35-2.4,12.7-6.75V75.89 c0-5.24-1.33-6.13-3.55-7.1v-1.24l11.72-5.15l0.89,0.71v33.21 c0,6.39,0.62,9.06,3.55,10.03v1.24h-9.06c-2.31,0-3.55-1.24-3.55-3.55v-4 c-5.06,4.88-11.19,8.44-16.78,8.44C190.01,108.48,186.1,102.71,186.1,91.87z M234.85,95.07V64.62h-5.68v-1.42l13.32-11.72h1.42v11.72h13.76 l-0.35,1.42h-13.41v30.54c0,5.5,2.04,7.9,5.95,7.9c1.95,0,4.97-0.8,7.9-4.44 l0.89,0.89c-4.71,5.42-9.23,8.97-14.56,8.97C238.04,108.48,234.85,104.66,234.85,95.07z M257.4,106.35c2.93-0.98,3.55-3.64,3.55-10.03V75.89 c0-5.24-1.33-6.13-3.55-7.1v-1.24l11.72-5.15l0.89,0.71v33.21 c0,6.39,0.62,9.06,3.55,10.03v1.24h-16.16V106.35z M258.91,53.34 c0-3.46,2.66-6.13,6.04-6.13c3.55,0,6.04,2.66,6.04,6.13c0,3.37-2.66,6.04-6.04,6.04 S258.91,56.71,258.91,53.34z M275.25,106.35c2.93-0.98,3.55-3.64,3.55-10.03V65.77h-5.15l0.44-1.42 h4.71c0.62-13.05,14.21-26.1,29.12-26.1c3.73,0,6.3,0.71,6.3,2.49 c0,1.86-2.66,5.95-6.66,5.95c-4.53,0-8.44-1.15-13.94-3.29 c-2.49,1.33-5.77,3.73-5.77,12.87v8.08h11.1l-0.44,1.42h-10.66v30.54 c0,6.39,0.62,9.06,3.55,10.03v1.24h-16.16V106.35z M301.35,91.87V75.89c0-5.24-1.33-6.13-3.55-7.1v-1.24l11.72-5.15 l0.89,0.71v27.61c0,9.5,1.51,14.21,8.35,14.21c4,0,8.35-2.4,12.7-6.75V75.89 c0-5.24-1.33-6.13-3.55-7.1v-1.24l11.72-5.15l0.89,0.71v33.21 c0,6.39,0.62,9.06,3.55,10.03v1.24h-9.06c-2.31,0-3.55-1.24-3.55-3.55v-4 c-5.06,4.88-11.19,8.44-16.78,8.44C305.26,108.48,301.35,102.71,301.35,91.87z M345.3,106.35c2.93-0.98,3.55-3.64,3.55-10.03V49.25 c0-5.24-1.33-6.13-3.55-7.1v-1.24l11.72-5.15l0.89,0.71v59.85 c0,6.39,0.62,9.06,3.55,10.03v1.24h-16.16V106.35z'/%3E%3C/svg%3E");
  --grad-head: linear-gradient(112deg, #6E2E4C 0%, #9C486E 32%, #D483AB 60%, #B0517B 80%, #7E3658 100%);
}
[data-gradient] {
  background: var(--grad-head);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
[data-gradient].is-split { background: none; }
[data-gradient] .hw, [data-gradient] .w {
  background: var(--grad-head);
  background-size: var(--gw) var(--gh);
  background-position: calc(0px - var(--wx, 0px)) calc(0px - var(--wy, 0px));
  -webkit-background-clip: text;
  background-clip: text;
  /* Platz für Unterlängen (g, y): der Hintergrund malt nur in der Box des Worts */
  padding-bottom: 0.16em;
  margin-bottom: -0.16em;
}

/* Betonung ohne Kursiv (8. Oktober 2026: Kursiv wirkte billig): Gewicht statt Neigung. Fraunces ist bis 600
   geladen, Jost nur bis 500 (darüber würde der Browser fett nachrechnen). In Fraunces-Texten volle 600.
   Ausnahme: "anima" im großen Manifest-Satz bleibt kursiv, in der Größe passt es. */
em { font-style: normal; font-weight: 500; }
.manifest-sign em, .kp-feel em, .bp-shift-end em { font-weight: 600; }

button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }

ul { list-style: none; margin: 0; padding: 0; }

:focus { outline: none; }
:focus-visible { outline: 2px solid var(--rose); outline-offset: 4px; }

::selection { background: var(--rose-soft); color: var(--cocoa-900); }

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* --------------------------------------------------------------------------
   Layout helpers
   -------------------------------------------------------------------------- */

.wrap {
  width: min(100% - 2 * var(--gutter), var(--container));
  margin-inline: auto;
}

/* Alle Sektionen liegen über dem gepinnten Hero und decken ihn ab */
.section, .story, .marquee, .bey, .footer { position: relative; z-index: 2; }
/* Auftakte der Unterseiten haben kein .section, müssen aber ebenfalls über dem festen Grund
   liegen. Sonst malt .ground über ihren Text, sobald GSAP nach dem Einblenden transform wegräumt. */
.kp-hero, .tp-hero, .ep-hero, .kt-hero, .ap-hero { position: relative; z-index: 2; }
/* Der Grund: eine feste Fläche hinter allen Sektionen, ihre Farbe wandert mit dem Scrollen (main.js).
   Die Sektionen sind deshalb transparent. Ausnahmen: Manifest (deckt den Hero ab), Story und
   BEYOUTIFUL (dunkel, gepinnt bzw. maskiert) und der Footer. */
.ground { position: fixed; inset: 0; z-index: 0; background: var(--sand-50); pointer-events: none; }
.section { padding-block: var(--section); background: transparent; }
.manifest { background: var(--sand-50); }
.section--sand { background: var(--sand-100); }
.section--blush { background: var(--blush); }

.grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: clamp(1rem, 2.5vw, 2.5rem);
}

.lead {
  font-size: clamp(1.2rem, 1.6vw, 1.45rem);
  line-height: 1.55;
  max-width: 32em;
}

.small {
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--taupe);
}

/* Fließtext-Links: Unterstrich wächst von links */
.link {
  position: relative;
  display: inline-block;
  padding-bottom: 0.15em;
  font-weight: 400;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.5s var(--ease-out);
}
.link:hover { background-size: 0 1px; background-position: 100% 100%; }

/* Buttons – rechteckig, ruhig */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  min-height: 3.25rem;
  padding: 0.85em 2em;
  border: 1px solid currentColor;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.9375rem;
  letter-spacing: 0.03em;
  line-height: 1;
  transition: background-color 0.35s var(--ease-out), color 0.35s var(--ease-out), border-color 0.35s var(--ease-out);
}
.btn:hover { background: var(--cocoa); border-color: var(--cocoa); color: var(--sand-50); }

.btn--solid { background: var(--cocoa); border-color: var(--cocoa); color: var(--sand-50); }
.btn--solid:hover { background: var(--rose-deep); border-color: var(--rose-deep); color: #fff; }

.btn--light { color: var(--sand-50); }
.btn--light:hover { background: var(--sand-50); border-color: var(--sand-50); color: var(--cocoa-900); }

.btn--rose { background: var(--rose); border-color: var(--rose); color: var(--cocoa-900); }
.btn--rose:hover { background: var(--sand-50); border-color: var(--sand-50); color: var(--cocoa-900); }

/* --------------------------------------------------------------------------
   Preloader – ein einziger Auftakt-Moment
   -------------------------------------------------------------------------- */

.loader {
  position: fixed;
  inset: 0;
  z-index: 100;
  background: var(--sand-50);
  /* Loch in der Mitte, das per --hole aufgeht und den Hero freigibt */
  --hole: 0%;
  /* Lichthof hinter der Kugel, main.js schreibt --breath und --glow */
  --breath: 0;
  --glow: 0;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, transparent calc(var(--hole) - 16%), #000 var(--hole));
  mask-image: radial-gradient(circle at 50% 50%, transparent calc(var(--hole) - 16%), #000 var(--hole));
}
.loader::before {
  content: "";
  position: absolute;
  left: 50%; top: 50%;
  width: 78vmin; height: 78vmin;
  border-radius: 50%;
  background: radial-gradient(circle closest-side, rgba(237, 158, 194, 0.22) 0%, rgba(247, 220, 232, 0.12) 45%, rgba(248, 243, 239, 0) 100%);
  transform: translate(-50%, -50%) scale(calc(0.7 + 0.3 * var(--breath)));
  opacity: var(--glow);
  will-change: transform, opacity;
}
.loader-canvas {
  position: fixed;
  inset: 0;
  z-index: 101;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}
.loader.is-done { display: none; }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  height: var(--header-h);
  /* Auch auf dem Hero dunkel: der Himmel hinter der Navigation ist in allen Einstellungen hell
     (Luminanz 188–250), weiße Schrift hatte dort nur ~1,1–1,5:1 Kontrast. Cocoa liegt bei 5,7–10:1. */
  color: var(--cocoa);
  --sheen: -80%;
  /* kein will-change und keine Filter hier: sonst verliert der Backdrop-Blur der Kapsel die Seite dahinter */
}
.header .wrap {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

/* Nach dem Hero: die Navigation liegt auf einem diffusen Stück Glas, das zu den Seiten
   und nach unten ausläuft. Kein Balken, keine Kante. Maske und Blur liegen auf demselben
   Element, das funktioniert (anders als eine Maske auf einem Vorfahren). */
.header.is-scrolled {
  height: auto;
  padding-top: 1.25rem;
  color: var(--cocoa);
}
.header.is-scrolled .wrap { height: 4.75rem; }
.header-glass {
  display: none;
  position: absolute;
  left: 0; right: 0; top: 0;
  height: calc(100% + 5rem);
  pointer-events: none;
  background: color-mix(in srgb, var(--sand-50) 52%, transparent);
  backdrop-filter: blur(28px) saturate(170%);
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  -webkit-mask-image: radial-gradient(ellipse 84% 100% at 50% -6%, #000 38%, rgba(0, 0, 0, 0.6) 62%, transparent 100%);
  mask-image: radial-gradient(ellipse 84% 100% at 50% -6%, #000 38%, rgba(0, 0, 0, 0.6) 62%, transparent 100%);
}
.header.is-scrolled .header-glass { display: block; }
/* Glanz, der beim Scrollen über das Glas wandert */
.header-glass::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.0) 35%, rgba(255, 255, 255, 0.28) 50%, rgba(255, 255, 255, 0.0) 65%, transparent 100%);
  background-size: 260% 100%;
  background-position: var(--sheen) 0;
}

body.menu-open .header { color: var(--sand-50); }
body.menu-open .header .header-glass { display: none; }

/* Logo: Mono-Fassung als Vektor (Oktober 2026), Dunkelrosé wie die Headlines, weiß im Footer und über dem Menü */
.logo {
  position: relative;
  display: block;
  width: clamp(130px, 11.5vw, 168px);
  aspect-ratio: 200 / 114;
  flex: none;
}
.header.is-scrolled .logo { width: clamp(84px, 7vw, 96px); }

/* Auf dem Hero ist der Button der einzige Farbpunkt: gefüllt in Dunkelrosé (Weiß darauf 5,9:1) */
.header:not(.is-scrolled) .nav .btn { background: var(--rose-deep); border-color: var(--rose-deep); color: #fff; }
.header:not(.is-scrolled) .nav .btn:hover { background: var(--cocoa); border-color: var(--cocoa); color: var(--sand-50); }
.logo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* Im Header immer das rosé Logo, das weiße nur über dem dunklen Menü */
.header .logo-light { opacity: 0; }
body.menu-open .header .logo-color { opacity: 0; }
body.menu-open .header .logo-light { opacity: 1; }
.logo--footer { width: 132px; }

.nav { display: flex; align-items: center; gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.nav ul { display: flex; gap: clamp(1.5rem, 2.8vw, 2.75rem); }
.nav a:not(.btn) {
  font-size: 1.08rem;
  font-weight: 400;
  letter-spacing: 0.02em;
  padding-bottom: 0.2em;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
  transition: background-size 0.4s var(--ease-out);
}
.nav a:not(.btn):hover { background-size: 100% 1px; }
.nav .btn { min-height: 3rem; padding: 0.7em 1.5em; font-size: 0.95rem; }

.menu-toggle {
  display: none;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
}
.menu-toggle .bars {
  position: relative;
  width: 28px; height: 12px;
}
.menu-toggle .bars::before,
.menu-toggle .bars::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  height: 1px;
  background: currentColor;
  transition: transform 0.4s var(--ease-out), top 0.4s var(--ease-out);
}
.menu-toggle .bars::before { top: 0; }
.menu-toggle .bars::after { top: 11px; }
body.menu-open .menu-toggle .bars::before { top: 5px; transform: rotate(45deg); }
body.menu-open .menu-toggle .bars::after { top: 5px; transform: rotate(-45deg); }

/* Vollbild-Menü (mobil, aber auch am Desktop nutzbar) */
.menu {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  align-content: end;
  padding: var(--header-h) var(--gutter) clamp(2rem, 6vh, 4rem);
  background: var(--cocoa-900);
  color: var(--sand-50);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s var(--ease-out), visibility 0s linear 0.5s;
}
body.menu-open .menu { visibility: visible; opacity: 1; transition-delay: 0s; }
.menu-links a {
  display: block;
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: calc(clamp(2.6rem, 8vw, 5rem) * var(--display-scale));
  line-height: 1.15;
  padding: 0.1em 0;
}
.menu-links a:hover { color: var(--rose); }
.menu-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2.5rem;
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(248, 243, 239, 0.18);
  font-size: 0.95rem;
  color: rgba(248, 243, 239, 0.75);
}

/* --------------------------------------------------------------------------
   Hero – Vollbild-Video (im Dummy: Foto mit langsamer Bewegung)
   -------------------------------------------------------------------------- */

.hero {
  position: relative;
  z-index: 1;
  height: 100svh;
  display: grid;
  color: var(--sand-50);
  overflow: hidden;
  background: var(--cocoa-900);
}
.hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  transform-origin: 50% 50%;
}
.hero-dim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--cocoa-900);
  opacity: 0;
  pointer-events: none;
}
.hero-media img,
.hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
  transform-origin: 50% 50%;
}
/* Ein Hauch Sand läuft oben über das Video aus: die Navigation steht auch in den dunkleren Einstellungen ruhig */
.hero::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 30%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(248, 243, 239, 0.42) 0%, rgba(248, 243, 239, 0.16) 45%, rgba(248, 243, 239, 0) 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(43, 33, 28, 0.82) 0%, rgba(43, 33, 28, 0.35) 40%, rgba(43, 33, 28, 0.05) 70%);
}
.hero-inner {
  position: relative;
  z-index: 2;
  align-self: end;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2.5rem 4rem;
  padding-top: calc(var(--header-h) + 3rem);
  padding-bottom: clamp(2rem, 7vh, 4.5rem);
}
.hero h1 {
  font-size: calc(clamp(3.4rem, 9vw, 9rem) * var(--display-scale));
  line-height: 0.95;
  letter-spacing: -0.012em;
  margin-bottom: 1.5rem;
}
.hero .line { display: block; }
.hero .line-inner { display: block; }
/* Headline-Wörter werden einzeln eingeblendet (weich, leicht unscharf), keine Maske, kein Clipping */
.hw { display: inline-block; will-change: transform, opacity, filter; }
.hero-sub {
  max-width: 30em;
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  color: rgba(248, 243, 239, 0.88);
}

/* "Nächste Stunde" – das Buchungs-Element eines Hotels, übersetzt auf Yoga */
.next {
  min-width: 17rem;
  padding: 1.35rem 1.5rem 1.5rem;
  border: 1px solid rgba(248, 243, 239, 0.35);
  background: rgba(43, 33, 28, 0.25);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 0.95rem;
}
.next-kicker { font-size: 0.85rem; color: var(--rose); margin-bottom: 0.5rem; }
.next-title { font-family: var(--font-display); font-weight: var(--display-weight); font-size: calc(1.7rem * var(--display-scale)); line-height: 1.1; margin-bottom: 0.35rem; }
.next-meta { color: rgba(248, 243, 239, 0.85); margin-bottom: 1.1rem; }
.next .link { font-size: 0.95rem; }

/* Scroll-Hinweis (30. Oktober 2026; vorher Linie mit Tropfen = beliebig, dann Bögen um den Punkt = "Nasenring").
   Ein Blütenblatt sinkt pendelnd herab wie ein fallendes Blatt, landet im Punkt und geht darin auf; der Punkt
   atmet auf, eine flache Welle läuft aus wie auf Wasser (Lotus). Punkt (::before) wie seit 12. Oktober.
   Blatt: Quadrat mit zwei runden Gegenecken (Mandelform), um −45° gedreht = Spitzen oben/unten.
   Weg: Containerhöhe minus halbe Blattgröße = Mitte des Punkts. Farbe als RGB in --cue (Unterseiten: Dunkelrosé). */
.scroll-cue {
  --cue: 237, 158, 194;
  position: absolute;
  left: 50%;
  bottom: 1.75rem;
  z-index: 2;
  width: 1.4rem;
  height: 3.6rem;
  margin-left: -0.7rem;
}
.cue-petal {
  position: absolute;
  left: 50%; top: 0;
  width: 0.5rem; height: 0.5rem;
  margin-left: -0.25rem;
  border-radius: 50% 0;
  background: linear-gradient(135deg, rgba(var(--cue), 0.45), rgb(var(--cue)) 70%);
  box-shadow: 0 0 0.6rem rgba(var(--cue), 0.55);
  opacity: 0;
  animation: cue-fall 3.4s cubic-bezier(0.37, 0, 0.63, 1) infinite;
}
.scroll-cue::before {
  content: "";
  position: absolute;
  left: 50%; bottom: -0.275rem;
  width: 0.55rem; height: 0.55rem;
  margin-left: -0.275rem;
  border-radius: 50%;
  background: rgb(var(--cue));
  box-shadow: 0 0 0.75rem rgba(var(--cue), 0.7);
  animation: cue-dot 3.4s ease-in-out infinite;
}
/* Welle: flache Ellipse (Wasserfläche in Aufsicht), wächst aus dem Punkt und verklingt */
.scroll-cue::after {
  content: "";
  position: absolute;
  left: 50%; bottom: -0.4rem;
  width: 2.6rem; height: 0.8rem;
  margin-left: -1.3rem;
  border: 1px solid rgba(var(--cue), 0.8);
  border-radius: 50%;
  opacity: 0;
  animation: cue-ripple 3.4s ease-out infinite;
}
@keyframes cue-fall {
  0%   { transform: translate(0, 0) rotate(-45deg); opacity: 0; }
  10%  { opacity: 1; }
  22%  { transform: translate(0.38rem, 0.85rem) rotate(-22deg); }
  36%  { transform: translate(-0.32rem, 1.75rem) rotate(-68deg); }
  50%  { transform: translate(0.16rem, 2.6rem) rotate(-34deg); }
  60%  { transform: translate(0, 3.1rem) rotate(-45deg) scale(0.9); opacity: 1; }
  67%  { transform: translate(0, 3.35rem) rotate(-45deg) scale(0.3); opacity: 0; }
  100% { transform: translate(0, 3.35rem) rotate(-45deg) scale(0.3); opacity: 0; }
}
@keyframes cue-dot {
  0%, 60% { transform: scale(1); opacity: 0.75; }
  72%     { transform: scale(1.6); opacity: 1; }
  100%    { transform: scale(1); opacity: 0.75; }
}
@keyframes cue-ripple {
  0%, 63% { transform: scale(0.2); opacity: 0; }
  68%     { opacity: 0.85; }
  100%    { transform: scale(1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cue-petal, .scroll-cue::after { animation: none; opacity: 0; }
  .scroll-cue::before { animation: none; }
}

/* --------------------------------------------------------------------------
   Manifest – "Annyma kommt von anima."
   -------------------------------------------------------------------------- */

.manifest .grid { row-gap: 3rem; align-items: start; }
.manifest-statement {
  grid-column: 1 / span 8;
  font-size: calc(clamp(2.3rem, 5.4vw, 5.6rem) * var(--display-scale));
  line-height: 1.05;
  max-width: 13ch;
}
.manifest-statement em { font-style: italic; font-weight: inherit; }
.manifest-statement .w { display: inline-block; white-space: pre; }
.manifest-copy {
  grid-column: 8 / span 5;
  padding-top: 0.6rem;
}
.manifest-copy .link { margin-top: 0.5rem; }
.manifest-figure {
  grid-column: 2 / span 4;
  margin: 2rem 0 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}
.manifest-figure img { width: 100%; height: 118%; object-fit: cover; }
.manifest-figure.has-gl { overflow: visible; background: transparent; }
.manifest-figure.has-gl img { visibility: hidden; }
/* WebGL-Bühne: liegt fest über der Seite, zeichnet das Bild nur im Fenster der figure
   und öffnet dieses Fenster beim Scrollen bis zum Vollbild (Zoom in die Story) */
/* GL-Bühne fürs Ährenbild: Spur (Position/Höhe aus main.js), darin klebt die Leinwand am oberen Rand */
.gl-track {
  position: absolute;
  left: 0; top: 0;
  z-index: 3;
  width: 100%;
  pointer-events: none;
}
.gl-stage {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  display: block;
  pointer-events: none;
}
.manifest-figure { position: relative; }
/* Rechts neben dem Ährenbild, auf der Linie des Texts darüber: Annys Signatur groß und linksbündig, senkrecht
   mittig zwischen dem Text oben und der Vision unten (die füllt den Rest bis zur Bildunterkante) */
.manifest-aside {
  grid-column: 8 / span 5;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.manifest-aside .manifest-sign { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.manifest-vision { max-width: 30em; margin: 0; color: var(--cocoa); }

/* --------------------------------------------------------------------------
   Scroll-Story – drei Beats, gepinnt: Ankommen. Loslassen. Leuchten.
   -------------------------------------------------------------------------- */

.story {
  height: 100svh;
  color: var(--sand-50);
  overflow: hidden;
  /* vor dem Pin transparent: das Fenster des Ährenbilds öffnet sich auf der Leinenfläche,
     erst wenn die Story gepinnt ist ("is-live"), wird sie dunkel und zeigt den Rahmen */
  background: transparent;
  --shade: 1;
  /* Lichtquelle der Weißblende (Himmel oben links im letzten Beat) */
  --lx: 24%;
  --ly: 26%;
}
.story.is-live { background: var(--cocoa-900); }
.story:not(.is-live) .story-frame,
.story:not(.is-live) .story-text,
.story:not(.is-live) .story-bars { visibility: hidden; }
.story-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.story-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
}
.story-wheat {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.story-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: var(--shade);
  background: linear-gradient(to top, rgba(43, 33, 28, 0.88) 0%, rgba(43, 33, 28, 0.35) 45%, rgba(43, 33, 28, 0.05) 100%);
}
/* Weißblende: Glow überbelichtet das Bild um die Lichtquelle, dann wächst die Sandfläche
   aus derselben Stelle, bis nur noch die Seite übrig ist */
.story-glow,
.story-light {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0;
  transform-origin: var(--lx) var(--ly);
  pointer-events: none;
  will-change: transform, opacity;
}
/* closest-side: der Verlauf ist an jeder Elementkante schon transparent, sonst werden die
   Kanten beim Skalieren als Rechteck sichtbar. Die Größe kommt aus dem Scale (main.js). */
.story-glow {
  background: radial-gradient(circle closest-side at var(--lx) var(--ly), rgba(255, 247, 234, 1) 0%, rgba(255, 242, 226, 0.6) 28%, rgba(255, 240, 222, 0.22) 62%, rgba(255, 240, 222, 0) 100%);
  mix-blend-mode: plus-lighter;
}
.story-light {
  background: radial-gradient(circle closest-side at var(--lx) var(--ly), var(--sand-50) 0%, var(--sand-50) 48%, rgba(248, 243, 239, 0) 100%);
}
.story-text {
  position: relative;
  z-index: 2;
  height: 100%;
  display: grid;
  align-content: end;
  padding-bottom: clamp(3rem, 10vh, 6rem);
}
.story-beat { grid-area: 1 / 1; max-width: 34rem; }
.story-beat:not(:first-child) { opacity: 0; }
.story-beat h2 {
  font-size: calc(clamp(3.2rem, 10vw, 9rem) * var(--display-scale));
  line-height: 0.95;
  margin-bottom: 1rem;
}
.story-beat p { font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: rgba(248, 243, 239, 0.85); max-width: 28em; }
.story-bars {
  position: absolute;
  z-index: 2;
  right: var(--gutter);
  bottom: clamp(3rem, 10vh, 6rem);
  display: flex;
  gap: 0.6rem;
}
.story-bars span {
  position: relative;
  width: clamp(2rem, 4vw, 3.5rem);
  height: 1px;
  background: rgba(248, 243, 239, 0.28);
  overflow: hidden;
}
.story-bars i {
  position: absolute;
  inset: 0;
  background: var(--sand-50);
  transform: scaleX(0);
  transform-origin: left;
}
.story-bars span:first-child i { transform: scaleX(1); }

/* --------------------------------------------------------------------------
   Marquee – läuft von allein, Scroll-Geschwindigkeit beschleunigt sie
   -------------------------------------------------------------------------- */

.marquee {
  display: block;
  color: inherit;
  transition: border-color 0.5s var(--ease-out);
  background: transparent;
  padding-block: 1.1rem;
  border-top: 1px solid var(--sand-200);
  border-bottom: 1px solid var(--sand-200);
  overflow: hidden;
}
.marquee-track { display: flex; width: max-content; will-change: transform; }
.marquee-inner {
  display: flex;
  align-items: center;
  gap: 2.25rem;
  padding-right: 2.25rem;
  font-size: 0.95rem;
  letter-spacing: 0.03em;
  line-height: 1;
  color: var(--cocoa);
  white-space: nowrap;
}
.marquee-inner .tick { display: inline-flex; align-items: baseline; gap: 0.7rem; }
.marquee-inner .tick b {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: 1.3rem;
  color: var(--head-color);
}
.marquee-inner img { width: 1.05rem; height: auto; opacity: 0.9; }
.marquee:hover { border-color: var(--rose-soft); }
/* Button unter dem Band, rechtsbündig (das Band selbst ist auch ein Link, der Button macht es eindeutig) */
.marquee-cta { position: relative; z-index: 2; display: flex; justify-content: flex-end; padding-top: 1.75rem; }
.marquee:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: -4px; }

/* Linien, die sich beim Scrollen zeichnen */
.has-rule { border-top-color: transparent; }
.rule {
  position: absolute;
  top: -1px; left: 0; right: 0;
  height: 1px;
  background: var(--sand-200);
  transform-origin: left center;
}

/* --------------------------------------------------------------------------
   Angebot – Zeilenliste statt Karten (wie ein Zimmer-Index im Hotel)
   -------------------------------------------------------------------------- */

/* Das Angebot schiebt sich unter das Ende der Story: sobald die Weißblende alles bedeckt,
   kommt die Headline schon von unten, statt dass die Seite lange leer bleibt */
.offers { margin-top: -40svh; padding-top: calc(var(--section) * 0.55); }
.offers-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 3.5rem;
}
.offers-head h2 { font-size: calc(clamp(2.2rem, 4.2vw, 3.8rem) * var(--display-scale)); }
.offers-head p { max-width: 30em; justify-self: end; }

.offer-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.5fr) minmax(0, 0.7fr) 5.5rem;
  gap: 1.5rem 2.5rem;
  align-items: baseline;
  padding: 2.25rem 0;
  border-top: 1px solid var(--sand-200);
  transition: color 0.3s var(--ease-out);
}
.offer-row:last-child { border-bottom: 1px solid var(--sand-200); }
.offer-title {
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: calc(clamp(1.75rem, 2.8vw, 2.7rem) * var(--display-scale));
  line-height: 1.05;
  transition: transform 0.5s var(--ease-out);
}
.offer-title small {
  display: block;
  font-family: var(--font-body);
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  color: var(--taupe);
  margin-top: 0.4rem;
}
.offer-row:hover .offer-title { transform: translateX(0.5rem); }
/* Hover der Zeilen-Indizes (Angebot Startseite, Termine-Übersicht; 8. Oktober 2026, statt Clip/Bild am Cursor):
   ein Hauch Dunkelrosé steigt von unten in die Zeile und läuft nach
   oben und zu den Seiten aus (keine Linie, die war zu viel). Ragt seitlich etwas über die Spalte. */
.offer-row, .tp-row { isolation: isolate; }
.offer-row::before, .tp-row::before {
  content: "";
  position: absolute;
  inset: 0 -1.5rem;
  z-index: -1;
  background: linear-gradient(to top, rgba(156, 72, 110, 0.13) 0%, rgba(156, 72, 110, 0.05) 45%, rgba(156, 72, 110, 0) 100%);
  /* seitlich weich auslaufen, sonst steht der Hauch als Rechteck */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 10%, #000 90%, transparent 100%);
  transform: scaleY(0);
  transform-origin: 50% 100%;
  opacity: 0;
  transition: transform 0.8s var(--ease-out), opacity 0.6s var(--ease-out);
  pointer-events: none;
}
.offer-row:hover::before, .offer-row:focus-visible::before,
.tp-row:hover::before, .tp-row:focus-visible::before { transform: scaleY(1); opacity: 1; }
.offer-row:focus-visible, .tp-row:focus-visible { outline: none; }
.offer-text { max-width: 30em; margin: 0; }
.offer-meta { font-size: 0.95rem; color: var(--taupe); }
.offer-thumb {
  width: 5.5rem;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  align-self: center;
  justify-self: end;
}

/* Bild, das am Desktop dem Cursor folgt */
.cursor-img {
  position: fixed;
  top: 0; left: 0;
  z-index: 30;
  width: clamp(220px, 20vw, 320px);
  aspect-ratio: 4 / 5;
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
  will-change: transform;
}
.cursor-img video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.4s var(--ease-out);
}
.cursor-img video.is-active { opacity: 1; }

@media (hover: hover) and (pointer: fine) {
  .offer-thumb { display: none; }
  .offer-row { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.5fr) minmax(0, 0.7fr); }
}
@media (hover: none) {
  .cursor-img { display: none; }
}

/* --------------------------------------------------------------------------
   Wochenplan
   -------------------------------------------------------------------------- */

.schedule .grid { row-gap: 3rem; }
/* etwas mehr Abstand nach oben (8. Oktober 2026): Wochenplan rückt vom Termine-Band ab */
.schedule { padding-top: calc(var(--section) * 1.3); }
.schedule-intro { grid-column: 1 / span 4; }
.schedule-intro h2 { font-size: calc(clamp(2.2rem, 4.2vw, 3.8rem) * var(--display-scale)); margin-bottom: 1.25rem; }
.schedule-intro p { max-width: 24em; }
.schedule-list { grid-column: 6 / span 7; }

.sched-row {
  position: relative;
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) auto;
  gap: 0.5rem 2rem;
  align-items: baseline;
  padding: 1.35rem 0;
  border-top: 1px solid var(--sand-200);
}
.sched-row:last-of-type { border-bottom: 1px solid var(--sand-200); }
.sched-day { font-family: var(--font-display); font-weight: var(--display-weight); font-size: calc(1.45rem * var(--display-scale)); }
.sched-what { font-weight: 400; }
.sched-what span { display: block; font-weight: 300; color: var(--taupe); font-size: 0.95rem; }
.sched-time { font-variant-numeric: tabular-nums; white-space: nowrap; }

.prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.price-val { font-family: var(--font-display); font-weight: var(--display-weight); font-size: calc(1.9rem * var(--display-scale)); line-height: 1; }
.price-label { font-size: 0.9rem; color: var(--taupe); margin-top: 0.4rem; }
.schedule-cta { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; }

/* --------------------------------------------------------------------------
   Atemzug – WebGL-Lotusblüte, die im 5-2-5-Rhythmus atmet
   -------------------------------------------------------------------------- */

.breath-inner {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: 3rem;
  align-items: center;
}
.breath-copy h2 { font-size: calc(clamp(2.8rem, 5.6vw, 5.4rem) * var(--display-scale)); margin-bottom: 1.5rem; }
.breath-copy .lead { max-width: 22em; }
.breath-copy .small { max-width: 26em; margin-top: 1.5rem; }
/* Bühne breiter als hoch: die offene Blüte mit dem flachen Außenkranz ist breit, nicht hoch */
.breath-stage {
  position: relative;
  width: min(100%, 100vh);
  aspect-ratio: 5 / 4;
  margin-inline: auto;
}
.breath-stage::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 21%;
  width: 70%;
  height: 10%;
  transform: translateX(-50%);
  background: radial-gradient(ellipse at center, rgba(156, 72, 110, 0.12), rgba(156, 72, 110, 0) 70%);
  pointer-events: none;
}
/* Die Leinwand ragt rundum 15 % über die Bühne hinaus: die Blüte wird ~30 % größer, ohne das Raster
   zu sprengen. Leinwand ist transparent und lässt Klicks durch. */
.breath-canvas {
  position: absolute;
  left: -15%; top: -15%;
  width: 130%;
  height: 130%;
  display: block;
  pointer-events: none;
}
.breath-phase {
  /* unter der Blüte, nicht auf ihr */
  position: absolute;
  left: 50%;
  bottom: 3%;
  transform: translateX(-50%);
  font-family: var(--font-display);
  font-size: calc(1.35rem * var(--display-scale));
  letter-spacing: 0.16em;
  color: var(--cocoa);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Termine – horizontal gepinnter Lauf
   -------------------------------------------------------------------------- */

.events { overflow: hidden; --meta: var(--taupe); }   /* --meta war für die Dämmerung (entfallen) */
/* Beim Dämmern des Grunds (Termine-Pin) wird der Meta-Text mit nachgedunkelt, sonst verliert er Kontrast */
.events .event-meta, .events .event-date span, .events .events-end .small { color: var(--meta); }
.events-track {
  display: flex;
  align-items: flex-start;
  gap: clamp(1.5rem, 3vw, 3rem);
  padding-inline: var(--gutter);
  will-change: transform;
}
.events-intro {
  flex: none;
  width: clamp(260px, 26vw, 400px);
  padding-right: 2rem;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.events-intro h2 { font-size: calc(clamp(2.2rem, 4.2vw, 3.8rem) * var(--display-scale)); margin-bottom: 1.25rem; }
.events-intro p { max-width: 22em; }

.event {
  flex: none;
  width: clamp(270px, 24vw, 360px);
}
.event-media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--sand-100);
  position: relative;
}
.event-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease-out); }
.event:hover .event-media img { transform: scale(1.04); }
.event-date {
  margin-top: 1.1rem;
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: calc(1.55rem * var(--display-scale));
  line-height: 1.1;
}
.event-date span { font-family: var(--font-body); font-size: 0.9rem; color: var(--taupe); margin-left: 0.6rem; }
.event-title { font-weight: 400; font-size: 1.1rem; margin-top: 0.35rem; }
.event-meta { font-size: 0.9rem; color: var(--taupe); margin-top: 0.25rem; }
.event .link { margin-top: 0.9rem; font-size: 0.95rem; }

.events-end {
  flex: none;
  width: clamp(200px, 20vw, 300px);
  align-self: center;
  padding-left: 1rem;
}

/* --------------------------------------------------------------------------
   BEYOUTIFUL – der eine dunkle, zentrierte Moment
   -------------------------------------------------------------------------- */

.bey {
  position: relative;
  /* Teaser: Text links, Clip rechts (gespiegelt zu "Über Anny" weiter oben, wo das Porträt links steht).
     Höhe = Text plus Luft; unten mehr Abstand zur nächsten Sektion */
  display: grid;
  align-items: center;
  padding-block: clamp(6.5rem, 11vw, 10rem) clamp(8.5rem, 15vw, 14rem);
  color: var(--cocoa);
}
/* Clip vom rechten Rand bis über die Mitte. Organisch ausgeblendet: eine weiche Ellipse statt gerader
   Verläufe, so löst er sich nach links in den Text und oben/unten in den Grund. Kein Mischmodus: fotografisch */
.bey-media {
  position: absolute;
  right: 0;
  top: 0; bottom: 0;
  width: 68%;
  overflow: hidden;
  pointer-events: none;
  /* zwei überlagerte Ellipsen (vereinigt) ergeben eine unregelmäßige, weiche Form statt eines Ovals;
     beide enden innerhalb der Box, sonst steht deren Kante als Linie */
  -webkit-mask-image:
    radial-gradient(ellipse 60% 46% at 66% 46%, #000 35%, rgba(0, 0, 0, 0.5) 65%, transparent 100%),
    radial-gradient(ellipse 44% 40% at 76% 60%, #000 30%, rgba(0, 0, 0, 0.45) 65%, transparent 100%);
  mask-image:
    radial-gradient(ellipse 60% 46% at 66% 46%, #000 35%, rgba(0, 0, 0, 0.5) 65%, transparent 100%),
    radial-gradient(ellipse 44% 40% at 76% 60%, #000 30%, rgba(0, 0, 0, 0.45) 65%, transparent 100%);
}
.bey-media video {
  position: absolute;
  left: 0; top: -8%;
  width: 100%; height: 116%;          /* Reserve für die Parallaxe */
  object-fit: cover;
  object-position: 72% 35%;
  /* gespiegelt: Anny schaut so nach links zum Text statt aus der Seite hinaus. Eigene scale-Eigenschaft,
     weil GSAP für die Parallaxe transform setzt */
  scale: -1 1;
}
.bey-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.bey-copy { grid-column: 1 / span 5; }
.bey-kicker {
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  color: var(--taupe);
  margin-bottom: 0.75rem;   /* 27. Oktober 2026: steht jetzt unter der Wortmarke */
}
.bey-lockup { --bw: clamp(15rem, 30vw, 30rem); width: var(--bw); }   /* Wortmarke wie auf der Unterseite, kleiner */
.bey-mark {   /* Lage wie im Logo vom 30. Oktober 2026 (siehe .bp-mark in beyoutiful.css), hier links bündig gerechnet */
  display: block;
  width: calc(var(--bw) * 0.2276);
  height: auto;
  margin: 0 0 calc(var(--bw) * -0.0439) calc(var(--bw) * 0.3846);
}
/* Wort "Beyoutiful" als Maske (--bey-word), gefüllt mit dem ruhenden Headline-Verlauf */
.bey-title {
  width: var(--bw);
  aspect-ratio: 357.29 / 88.97;
  margin: 0 !important;
  -webkit-mask: var(--bey-word) center / 100% 100% no-repeat;
  mask: var(--bey-word) center / 100% 100% no-repeat;
  background: var(--grad-head);
}
.bey-method {   /* mit Linien, Lage wie im Logo (siehe .bp-method in beyoutiful.css), links bündig gerechnet */
  display: block;
  width: calc(var(--bw) * 1.002);
  height: auto;
  margin: calc(var(--bw) * -0.0315) 0 2.25rem calc(var(--bw) * -0.0017);   /* unten mehr Luft zum Kicker (vorher 1.25rem) */
}
.bey p { max-width: 30em; color: var(--cocoa); }
.bey-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 2.25rem; }
@media (max-width: 900px) {
  .bey-media { position: relative; width: 100%; height: 50svh; top: auto; bottom: auto; }
  .bey-copy { grid-column: 1 / -1; }
}

/* --------------------------------------------------------------------------
   Kreis-Akzente in Rosé: Ensō-Ringe (offener Kreis, ein Strich) und das Logo-Siegel.
   Dieselbe Geometrie wie Preloader-Kugel, Atemzug, Iris und Stempel. Nie als Fläche,
   nur als Haarlinie. main.js zeichnet die Ringe per Scroll und dreht sie leise weiter.
   -------------------------------------------------------------------------- */

.orbit {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  overflow: visible;
  color: var(--rose-deep);
  transform: rotate(-90deg);            /* Strich beginnt oben */
}
.orbit circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.2px;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  /* Ensō-Lücke und Zeichnen: main.js setzt dasharray/dashoffset in Bildschirmpixeln, denn mit
     non-scaling-stroke rechnet Chrome die Dash-Werte im Bildschirm-, nicht im Pfad-Koordinatensystem. */
  opacity: 0.55;
}
.orbit--schedule {
  width: 64vmin; height: 64vmin;
  left: calc(50% - var(--container) / 2 - 22vmin);
  top: 2rem;
}
/* Kontakt: nur der Scheitel eines sehr großen Kreises ragt unten rechts herein, ein Horizont
   über dem dunklen Footer. Scheitel ~13vmin über der Sektionskante, unter dem Kleingedruckten. */
.orbit--contact {
  width: 160vmin; height: 160vmin;
  right: -40vmin;
  bottom: -147vmin;
}
.orbit--contact circle { opacity: 0.4; }
/* Alle Sektionsinhalte liegen über den Ringen */
.schedule > .wrap, .contact > .wrap { position: relative; z-index: 1; }

/* Stempel als Wasserzeichen: Maske in Dunkelrosé, Größe und Lage je nach Einsatz (Modifier) */
.seal {
  display: block;
  pointer-events: none;
  background: var(--rose-deep);
  /* Data-URI statt Datei: Masken-Bilder werden mit CORS geladen, unter file:// wäre die Datei blockiert */
  -webkit-mask: var(--seal-img) center / contain no-repeat;
  mask: var(--seal-img) center / contain no-repeat;
  --seal-img: url("data:image/png;base64,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");
  opacity: 0.07;
}
/* Über Anny: sehr groß rechts oben, zur Hälfte unter dem Text, ragt über den Rand hinaus (Sektion schneidet ab) */
.seal--about {
  position: absolute; z-index: 0;
  width: 26rem; height: 26rem;
  right: -13rem; top: -3rem;
  transform: rotate(-12deg);
}
.about { overflow-x: clip; }
.about .grid { position: relative; }
.about-copy, .about-figure { position: relative; z-index: 1; }

/* --------------------------------------------------------------------------
   Über Anny
   -------------------------------------------------------------------------- */

.about .grid { align-items: center; row-gap: 3rem; }
/* Annys Porträt (Hochformat) statt des früheren Video-Loops */
.about-figure {
  grid-column: 2 / span 5;
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--sand-100);
}
/* 118 % Höhe, um 9 % nach oben versetzt: deckt die Parallaxe (±7 %) in beide Richtungen ab */
.about-figure img { position: relative; top: -9%; width: 100%; height: 118%; object-fit: cover; object-position: 50% 30%; }
.about-copy { grid-column: 8 / span 5; }
.about-copy h2 { font-size: calc(clamp(2.2rem, 4.2vw, 3.8rem) * var(--display-scale)); margin-bottom: 1.75rem; }
.about-copy p { max-width: 32em; }
.about-copy .link { margin-top: 0.5rem; }
.signature {
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
}
.signature .signature-name { position: relative; z-index: 1; font-size: calc(2.8rem * var(--display-scale)); }
.signature-name { font-family: var(--font-display); font-weight: var(--display-weight); font-size: calc(2.2rem * var(--display-scale)); color: var(--head-color); line-height: 1; }

/* Claim-Zeilen in Annys Text (Über-Anny-Seite) */
.about-more-claim {
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: calc(clamp(1.3rem, 1.8vw, 1.6rem) * var(--display-scale)); line-height: 1.3;
  color: var(--head-color); margin: 2rem 0 0;  /* zwei Claims hintereinander: Abstand wie eine Leerzeile */
}
.creds-label { font-size: 0.9rem; letter-spacing: 0.04em; color: var(--taupe); margin-bottom: 1.25rem; }
.cred {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem 2rem;
  align-items: baseline;
  padding: 1.15rem 0;
}
.cred:last-child { border-bottom: 1px solid var(--sand-200); }
.cred-title {
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: calc(clamp(1.25rem, 1.7vw, 1.6rem) * var(--display-scale));
  line-height: 1.2;
  color: var(--cocoa);
  font-variation-settings: "SOFT" 30, "WONK" 0;
}
.cred-meta { font-size: 0.9rem; color: var(--taupe); white-space: nowrap; }

/* --------------------------------------------------------------------------
   Instagram – kein Feed, sondern ein ruhiges Band aus ausgewählten Bildern
   -------------------------------------------------------------------------- */

.insta { padding-bottom: calc(var(--section) * 0.6); }
.insta-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: end;
}
.insta-kicker { font-size: 0.9rem; letter-spacing: 0.04em; color: var(--taupe); margin-bottom: 1rem; }
.insta-head h2 { font-size: calc(clamp(2.6rem, 6vw, 6rem) * var(--display-scale)); letter-spacing: -0.01em; }
.insta-head h2 a { transition: color 0.4s var(--ease-out); }
.insta-head h2 a:hover { color: var(--cocoa); }
.insta-copy { justify-self: end; max-width: 26em; }
.insta-copy .link { margin-top: 0.25rem; }
/* Fünf Bilder in wechselnden Formaten, leicht versetzt; main.js lässt sie unterschiedlich schnell treiben (data-drift) */
.insta-strip {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1fr 1.3fr 1fr;
  gap: clamp(0.75rem, 1.6vw, 1.75rem);
  align-items: start;
  padding-inline: var(--gutter);
  margin-top: clamp(3rem, 6vw, 5rem);
}
.insta-tile { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; background: var(--sand-100); }
.insta-tile:nth-child(even) { aspect-ratio: 1; margin-top: 5rem; }
.insta-tile:nth-child(3) { margin-top: 2rem; }
/* Hover über die eigene scale-Eigenschaft: transform gehört der Reveal-Animation (main.js) */
.insta-tile img { width: 100%; height: 100%; object-fit: cover; transition: scale 1.2s var(--ease-out); }
.insta-strip:hover .insta-tile img { scale: 1.03; }
.insta-strip .insta-tile:hover img { scale: 1.07; }

/* --------------------------------------------------------------------------
   Kontakt / Newsletter
   -------------------------------------------------------------------------- */

.contact { overflow: hidden; }   /* der Ring läuft rechts und unten aus der Sektion */
.contact .grid { row-gap: 3rem; }
.contact-main { grid-column: 1 / span 6; }
.contact-main h2 { font-size: calc(clamp(2.2rem, 4.2vw, 3.8rem) * var(--display-scale)); margin-bottom: 1.5rem; }
.contact-main p { max-width: 28em; }
.contact-mail {
  display: inline-block;
  font-family: var(--font-display); font-weight: var(--display-weight);
  font-size: calc(clamp(1.5rem, 2.6vw, 2.3rem) * var(--display-scale));
  margin: 0.5rem 0 1.5rem;
}
.contact-list { display: grid; gap: 0.4rem; font-size: 0.95rem; }
.contact-list a { font-weight: 400; }

.newsletter { grid-column: 8 / span 5; align-self: end; }
.newsletter h3 { font-size: calc(1.6rem * var(--display-scale)); margin-bottom: 0.75rem; }
.newsletter p { max-width: 26em; }
.newsletter form { margin-top: 1.5rem; }   /* Pille: Formulare am Ende der Datei */
.newsletter .small { margin-top: 0.75rem; }

/* --------------------------------------------------------------------------
   Filmkorn – sehr fein, liegt über allem außer dem Preloader
   -------------------------------------------------------------------------- */

.grain {
  position: fixed;
  inset: -50%;
  z-index: 90;
  width: 200%;
  height: 200%;
  pointer-events: none;
  opacity: 0.055;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: grain 7s steps(8) infinite;
}
@keyframes grain {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(-6%, 4%); }
  50%  { transform: translate(4%, -7%); }
  75%  { transform: translate(-3%, -2%); }
  100% { transform: translate(5%, 6%); }
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

/* 11. Oktober 2026 (zweite Runde): weder dunkle Fläche noch Braun-Karte. Der Footer steht auf dem Sand-Grund, zentriert
   wie bei einem Boutique-Hotel: Haarlinie öffnet sich um das Logo, Claim in Rosé, Angebot und Orte, Links als eine
   Zeile, unten Copyright und Rechtliches. Kein Spaltenraster. */
.footer {
  color: var(--cocoa);
  padding-block: clamp(4rem, 8vw, 7rem) 2rem;
  text-align: center;
}
.footer-mark {
  display: flex; align-items: center;
  gap: clamp(1.5rem, 3vw, 2.75rem);
}
.footer-mark::before, .footer-mark::after {
  content: "";
  flex: 1; height: 1px;
  background: linear-gradient(to right, transparent, rgba(156, 72, 110, 0.3));
}
.footer-mark::after { background: linear-gradient(to left, transparent, rgba(156, 72, 110, 0.3)); }
.footer .logo--footer { width: clamp(130px, 11vw, 160px); flex: none; }
.footer-main { margin-top: clamp(2rem, 4vw, 3rem); }
.footer-claim {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-size: calc(clamp(1.35rem, 1.9vw, 1.7rem) * var(--display-scale));
  color: var(--head-color);
  margin-bottom: 0.6rem;
}
.footer-sub { font-size: 0.95rem; line-height: 1.6; color: var(--cocoa); }
.footer-nav {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 0.75rem clamp(1.5rem, 3vw, 2.75rem);
  margin-top: clamp(2.25rem, 4vw, 3rem);
  font-size: 0.78rem; letter-spacing: 0.2em; text-transform: uppercase;
}
.footer a { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.35em; transition: color 0.3s, text-decoration-color 0.3s; }
.footer a:hover, .footer a[aria-current="page"] { color: var(--rose-deep); text-decoration-color: currentColor; }
.footer .logo--footer { text-decoration: none; }
.footer a:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 4px; }
.footer-bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between;
  gap: 0.75rem 2rem;
  margin-top: clamp(3.5rem, 6vw, 5rem);
  padding-top: 1.5rem;
  border-top: 1px solid rgba(156, 72, 110, 0.14);
  font-size: 0.82rem;
  color: var(--cocoa);
}
.footer-legal { display: flex; flex-wrap: wrap; gap: 0.5rem 1.75rem; }

/* --------------------------------------------------------------------------
   Display-Schrift: Fraunces. Headlines auf hellem Grund in dunklem Rosé.
   -------------------------------------------------------------------------- */

:root { --head-color: var(--rose-deep); --display-weight: 400; --display-scale: 0.95; }

.section h2, .section h3, .offer-title { color: var(--head-color); }

/* Fraunces: leicht weiche Abschlüsse, keine "wonky" Formen */
h1, h2, h3, h4, .offer-title, .next-title, .sched-day, .event-date, .price-val, .contact-mail, .tick b, .menu-links a, .signature-name, .breath-phase {
  font-variation-settings: "SOFT" 30, "WONK" 0;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
  .manifest-statement { grid-column: 1 / span 12; }
  .manifest-copy { grid-column: 6 / span 7; }
  .manifest-figure { grid-column: 1 / span 5; }
  .manifest-aside { grid-column: 7 / span 6; }
}

@media (max-width: 900px) {
  :root { --header-h: 4.5rem; }
  .nav ul, .nav .btn { display: none; }
  .menu-toggle { display: inline-flex; }

  .hero-inner { grid-template-columns: 1fr; }
  .next { justify-self: start; }
  .scroll-cue { display: none; }

  .offers-head { grid-template-columns: 1fr; }
  .offers-head p { justify-self: start; }
  .offer-row { grid-template-columns: minmax(0, 1fr) 4.5rem; grid-template-areas: "title thumb" "text thumb" "meta thumb"; }
  .offer-row .offer-title { grid-area: title; }
  .offer-row .offer-text { grid-area: text; }
  .offer-row .offer-meta { grid-area: meta; }
  .offer-row .offer-thumb { grid-area: thumb; width: 4.5rem; }

  .schedule-intro, .schedule-list { grid-column: 1 / span 12; }
  .sched-row { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .sched-time { grid-column: 2; }

  .events-track {
    overflow-x: auto;
    scroll-snap-type: x proximity;
    padding-bottom: 1rem;
    scrollbar-width: none;
  }
  .events-track::-webkit-scrollbar { display: none; }
  .events-intro { width: min(70vw, 340px); scroll-snap-align: start; }
  .event { width: min(70vw, 320px); scroll-snap-align: start; }
  .events-end { width: 60vw; }

  .about-figure, .about-copy { grid-column: 1 / span 12; }
  .insta-head { grid-template-columns: 1fr; }
  .insta-copy { justify-self: start; }
  .insta-strip { grid-template-columns: repeat(5, 60vw); overflow-x: auto; scrollbar-width: none; }
  .breath-inner { grid-template-columns: 1fr; }
  .grain { display: none; }
  .contact-main, .newsletter { grid-column: 1 / span 12; }
}

@media (max-width: 560px) {
  .manifest-copy, .manifest-figure, .manifest-aside { grid-column: 1 / span 12; }
  .manifest-figure { margin-top: 0; }
  .prices { grid-template-columns: 1fr 1fr; }
  .newsletter form { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Reduced motion
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001s !important; transition-duration: 0.001s !important; }
  .loader, .loader-canvas { display: none; }
  .scroll-cue { display: none; }
  .hero { height: auto; min-height: 100svh; }
  /* Story ohne Pin: drei Blöcke untereinander */
  .story { height: auto; background: var(--cocoa-900); }
  .story .story-text { visibility: visible; }
  .story-frame, .story-glow, .story-light, .gl-stage, .gl-track { display: none; }
  .offers { margin-top: 0; padding-top: var(--section); }
  .orbit circle { stroke-dashoffset: 0; }
  .grain { animation: none; }
  .story-text { height: auto; padding-block: var(--section); display: grid; gap: 3rem; }
  .story-beat { grid-area: auto; opacity: 1 !important; }
  .story-bars { display: none; }
}

/* --------------------------------------------------------------------------
   Hinweis-Toast (Dummy: Buchung und Formulare senden noch nichts)
   -------------------------------------------------------------------------- */
.toast {
  position: fixed;
  left: 50%; bottom: 2rem;
  z-index: 300;
  max-width: min(34rem, calc(100vw - 2rem));
  padding: 1rem 1.4rem;
  background: var(--cocoa);
  color: var(--sand-50);
  font-size: 0.95rem;
  line-height: 1.5;
  box-shadow: 0 18px 40px -18px rgba(46, 36, 32, 0.5);
  opacity: 0;
  transform: translate(-50%, 1rem);
  pointer-events: none;
  transition: opacity 0.4s var(--ease-out), transform 0.5s var(--ease-out);
}
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* --------------------------------------------------------------------------
   A Letter from me – kleines Kuvert als Auslöser, großes Kuvert im Dialog
   -------------------------------------------------------------------------- */
:root {
  /* Kuvert (8. Oktober 2026 neu): mattes Baumwollpapier in Elfenbein-Rosé, Futter mit feinem Goldraster,
     Wachssiegel in Annys Dunkelrosé mit geprägtem Stempel. */
  --env-paper: #F6E9E6;
  --env-paper-2: #EFDCD8;
  --env-edge: rgba(156, 72, 110, 0.16);
  --env-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.2 0 0 0 0 0.15 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  /* Wachs (11. Oktober 2026): gedecktes Dunkelrosé statt Bonbon-Glanz, matt, mit feinem Korn */
  --wax: radial-gradient(circle at 38% 32%, #9A4A6C 0%, #843A5B 40%, #6A2B48 78%, #55203A 100%);
  --wax-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0.4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --env-liner: repeating-linear-gradient(45deg, rgba(201, 162, 92, 0.22) 0 1px, transparent 1px 9px),
               repeating-linear-gradient(-45deg, rgba(201, 162, 92, 0.22) 0 1px, transparent 1px 9px),
               linear-gradient(160deg, #F4D9E0, #E9C3CF);
}

.letter-mini {
  display: inline-grid;
  justify-items: center;
  gap: 0.7rem;
  padding: 0.75rem;
  border: 0;
  background: none;
  color: var(--cocoa);
  font: inherit;
  cursor: pointer;
}
/* kleines Kuvert: Papier mit Korn, feine Kanten, Lasche als zweite Lage mit Lichtkante, Wachstropfen */
.letter-mini-env {
  position: relative;
  width: 5.4rem; height: 3.6rem;
  background: var(--env-grain), linear-gradient(170deg, #FBF2EF, var(--env-paper) 55%, var(--env-paper-2));
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px var(--env-edge), 0 1px 1px rgba(74, 58, 49, 0.06), 0 16px 28px -16px rgba(126, 54, 88, 0.55);
  transition: transform 0.7s var(--ease-out);
}
.letter-mini-env::before {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; height: 60%;
  background: linear-gradient(180deg, #F8EDEA, #EBD3D0);
  clip-path: polygon(0 0, 100% 0, 54% 94%, 50% 100%, 46% 94%);
  filter: drop-shadow(0 1px 0 rgba(156, 72, 110, 0.18));
}
.letter-mini-env::after {
  content: "";
  position: absolute; left: 50%; top: 60%;
  width: 1.15rem; height: 1.15rem;
  margin: -0.58rem 0 0 -0.58rem;
  border-radius: 47% 53% 51% 49% / 52% 47% 53% 48%;
  background: var(--wax);
  box-shadow: inset 0 -2px 3px rgba(60, 20, 40, 0.45), inset 0 1px 2px rgba(255, 220, 235, 0.35), 0 2px 4px rgba(94, 36, 64, 0.35);
}
.letter-mini-label { font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--head-color); }
.letter-mini:hover .letter-mini-env { transform: translateY(-4px) rotate(-3deg); }
.letter-mini:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 4px; }
/* In der Navigation: direkt rechts neben "Platz buchen", in der Zeile, ohne Faden (11. Oktober 2026).
   Etwas näher am Button als der übliche Abstand, damit beide als Paar lesen. */
.nav-letter {
  position: relative;
  flex: none;
  width: 3rem; height: 3rem;
  margin-left: -0.6rem;
  padding: 0; border: 0;
  background: none;
  cursor: pointer;
}
.nav-letter-hang {
  position: absolute;
  left: 0; top: 0.5rem;
  width: 3rem; height: 2rem;
}
.nav-letter .letter-mini-env {
  display: block;
  width: 100%; height: 100%;
  border-radius: 2px;
  /* feine Kante, sonst verschwimmt das helle Papier auf Sand */
  box-shadow: inset 0 0 0 1px rgba(156, 72, 110, 0.24), 0 1px 1px rgba(74, 58, 49, 0.08), 0 12px 20px -10px rgba(126, 54, 88, 0.6);
  transition: scale 0.5s var(--ease-out), rotate 0.6s var(--ease-out);
}
.nav-letter .letter-mini-env::after { width: 0.74rem; height: 0.74rem; margin: -0.37rem 0 0 -0.37rem; }
/* Beim Darüberfahren: kleines Papierschild mittig unter dem Kuvert, zwei Zeilen (schmal genug für den rechten Rand) */
.nav-letter-label {
  position: absolute;
  left: 50%; top: 2.7rem;
  display: grid;
  justify-items: center;
  padding: 0.55rem 0.7rem 0.45rem;
  white-space: nowrap;
  font-size: 0.6rem;
  line-height: 1.35;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--head-color);
  background: var(--env-grain), linear-gradient(175deg, #FBF3F0, var(--env-paper));
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px var(--env-edge), 0 10px 18px -10px rgba(126, 54, 88, 0.5);
  opacity: 0;
  translate: -50% -6px;
  rotate: -2deg;
  pointer-events: none;
  transition: opacity 0.4s var(--ease-out), translate 0.6s var(--ease-out), rotate 0.8s var(--ease-out);
}
.nav-letter-label b { font-weight: 400; padding-left: 0.2em; }
.nav-letter:hover .letter-mini-env { scale: 1.08; rotate: -4deg; }
.nav-letter:hover .nav-letter-label,
.nav-letter:focus-visible .nav-letter-label { opacity: 1; translate: -50% 0; rotate: 0deg; }
.nav-letter:focus-visible { outline: none; }
.nav-letter:focus-visible .letter-mini-env { outline: 2px solid var(--rose-deep); outline-offset: 4px; }

.letter {
  position: fixed; inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
}
.letter[hidden] { display: none; }
.letter-backdrop {
  position: absolute; inset: 0;
  background: rgba(248, 243, 239, 0.84);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.letter-close {
  position: absolute; top: 1.5rem; right: 2rem; z-index: 3;
  width: 3rem; height: 3rem;
  border: 1px solid var(--sand-200);
  border-radius: 50%;
  background: rgba(248, 243, 239, 0.8);
  color: var(--cocoa);
  font-size: 1.6rem; line-height: 1;
  cursor: pointer;
}
.letter-close:focus-visible, .env-seal:focus-visible, .letter-read:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 4px; }

/* Kuvert: Rückwand mit Futter, Brief, Tasche vorn, Lasche oben (klappt in 3D auf, innen Futter), Wachssiegel an
   der Laschenspitze (bricht in zwei Hälften). Papier mit feinem Korn, Kanten als Haarlinien. */
.env {
  position: relative; z-index: 1;
  width: min(580px, 82vw);
  aspect-ratio: 1.5;
  /* kräftige Perspektive mit Fluchtpunkt am Scharnier: die Lasche kommt beim Aufklappen sichtbar auf einen zu
     (bei 1800px wirkte es wie ein flaches Dreieck, das sich staucht und nach oben wächst; 11. Oktober 2026) */
  perspective: 900px;
  perspective-origin: 50% 20%;
}
.env-back, .env-front, .env-paper, .env-flap { position: absolute; }
.env-back {
  inset: 0;
  border-radius: 6px;
  background: var(--env-liner);
  box-shadow: 0 2px 3px rgba(74, 58, 49, 0.06), 0 50px 80px -40px rgba(126, 54, 88, 0.6);
}
.env-paper {
  left: 5.5%; right: 5.5%; top: 6%; bottom: 6%;
  z-index: 1;
  border-radius: 3px;
  background: var(--env-grain), #FDFAF6;
  padding: 9% 10%;
  display: grid; align-content: start; gap: 8%;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 8px 20px -12px rgba(74, 58, 49, 0.4);
}
.env-paper-kicker { font-size: 0.62rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--taupe); margin-bottom: 2%; }
.env-front {
  inset: 0; z-index: 2;
  border-radius: 6px;
  background: var(--env-grain), linear-gradient(176deg, #F8EEEB, var(--env-paper) 45%, var(--env-paper-2));
  clip-path: polygon(0 0, 50% 55%, 100% 0, 100% 100%, 0 100%);
  box-shadow: inset 0 0 0 1px var(--env-edge);
}
/* Faltkanten der Tasche: zwei Haarlinien von den unteren Ecken zur Mitte */
.env-front::after {
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(to top right, transparent calc(50% - 0.6px), rgba(156, 72, 110, 0.14) 50%, transparent calc(50% + 0.6px)) left bottom / 50% 62% no-repeat,
    linear-gradient(to top left, transparent calc(50% - 0.6px), rgba(156, 72, 110, 0.14) 50%, transparent calc(50% + 0.6px)) right bottom / 50% 62% no-repeat;
}
.env-flap {
  left: 0; right: 0; top: 0; height: 57%;
  z-index: 3;
  transform-origin: 50% 0;
  transform-style: preserve-3d;
}
.env-flap.is-behind { z-index: 0; }
.env-flap-face, .env-flap-back {
  position: absolute; inset: 0;
  clip-path: polygon(0 0, 100% 0, 53.5% 95%, 50% 100%, 46.5% 95%);
  backface-visibility: hidden;
}
.env-flap-face {
  background: var(--env-grain), linear-gradient(180deg, #FBF3F0, #EEDAD6);
  display: grid; justify-items: center; padding-top: 10%;
}
/* Lichtkante an der Laschenunterseite */
.env-flap-face::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgba(126, 54, 88, 0.12));
}
/* Innenseite: ist um 180° gedreht und klappt mit der Lasche noch einmal um. Ihr Zuschnitt muss deshalb gespiegelt
   sein (Spitze oben), sonst hängt das offene Dreieck nach unten statt nach oben aufzugehen (11. Oktober 2026). */
.env-flap-back {
  background: var(--env-liner);
  transform: rotateX(180deg);
  clip-path: polygon(0 100%, 100% 100%, 53.5% 5%, 50% 0, 46.5% 5%);
}
/* Licht beim Klappen: main.js setzt --turn (0 = zu, 1 = ganz offen). Außenseite dunkelt beim Wegdrehen ab,
   das Futter ist erst im Schatten und hellt sich beim Aufrichten auf. */
.env-flap-face::before, .env-flap-back::before {
  content: "";
  position: absolute; inset: 0; z-index: 2;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(74, 32, 52, 0.05), rgba(74, 32, 52, 0.4));
}
.env-flap-face::before { opacity: calc(min(1, var(--turn, 0) * 2) * 0.9); }
.env-flap-back::before { opacity: calc((1 - max(0, var(--turn, 0) * 2 - 1)) * 0.9); }
.env-label {
  position: relative; z-index: 1;
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: clamp(0.8rem, 1.5vw, 1rem);
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--head-color);
  font-variation-settings: "SOFT" 30, "WONK" 0;
}
/* Wachssiegel (11. Oktober 2026 realistischer, vorher "kitschig"): zerlaufener, unregelmäßiger Wachsrand
   (SVG-Verschiebung #wax-edge, nur auf dem Rand), darin die flach eingedrückte Stempelfläche mit aufgeworfener
   Lippe und der Stempel als Relief (Licht von oben links). Matt mit Korn, knapper Schatten, weil Wachs flach liegt.
   Zwei Hälften für den Bruch. */
.env-seal {
  position: absolute; left: 50%; top: 57%; z-index: 4;
  width: 17%; aspect-ratio: 1;
  transform: translate(-50%, -50%);
  padding: 0; border: 0;
  background: none;
  border-radius: 50%;
  cursor: pointer;
  filter: drop-shadow(0 1px 1px rgba(50, 15, 32, 0.45)) drop-shadow(0 5px 7px rgba(60, 20, 40, 0.22));
  transition: filter 0.4s var(--ease-out), scale 0.5s var(--ease-out);
}
.env-seal:hover { filter: drop-shadow(0 2px 2px rgba(50, 15, 32, 0.45)) drop-shadow(0 9px 12px rgba(60, 20, 40, 0.25)); scale: 1.03; }
.env-seal-half {
  position: absolute; inset: 0;
  display: grid; place-items: center;
}
/* Wachsrand: zerlaufen, Dicke an den Kanten (unten dunkler), matter Glanz oben links */
.env-seal-half::before {
  content: "";
  position: absolute; inset: 2%;
  border-radius: 49% 51% 46% 54% / 53% 47% 52% 48%;
  background:
    var(--wax-grain),
    radial-gradient(ellipse 36% 22% at 30% 20%, rgba(255, 226, 236, 0.2), transparent 70%),
    var(--wax);
  background-blend-mode: soft-light, normal, normal;
  box-shadow:
    inset 0 1px 1px rgba(255, 222, 234, 0.28),
    inset 0 -2px 3px rgba(35, 8, 22, 0.5),
    inset 0 0 0 1px rgba(60, 18, 38, 0.25);
  filter: url(#wax-edge);
}
/* Stempelfläche: liegt tiefer (Schatten innen oben links), ringsum die vom Stempel hochgedrückte Lippe */
.env-seal-face {
  position: relative;
  width: 72%; aspect-ratio: 1;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--wax-grain), radial-gradient(circle at 42% 38%, #85395B, #6E2D4B 70%, #632841);
  background-blend-mode: soft-light, normal;
  box-shadow:
    inset 2px 3px 4px rgba(35, 8, 22, 0.55),
    inset -1px -2px 2px rgba(255, 214, 230, 0.16),
    0 0 0 1.5px rgba(166, 86, 121, 0.35),
    -1px -1px 2px rgba(40, 10, 25, 0.22),
    1px 1px 1px rgba(255, 220, 235, 0.14);
}
/* Bruchlinie im Zickzack */
.env-seal-half--l { clip-path: polygon(0 0, 52% 0, 46% 22%, 55% 41%, 45% 60%, 54% 79%, 48% 100%, 0 100%); }
.env-seal-half--r { clip-path: polygon(52% 0, 100% 0, 100% 100%, 48% 100%, 54% 79%, 45% 60%, 55% 41%, 46% 22%); }
/* Relief: der Annyma-Stempel als Maske (dieselbe Data-URI wie .seal). Der Schein liegt auf dem Elternteil,
   weil filter am maskierten Element selbst mit weggeschnitten würde. */
.env-seal-emboss {
  width: 80%; height: 80%;
  display: grid; place-items: center;
  filter: drop-shadow(-0.6px -0.6px 0 rgba(255, 215, 232, 0.32)) drop-shadow(0.8px 1px 0.4px rgba(30, 6, 18, 0.6));
}
.env-seal-mark.seal {
  width: 100%; height: 100%;
  background: #8C3F62;
  opacity: 1;   /* .seal ist sonst als Wasserzeichen fast durchsichtig */
}
.env-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.env-hint { position: absolute; left: 0; right: 0; top: calc(100% + 1.75rem); margin: 0; text-align: center; font-size: 0.85rem; letter-spacing: 0.06em; color: var(--taupe); }

/* Der Brief: dasselbe Papier wie im Kuvert (main.js lässt ihn aus dem Kuvert heraus auf Lesegröße wachsen,
   dabei verschwinden die Faltkanten, dann schreibt sich der Text Absatz für Absatz ein) */
.letter-read {
  position: absolute; z-index: 2;
  width: min(680px, 92vw);
  max-height: 86vh;
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 4px;
  /* nur Papierkorn, scrollt mit dem Text (keine Faltkanten: am 8. Oktober 2026 verworfen) */
  background:
    var(--env-grain), #FDFAF6;
  background-attachment: local;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 2px 4px rgba(74, 58, 49, 0.06), 0 60px 100px -45px rgba(74, 58, 49, 0.5);
  opacity: 0;
  pointer-events: none;
}
.letter.is-reading .letter-read { opacity: 1; pointer-events: auto; }
.letter.is-reading .env { pointer-events: none; }
.letter-read-inner { position: relative; padding: clamp(2.75rem, 6vw, 4.75rem) clamp(1.75rem, 6vw, 4.75rem); }
.letter-read p { font-size: 1.08rem; line-height: 1.8; margin-bottom: 1.1em; }
.letter-kicker { font-size: 0.78rem; letter-spacing: 0.32em; text-transform: uppercase; color: var(--taupe); margin-bottom: 2.75rem; }
.letter-read .lt-em {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: calc(1.4rem * var(--display-scale));
  line-height: 1.35;
  color: var(--head-color);
  font-variation-settings: "SOFT" 30, "WONK" 0;
  margin-block: 1.6em;
}
/* Annys echte Unterschrift "Deine Anny ♡" (Foto freigestellt, Dunkelrosé; 25. Oktober 2026 statt "Von Herzen, Anny") */
.letter-sign { margin-top: 2.5rem; }
.letter-sign img { display: block; width: 14rem; height: auto; margin-left: -0.6rem; }
@media (prefers-reduced-motion: reduce) {
  .letter.is-reading .env { display: none; }
}

/* Manifest: Abschluss der Vision (Annys Worte) */
.manifest-sign {
  margin: 0;
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: calc(clamp(1.8rem, 2.9vw, 3rem) * var(--display-scale));
  line-height: 1.12;
  color: var(--head-color);
  font-variation-settings: "SOFT" 30, "WONK" 0;
}
/* linksbündig; vor der kräftigen Zeile etwas mehr Abstand */
.manifest-sign .ms-line { display: block; }
.manifest-sign .ms-line:nth-child(3) { margin-top: 0.55em; }


/* --------------------------------------------------------------------------
   Stimmen (Google-Rezensionen, fest eingebaut, ruhiger Slider)
   -------------------------------------------------------------------------- */
.voices .grid { align-items: center; row-gap: 3rem; }
.voices-head { grid-column: 1 / span 4; }
.voices-kicker { font-size: 0.9rem; letter-spacing: 0.04em; color: var(--taupe); margin-bottom: 1.25rem; }
.voices-head h2 { font-size: calc(clamp(2.2rem, 4.2vw, 3.8rem) * var(--display-scale)); margin-bottom: 1.25rem; }
.reviews { grid-column: 6 / span 7; position: relative; }
.reviews:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 8px; }
.reviews-track { display: grid; }
.review {
  grid-area: 1 / 1;
  /* jede Rezension mittig in der Spur (Höhe = längste), damit kurze wie lange auf Höhe des Stimmen-Blocks stehen */
  align-self: center;
  margin: 0;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.9s var(--ease-out), transform 1.1s var(--ease-out);
  pointer-events: none;
}
.review.is-active { opacity: 1; transform: none; pointer-events: auto; }
.review-stars { color: var(--rose-deep); letter-spacing: 0.25em; margin-bottom: 1.5rem; }
.review blockquote {
  margin: 0 0 1.5rem;
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-size: calc(clamp(1.15rem, 1.6vw, 1.5rem) * var(--display-scale));
  line-height: 1.4;
  color: #6A5A51;          /* dezenter als Cocoa (warmes Dunkelgrau, ~6:1 auf Sand) */
  font-variation-settings: "SOFT" 30, "WONK" 0;
}
.review figcaption { color: var(--taupe); font-size: 0.95rem; }
/* Längere Rezensionen kleiner, lange eingeklappt auf acht Zeilen (main.js setzt die Klassen nach Länge) */
.review--mid blockquote { font-size: calc(clamp(1.05rem, 1.3vw, 1.25rem) * var(--display-scale)); line-height: 1.5; }
.review--long blockquote {
  font-size: calc(clamp(1rem, 1.1vw, 1.1rem) * var(--display-scale));
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
  overflow: hidden;
}
.review--long.is-open blockquote { display: block; -webkit-line-clamp: unset; overflow: visible; }
.review-more {
  margin: -0.5rem 0 1.5rem;
  padding: 0 0 0.15em;
  border: 0;
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
  color: var(--rose-deep);
  font: inherit;
  font-size: 0.95rem;
  cursor: pointer;
}
.review-more:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 3px; }
/* Navigation aus dem Fluss: so ist die Spur allein mittig zum Stimmen-Block, die Pfeile stehen fest darunter */
.reviews-nav { position: absolute; left: 0; top: 100%; display: flex; align-items: center; gap: 1.5rem; margin-top: 2.5rem; }
.reviews-prev, .reviews-next {
  width: 3rem; height: 3rem;
  border: 1px solid var(--sand-200); border-radius: 50%;
  background: transparent; color: var(--cocoa); font: inherit; cursor: pointer;
  transition: border-color 0.4s var(--ease-out);
}
.reviews-prev:hover, .reviews-next:hover { border-color: var(--rose-deep); }
.reviews-dots { display: flex; gap: 0.6rem; }
.reviews-dots button {
  width: 0.55rem; height: 0.55rem; padding: 0;
  border: 1px solid var(--rose-deep); border-radius: 50%;
  background: transparent; cursor: pointer;
}
.reviews-dots button[aria-current="true"] { background: var(--rose-deep); }
.reviews-count { min-width: 4.5em; text-align: center; font-size: 0.85rem; letter-spacing: 0.16em; color: var(--taupe); font-variant-numeric: tabular-nums; }
.reviews-prev:focus-visible, .reviews-next:focus-visible, .reviews-dots button:focus-visible { outline: 2px solid var(--rose-deep); outline-offset: 3px; }
@media (max-width: 900px) {
  .voices-head, .reviews { grid-column: 1 / span 12; }
  .reviews-nav { position: static; }
}

/* --------------------------------------------------------------------------
   Seitenübergang. Die weiche Kreismaske ist zugleich die Ladeanzeige:
   - Sand (.pt-sand) mit radialer Maske (--hole, --x, --y), eigenes Korn
   - Aura (.pt-aura) in der Mitte: zwei weich verwischte, gegenläufig rotierende Farbringe; beim Laden
     statt ihrer ein unsymmetrischer Farbnebel mit funkelnden Sternen. Alles nur transform/opacity per
     CSS-Animation: läuft auf der Grafikkarte weiter, auch wenn die neue Seite gerade lädt.
   - Takt über --pt-phase (negative Verzögerung aus der Uhrzeit): alte und neue Seite sind im Gleichschritt.
   Beim Öffnen wird die Aura zum schimmernden Rand der Iris (main.js skaliert sie mit), beim Verlassen
   zieht sie sich auf die Mitte zusammen. Ankunft: das Inline-Skript im <head> baut dieselbe Fläche
   schon vor dem ersten Bild (Markup dort und in main.js identisch halten).
   -------------------------------------------------------------------------- */
.pt {
  position: fixed;
  inset: 0;
  z-index: 400;
  pointer-events: none;
  --hole: 0%;
  --x: 50%;
  --y: 50%;
  --pt-phase: 0ms;
}
/* Vorab gebaute Fläche (main.js, sobald die Seite ruht): unsichtbar und ohne laufende Animationen,
   damit beim Klick nichts erst gebaut werden muss */
.pt.is-parked { visibility: hidden; }
.pt.is-parked * { animation-play-state: paused; }
.pt-sand {
  position: absolute;
  inset: 0;
  background: var(--sand-50);
  -webkit-mask-image: radial-gradient(circle at var(--x) var(--y), transparent calc(var(--hole) - 14%), #000 var(--hole));
  mask-image: radial-gradient(circle at var(--x) var(--y), transparent calc(var(--hole) - 14%), #000 var(--hole));
}
.pt-sand::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.07;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.pt-aura {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 44vmin;
  height: 44vmin;
  margin: -22vmin 0 0 -22vmin;
  /* Ruhezustand = Scheibengröße (main.js: DISC, weiches Maximum ergibt ~0.28; gleich halten) */
  transform: scale(0.279);
  will-change: transform, opacity;
  pointer-events: none;
}
.pt-breath {
  position: absolute;
  inset: 0;
  animation: pt-breathe 2.6s ease-in-out infinite;
  animation-delay: var(--pt-phase);
}
.pt-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  /* Farbwolken rund um den Ring statt Farbkreis: als Ring genauso schillernd, als Scheibe ohne Mittelpunkt */
  /* Farben (8. Oktober 2026): Grund Beere, Wolken in CI-Dunkelrosé #9C486E + Pflaume, helles Rosa als
     Glanz (Aprikose verworfen); helle Wolken bleiben drin, sonst wirkt der Weichzeichner auf Sand wie ein Schmutzfleck.
     Vorher (heller): Grund #EEA6C6 / #EDA9C6, Wolken pastell. */
  background:
    radial-gradient(circle at 50% 8%, #F7D3E3 0%, rgba(247, 211, 227, 0) 40%),
    radial-gradient(circle at 88% 34%, #9C486E 0%, rgba(156, 72, 110, 0) 42%),
    radial-gradient(circle at 80% 80%, #EDB3CC 0%, rgba(237, 179, 204, 0) 36%),
    radial-gradient(circle at 42% 94%, #7E3658 0%, rgba(126, 54, 88, 0) 40%),
    radial-gradient(circle at 9% 62%, #EFA9C8 0%, rgba(239, 169, 200, 0) 40%),
    radial-gradient(circle at 18% 20%, #B0517B 0%, rgba(176, 81, 123, 0) 38%),
    #BE6A92;
  -webkit-mask-image: radial-gradient(closest-side, transparent 56%, #000 70%, #000 79%, transparent 97%);
  mask-image: radial-gradient(closest-side, transparent 56%, #000 70%, #000 79%, transparent 97%);
  filter: blur(12px);
  opacity: 0.95;
  animation: pt-spin 9s linear infinite;
  animation-delay: var(--pt-phase);
}
.pt-ring--2 {
  inset: -9%;
  background:
    /* Schimmer-Rest: eine kleine Aprikose-Wolke nur im äußeren, weichen Ring (Zeile löschen = reines Rosa) */
    radial-gradient(circle at 50% 5%, rgba(236, 184, 148, 0.85) 0%, rgba(236, 184, 148, 0) 28%),
    radial-gradient(circle at 84% 22%, #F5CFDF 0%, rgba(245, 207, 223, 0) 42%),
    radial-gradient(circle at 86% 76%, #6A2B49 0%, rgba(106, 43, 73, 0) 40%),
    radial-gradient(circle at 26% 88%, #E899BC 0%, rgba(232, 153, 188, 0) 42%),
    radial-gradient(circle at 12% 30%, #E4B3C6 0%, rgba(228, 179, 198, 0) 42%),
    #B4628A;
  filter: blur(26px);
  opacity: 0.55;
  animation-duration: 15s;
  animation-direction: reverse;
}
/* Ring ↔ Nebel (26. Oktober 2026, statt Scheibe mit Stempel: Anny wollte etwas Unsymmetrisches): Der Ring
   (.pt-rings) öffnet und schließt die Iris wie bisher; ist er gelandet, blüht der Nebel (.pt-nebula) auf und
   der Ring geht darin unter (main.js: "ring" und "fog").
   Nur opacity/transform, KEINE animierte Maske (die zwang die verwischten Ringe pro Bild neu zu zeichnen).
   Grundzustand = Nebel ohne Ring, weil die vorab gebaute Ladefläche so beginnt. */
.pt-rings { position: absolute; inset: 0; opacity: 0; will-change: opacity; }
/* Nebel: Farbwolken aus der Ringpalette, jede anders geformt, gedreht und mit eigenem Takt treibend, dadurch
   nie symmetrisch. Liegt in der Aura (Ruhe-Scale ~0.28) und gleicht das mit scale(4) aus, Blur und Größen
   gelten damit etwa 1:1. Größer (27. Oktober 2026): inset −15 % statt 0, sichtbar ~64 statt ~49 vmin; über die
   Fläche statt den Scale, damit Sterne und Blur gleich fein bleiben. Helle Wolken umgeben die dunklen, sonst
   wirkt das Dunkle auf Sand wie ein Fleck. */
.pt-nebula { position: absolute; inset: -15%; transform: scale(4); will-change: opacity; }
.pt-cloud {
  position: absolute;
  border-radius: 50%;
  will-change: transform;
  animation: pt-drift-a 11s ease-in-out infinite;
  animation-delay: var(--pt-phase);
}
.pt-cloud--1 {   /* heller Schleier, weit und schräg */
  left: -12%; top: 8%; width: 124%; height: 78%; rotate: -14deg;
  background: radial-gradient(closest-side, rgba(244, 200, 219, 0.85), rgba(244, 200, 219, 0) 100%);
  filter: blur(36px);
  animation-duration: 14s;
}
.pt-cloud--2 {   /* Körper in Rosa, nach rechts oben versetzt */
  left: 24%; top: 20%; width: 60%; height: 44%; rotate: 24deg;
  background: radial-gradient(closest-side, #E7A0C1, rgba(190, 106, 146, 0.7) 45%, rgba(190, 106, 146, 0) 100%);
  filter: blur(26px);
  animation-name: pt-drift-b; animation-duration: 9s;
}
.pt-cloud--3 {   /* Band in Pflaume/Dunkelrosé, schräg durch den Nebel */
  left: 6%; top: 46%; width: 80%; height: 15%; rotate: -21deg;
  background: radial-gradient(closest-side, rgba(126, 54, 88, 0.75), rgba(156, 72, 110, 0.4) 50%, rgba(156, 72, 110, 0) 100%);
  filter: blur(18px);
  animation-name: pt-drift-c; animation-duration: 12s; animation-direction: reverse;
}
.pt-cloud--4 {   /* heller Glanz im Inneren */
  left: 46%; top: 27%; width: 30%; height: 19%; rotate: 10deg;
  background: radial-gradient(closest-side, #FCE8F0, rgba(247, 211, 227, 0) 100%);
  filter: blur(14px);
  animation-name: pt-drift-c; animation-duration: 7s;
}
.pt-cloud--5 {   /* dunkler Knoten, links unten */
  left: 18%; top: 52%; width: 22%; height: 15%; rotate: 40deg;
  background: radial-gradient(closest-side, rgba(106, 43, 73, 0.6), rgba(106, 43, 73, 0) 100%);
  filter: blur(16px);
  animation-name: pt-drift-b; animation-duration: 10s; animation-direction: reverse;
}
.pt-cloud--6 {   /* Hauch Aprikose rechts unten (Schimmer-Rest wie im äußeren Ring) */
  left: 58%; top: 50%; width: 38%; height: 22%; rotate: -8deg;
  background: radial-gradient(closest-side, rgba(236, 184, 148, 0.55), rgba(236, 184, 148, 0) 100%);
  filter: blur(24px);
  animation-duration: 13s;
}
.pt-cloud--7 {   /* dünner Beeren-Schleier nach links oben */
  left: 4%; top: 12%; width: 44%; height: 24%; rotate: 22deg;
  background: radial-gradient(closest-side, rgba(176, 81, 123, 0.32), rgba(176, 81, 123, 0) 100%);
  filter: blur(26px);
  animation-name: pt-drift-b; animation-duration: 15s;
}
@keyframes pt-drift-a { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(5%, -6%) scale(1.12, 0.9); } }
@keyframes pt-drift-b { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-7%, 5%) scale(0.88, 1.14); } }
@keyframes pt-drift-c { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(6%, 4%) scale(1.1); } 66% { transform: translate(-4%, -5%) scale(0.92, 1.06); } }
/* Sterne: unregelmäßig verteilt, funkeln versetzt (nach den sieben Wolken: nth-child 8–13) */
.pt-star {
  position: absolute;
  width: 5px; height: 5px;
  margin: -2.5px 0 0 -2.5px;
  border-radius: 50%;
  background: #FFF6EC;
  box-shadow: 0 0 6px 2px rgba(255, 240, 246, 0.85), 0 0 18px 6px rgba(237, 158, 194, 0.5);
  animation: pt-twinkle 3.2s ease-in-out infinite;
  animation-delay: var(--pt-phase);
  will-change: transform, opacity;
}
.pt-star:nth-child(8)  { left: 36%; top: 30%; }
.pt-star:nth-child(9)  { left: 66%; top: 40%; width: 4px; height: 4px; animation-duration: 2.4s; animation-delay: calc(var(--pt-phase) - 0.9s); }
.pt-star:nth-child(10) { left: 47%; top: 62%; animation-duration: 4.1s; animation-delay: calc(var(--pt-phase) - 2.1s); }
.pt-star:nth-child(11) { left: 19%; top: 47%; width: 3px; height: 3px; animation-duration: 2.9s; animation-delay: calc(var(--pt-phase) - 1.4s); }
.pt-star:nth-child(12) { left: 79%; top: 58%; width: 3px; height: 3px; animation-duration: 3.6s; animation-delay: calc(var(--pt-phase) - 0.4s); }
.pt-star:nth-child(13) { left: 57%; top: 22%; width: 4px; height: 4px; animation-duration: 2.7s; animation-delay: calc(var(--pt-phase) - 1.8s); }
@keyframes pt-twinkle { 0%, 100% { opacity: 0.2; transform: scale(0.55); } 50% { opacity: 1; transform: scale(1); } }
@keyframes pt-spin { to { transform: rotate(1turn); } }
@keyframes pt-breathe { 0%, 100% { transform: scale(0.93); } 50% { transform: scale(1.05); } }

/* --------------------------------------------------------------------------
   Formulare (8. Oktober 2026): weiche, weiße Felder statt eckiger Shop-Kästen. Eine Sprache für alle
   Formulare der Seite: Kontakt, Newsletter (Start, Termine, Kontakt), Ticket-Box der Termin-Seiten.
   Felder = weiße "Bubbles" mit großem Radius und einem Hauch Schatten; Fokus = Rosé-Schein statt Rahmen.
   Newsletter = eine weiße Pille mit Feld und Button darin. Buttons in Formularen ebenfalls rund.
   -------------------------------------------------------------------------- */
:root {
  --field-bg: #FFFDFB;
  --field-radius: 1.1rem;
  --field-line: rgba(164, 138, 122, 0.2);
  --field-shadow: 0 1px 2px rgba(74, 58, 49, 0.04), 0 10px 28px -16px rgba(74, 58, 49, 0.28);
  --field-focus: 0 0 0 4px rgba(237, 158, 194, 0.32), 0 10px 28px -16px rgba(156, 72, 110, 0.4);
}
.kt-field input, .kt-field select, .kt-field textarea {
  width: 100%;
  font: inherit;
  color: var(--cocoa);
  padding: 1rem 1.25rem;
  background: var(--field-bg);
  border: 1px solid var(--field-line);
  border-radius: var(--field-radius);
  box-shadow: var(--field-shadow);
  transition: border-color 0.3s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.kt-field textarea { resize: vertical; min-height: 10rem; line-height: 1.55; }
.kt-field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 3rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5l6 6 6-6' fill='none' stroke='%239C486E' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
}
.kt-field input:hover, .kt-field select:hover, .kt-field textarea:hover { border-color: rgba(156, 72, 110, 0.3); }
.kt-field input:focus, .kt-field select:focus, .kt-field textarea:focus { outline: none; border-color: rgba(156, 72, 110, 0.45); box-shadow: var(--field-focus); }
.kt-field label { padding-left: 0.4rem; }
/* Checkbox als kleines rundes Kästchen mit Häkchen in Rosé */
.kt-check input {
  appearance: none;
  -webkit-appearance: none;
  width: 1.25rem; height: 1.25rem;
  margin: 0.15rem 0 0;
  border: 1px solid rgba(156, 72, 110, 0.4);
  border-radius: 0.4rem;
  background: var(--field-bg);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background-color 0.25s var(--ease-out), border-color 0.25s var(--ease-out);
}
.kt-check input::after {
  content: "";
  width: 0.35rem; height: 0.65rem;
  border: solid #fff;
  border-width: 0 1.6px 1.6px 0;
  transform: translateY(-1px) rotate(45deg) scale(0);
  transition: transform 0.25s var(--ease-out);
}
.kt-check input:checked { background: var(--rose-deep); border-color: var(--rose-deep); }
.kt-check input:checked::after { transform: translateY(-1px) rotate(45deg) scale(1); }
.kt-check input:focus-visible { outline: none; box-shadow: var(--field-focus); }
/* Newsletter: Feld und Button in einer weißen Pille */
.kt-nl, .nl-form, .newsletter form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem;
  background: var(--field-bg);
  border: 1px solid var(--field-line);
  border-radius: 999px;
  box-shadow: var(--field-shadow);
  transition: border-color 0.3s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.kt-nl:focus-within, .nl-form:focus-within, .newsletter form:focus-within { border-color: rgba(156, 72, 110, 0.45); box-shadow: var(--field-focus); }
.kt-nl input, .nl-form input, .newsletter input {
  flex: 1;
  min-width: 0;
  font: inherit;
  color: var(--cocoa);
  padding: 0.7rem 0 0.7rem 1.1rem;
  border: 0;
  background: transparent;
  outline: none;
}
.kt-nl input:focus-visible, .nl-form input:focus-visible, .newsletter input:focus-visible { outline: none; }
.kt-nl input::placeholder, .nl-form input::placeholder, .newsletter input::placeholder { color: var(--taupe); }
form .btn { border-radius: 999px; }
.kt-nl .btn, .nl-form .btn, .newsletter form .btn { min-height: 2.9rem; padding-inline: 1.6em; flex: none; }
.newsletter form .btn { background: var(--cocoa); border-color: var(--cocoa); color: var(--sand-50); }
.newsletter form .btn:hover { background: var(--rose-deep); border-color: var(--rose-deep); color: #fff; }
/* Ticket-Box: weiße Karte mit weichen Ecken, Optionen und Stepper als runde Felder darin */
.ep-ticket {
  background: var(--field-bg);
  border: 1px solid var(--field-line);
  border-radius: 1.6rem;
  box-shadow: 0 2px 4px rgba(74, 58, 49, 0.04), 0 24px 60px -30px rgba(74, 58, 49, 0.35);
}
.ep-opt {
  border: 1px solid var(--field-line);
  border-radius: var(--field-radius);
  background: var(--sand-50);
  transition: border-color 0.3s var(--ease-out), background-color 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out);
}
.ep-opt:hover { border-color: rgba(156, 72, 110, 0.3); }
.ep-opt:has(input:checked) { border-color: rgba(156, 72, 110, 0.55); background: #FDF5F8; box-shadow: 0 0 0 3px rgba(237, 158, 194, 0.22); }
.ep-stepper { border: 1px solid var(--field-line); border-radius: 999px; background: var(--sand-50); overflow: hidden; }
.ep-stepper button { border-radius: 999px; }
.ep-stepper button:hover { background: rgba(237, 158, 194, 0.18); }


/* --------------------------------------------------------------------------
   Freebie zur Newsletter-Anmeldung (11. Oktober 2026): die zwei echten Seiten des PDFs "Dein 7-Minuten-Seelenritual"
   als kleine, versetzte Blätter, daneben Titel und ein Satz. Weiße, runde Karte wie die Formulare. Beim Darüberfahren
   fächern die Blätter leicht auf. Bilder aus dem PDF gerendert (assets/img/freebie-1/2.jpg).
   -------------------------------------------------------------------------- */
.freebie {
  display: flex; align-items: center;
  gap: clamp(1.5rem, 2.5vw, 2.25rem);
  max-width: 38rem;   /* breit genug für zwei Zeilen Text (sonst steht "Postfach." allein) */
  margin: 1.75rem auto 1.25rem;
  padding: 1.1rem 1.5rem 1.1rem 1.4rem;
  text-align: left;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 1.5rem;
  box-shadow: 0 1px 2px rgba(74, 58, 49, 0.05), 0 18px 40px -26px rgba(126, 54, 88, 0.45);
}
/* Startseite: schmale Spalte, deshalb kleinere Blätter und etwas weniger Abstand, damit der Text auf zwei Zeilen passt */
.newsletter .freebie { margin-inline: 0; gap: 1.25rem; padding-inline: 1.1rem 1.2rem; }
.newsletter .freebie-sheets { width: 3.9rem; margin-right: 0.45rem; }
.newsletter .freebie-text { font-size: 0.86rem; }
.newsletter .freebie p { max-width: none; }   /* .newsletter p begrenzt sonst auf 26em */
.freebie-sheets { position: relative; flex: none; width: 4.6rem; aspect-ratio: 520 / 735; margin-right: 0.6rem; }
.freebie-sheets img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(74, 58, 49, 0.14), 0 10px 18px -10px rgba(126, 54, 88, 0.5);
  transition: transform 0.7s var(--ease-out);
}
.freebie-sheets img:first-child { transform: translate(16%, 3%) rotate(8deg); }
.freebie-sheets img:last-child { transform: rotate(-4deg); }
.freebie:hover .freebie-sheets img:first-child { transform: translate(30%, -2%) rotate(12deg); }
.freebie:hover .freebie-sheets img:last-child { transform: translate(-6%, -4%) rotate(-7deg); }
.freebie-kicker { font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--head-color); margin-bottom: 0.35rem; }
.freebie-title {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-variation-settings: "SOFT" 30, "WONK" 0;
  font-size: calc(1.3rem * var(--display-scale));
  line-height: 1.2;
  color: var(--cocoa);
  margin: 0 0 0.35rem;
}
.freebie-text { font-size: 0.9rem; line-height: 1.5; margin: 0; text-wrap: pretty; }   /* nie ein Wort allein in der letzten Zeile */

/* ============================================================ WordPress (30. Oktober 2026)
   Nur, was der Dummy nicht hatte: Honeypot im Kontaktformular, Rückfall-Seiten (Impressum, Datenschutz, 404). */
.kt-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kt-form.is-sending button[type="submit"] { opacity: 0.55; pointer-events: none; }
.wp-text { padding-top: calc(var(--header-h, 7rem) + 6rem); position: relative; z-index: 2; }
.wp-text .wrap { max-width: 52rem; }
.wp-text h1 { font-family: var(--font-display); font-weight: 400; font-size: clamp(2.6rem, 5vw, 4.4rem); line-height: 1.05; margin-bottom: 2.5rem; }
.wp-text-body > * + * { margin-top: 1.1em; }
.wp-text-body h2 { font-family: var(--font-display); font-weight: 400; font-size: 1.8rem; margin-top: 2em; color: var(--head-color); }
.wp-text-body a { color: var(--head-color); text-decoration: underline; text-underline-offset: 0.2em; }

/* ============================================================ Mobil (30. Oktober 2026, WordPress-Theme)
   Grundlage sind die 900-px-Blöcke oben; hier, was beim Durchscrollen mit 390 px Breite auffiel. */

/* Menü: Sand statt Braun (Braun als Fläche am 11. Oktober beim Footer verworfen), Links im Rosé-Verlauf,
   Button "Platz buchen" darunter, weil er mobil in der Leiste fehlt */
.menu { background: var(--sand-50); color: var(--cocoa); align-content: center; }
body.menu-open .header { color: var(--cocoa); }
body.menu-open .header .logo-color { opacity: 1; }
body.menu-open .header .logo-light { opacity: 0; }
.menu-links a {
  width: fit-content;
  background: var(--grad-head);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.menu-links a:hover { color: transparent; opacity: 0.8; }
.menu-links a[aria-current="page"]::after { content: ""; display: inline-block; width: 0.18em; height: 0.18em; margin-left: 0.25em; border-radius: 50%; background: var(--rose-deep); vertical-align: middle; }
.menu-cta { justify-self: start; margin-top: 2rem; border-radius: 999px; }
.menu-foot { border-top-color: var(--sand-200); color: var(--cocoa); }

/* Deko (Ringe, Lotus-Leinwand, Stempel, Story-Video) darf überstehen, aber nie die Seite verbreitern, auch am
   Desktop nicht (Startseite war bei 1440 px 1510 px breit, schon im Dummy). clip statt hidden: hidden macht body
   zum Scroll-Container und bricht position: sticky */
html, body { overflow-x: clip; }

@media (max-width: 900px) {
  .nav { gap: 1.1rem; }

  /* Instagram: Band zum Wischen, rastet pro Bild ein */
  .insta-strip { grid-template-columns: repeat(5, 64vw); scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); }
  .insta-tile { scroll-snap-align: start; }
}
