/* ==========================================================================
   Atlantis Munich, Grundton
   Leube Consulting, 18.09.2026, v9

   Das ist die ganze eigene CSS dieser Seite. Alles andere liegt in Bricks:
   Farben und Groessen unter Bricks > Variablen, wiederverwendbare Stile
   unter Bricks > Klassen, Bewegung als Interaktion am Element.

   Was hier steht, sind Dinge, die kein Element und keine Klasse tragen kann:
   Seitenhintergrund, Korn, Auswahlfarbe, Fokusring und die drei Keyframes,
   auf die Klassen und Interaktionen verweisen.
   ========================================================================== */

html { color-scheme: dark; scroll-behavior: smooth; scroll-padding-top: 96px; }

body {
  background-color: var(--at-ground);
  color: var(--at-text);
  font-family: "Manrope", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  /* iPhone: Die Seite reicht bis an die Geraetekanten (viewport-fit=cover, gesetzt im Plugin).
     Der Inhalt bleibt aus den Sicherheitszonen, die feste Kopfzeile fuellt sie selbst. */
  padding-top: env(safe-area-inset-top, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
}

/* Feines Korn ueber der ganzen Seite, sonst wirken grosse dunkle Flaechen flach.
   Bewusst ohne mix-blend-mode: ein ueberblendeter Vollbild-Layer zwingt den
   Browser, die ganze Seite in eine zweite Ebene zu rendern, und friert auf
   manchen Rechnern den Renderer ein. Normale Deckkraft reicht. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
  opacity: .035;
  pointer-events: none;
  z-index: 9999;
}

a, button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

h1, h2, h3 { text-wrap: balance; }

/* Fotos bleiben in Farbe. Beim Ueberfahren ein langsamer, kleiner Zoom. */
img.brxe-image, .brxe-image img { transition: transform 1.8s var(--at-ease); }
.at-photo:hover img.brxe-image, .at-photo:hover .brxe-image img { transform: scale(1.03); }

/* Bewegung. Bricks setzt die Klasse brx-animate-fadeInUp; die Bricks-Version
   schiebt um 100 % der Hoehe, das ist zu viel. Hier: 28 px, weich ausklingend. */
@keyframes atRise {
  0%   { opacity: 0; transform: translate3d(0, 28px, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); }
}
.brx-animate-fadeInUp { animation-name: atRise; animation-timing-function: var(--at-ease); animation-fill-mode: both; }
.brx-animate-fadeIn   { animation-timing-function: var(--at-ease); animation-fill-mode: both; }

/* Ken Burns fuer das Hero-Foto (Klasse at-kenburns). */
@keyframes atKenburns {
  0%   { transform: scale(1); }
  100% { transform: scale(1.09); }
}

/* Goldschimmer, der langsam wandert (Klasse at-glow). */
@keyframes atDrift {
  0%   { transform: translate3d(0, 0, 0) scale(1); }
  100% { transform: translate3d(-8vw, 6vw, 0) scale(1.15); }
}

/* Sprachen ohne lateinische Schrift. Marcellus hat kein Kyrillisch: auf den russischen Seiten
   uebernimmt Forum (fonts.css) die Ueberschriften, Manrope hat dort ein kyrillisches Subset.
   Chinesisch, Japanisch und Koreanisch kommen aus Systemschriften, Arabisch aus Noto Naskh Arabic
   (fonts.css); lateinische Buchstaben und Ziffern bleiben in Marcellus und Manrope.
   !important, weil die Bricks-Klassen (.at-h1.brxe-heading) sonst gewinnen. */
html[lang="ru"] .at-h1, html[lang="ru"] .at-h2, html[lang="ru"] .at-h3, html[lang="ru"] .at-day-time,
html[lang="ru"] .at-price, html[lang="ru"] .at-step-num, html[lang="ru"] .accordion-title-wrapper, html[lang="ru"] .accordion-title-wrapper .brxe-heading {
  font-family: "Forum", Georgia, "Times New Roman", serif !important;
}
html[lang="zh"] .at-h1, html[lang="zh"] .at-h2, html[lang="zh"] .at-h3, html[lang="zh"] .at-day-time,
html[lang="zh"] .at-price, html[lang="zh"] .at-step-num, html[lang="zh"] .accordion-title-wrapper, html[lang="zh"] .accordion-title-wrapper .brxe-heading {
  font-family: "Marcellus", "Songti SC", "STSong", "Noto Serif SC", "Noto Serif CJK SC", "SimSun", serif !important;
}
html[lang="zh"] body { font-family: "Manrope", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", sans-serif; }
html[lang="ja"] .at-h1, html[lang="ja"] .at-h2, html[lang="ja"] .at-h3, html[lang="ja"] .at-day-time,
html[lang="ja"] .at-price, html[lang="ja"] .at-step-num, html[lang="ja"] .accordion-title-wrapper, html[lang="ja"] .accordion-title-wrapper .brxe-heading {
  font-family: "Marcellus", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", "Noto Serif CJK JP", serif !important;
}
html[lang="ja"] body { font-family: "Manrope", "Hiragino Sans", "Yu Gothic", "Meiryo", "Noto Sans JP", "Noto Sans CJK JP", sans-serif; }
html[lang="ko"] .at-h1, html[lang="ko"] .at-h2, html[lang="ko"] .at-h3, html[lang="ko"] .at-day-time,
html[lang="ko"] .at-price, html[lang="ko"] .at-step-num, html[lang="ko"] .accordion-title-wrapper, html[lang="ko"] .accordion-title-wrapper .brxe-heading {
  font-family: "Marcellus", "Apple Myungjo", "Batang", "Noto Serif KR", "Noto Serif CJK KR", serif !important;
}
html[lang="ko"] body { font-family: "Manrope", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", "Noto Sans CJK KR", sans-serif; }
html[lang="ar"] .at-h1, html[lang="ar"] .at-h2, html[lang="ar"] .at-h3, html[lang="ar"] .at-day-time,
html[lang="ar"] .at-price, html[lang="ar"] .at-step-num, html[lang="ar"] .accordion-title-wrapper, html[lang="ar"] .accordion-title-wrapper .brxe-heading {
  font-family: "Marcellus", "Noto Naskh Arabic", "Segoe UI", "Geeza Pro", serif !important; line-height: 1.35 !important; letter-spacing: 0 !important;
}
html[lang="ar"] body * { font-family: "Manrope", "Noto Naskh Arabic", "Segoe UI", "Geeza Pro", "Noto Sans Arabic", sans-serif; letter-spacing: 0; }
html[lang="ar"] .at-eyebrow, html[lang="ar"] .brxe-button { text-transform: none; letter-spacing: 0; }

/* Arabisch: rechts nach links. Bricks setzt physische Abstaende (padding-left), deshalb hier die
   wichtigsten Stellen gespiegelt. Flex- und Grid-Reihenfolgen drehen sich mit dir="rtl" von selbst. */
html[dir="rtl"] { direction: rtl; }
html[dir="rtl"] .at-hero-copy, html[dir="rtl"] .at-split, html[dir="rtl"] .at-rows, html[dir="rtl"] .at-menu, html[dir="rtl"] .at-incl,
html[dir="rtl"] .brxe-text-basic, html[dir="rtl"] .brxe-text, html[dir="rtl"] .brxe-heading { text-align: right; }
html[dir="rtl"] .at-flag { margin-right: 0; margin-left: .6em; }
html[dir="rtl"] .brx-nav-nested-items > li > a::after { transform-origin: right; }
html[dir="rtl"] .at-step::before { left: auto; right: 22px; }
html[dir="rtl"] .at-steps::before { left: auto; right: 27px; }

/* Status "Jetzt geoeffnet": goldener Punkt, grau wenn geschlossen. */
.at-open { white-space: nowrap; }
.at-open-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--at-gold-light); margin: 0 .5em 0 0; vertical-align: 1px; box-shadow: 0 0 0 3px rgba(201,162,78,.18); }
.at-open[data-open="0"] .at-open-dot { background: var(--at-text-dim); box-shadow: none; }
html[dir="rtl"] .at-open-dot { margin: 0 0 0 .5em; }

::selection {
  background: var(--at-accent-soft);
  color: var(--at-gold-light);
}

:focus-visible {
  outline: 2px solid var(--at-gold-light);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
