﻿html { scroll-behavior: smooth; }
:root { --font-cormorant:"Cormorant Garamond"; --font-dm-sans:"DM Sans"; --soft:#e4e2dd; --muted:#6e6f69; --accent:#3ea682; --accent-dark:#2d8568; --dark:#1a1a2e; --line:rgba(43,42,39,.14); }
[id] { scroll-margin-top: 82px; }
.form-honeypot { position: absolute; left: -9999px; }
.form-status { min-height: 22px; margin: 0; text-align: center; }
.form-status.is-success { color: #2d8568; }
.form-status.is-error { color: #a54040; }
.skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 12px 16px;
  border-radius: 999px;
  background: #005f46;
  color: #fff;
  font: 800 15px/1 var(--font-dm-sans), system-ui, sans-serif;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus {
  transform: none;
  outline: 3px solid #fff;
  outline-offset: 3px;
}
.site-preloader {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 45%, rgba(62, 166, 130, .14), transparent 26rem),
    #e4e2dd;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition:
    opacity .72s cubic-bezier(.4,0,.2,1),
    visibility .72s cubic-bezier(.4,0,.2,1);
}
.site-preloader::after {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, .12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  content: "";
  opacity: .85;
  animation: preloaderBlur 1.35s cubic-bezier(.2,.8,.2,1) forwards;
}
.site-preloader-glow {
  position: absolute;
  width: min(58vw, 640px);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(62,166,130,.2), transparent 66%);
  filter: blur(18px);
  transform: scale(.82);
  animation: preloaderGlow 1.35s cubic-bezier(.2,.8,.2,1) forwards;
}
.site-preloader-logo {
  position: relative;
  z-index: 1;
  width: min(68vw, 560px);
  max-width: calc(100vw - 48px);
  height: auto;
  filter: blur(14px);
  opacity: 0;
  transform: perspective(900px) translateZ(120px) translateY(10px) scale(1.08);
  animation: preloaderLogo 1.42s cubic-bezier(.18,.9,.24,1) forwards;
  will-change: transform, opacity, filter;
}
.site-preloader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
@keyframes preloaderLogo {
  0% {
    opacity: 0;
    filter: blur(16px);
    transform: perspective(900px) translateZ(160px) translateY(14px) scale(1.12);
  }
  38% {
    opacity: 1;
    filter: blur(0);
    transform: perspective(900px) translateZ(0) translateY(0) scale(1);
  }
  68% {
    opacity: 1;
    filter: blur(0);
    transform: perspective(900px) translateZ(-30px) translateY(0) scale(.985);
  }
  100% {
    opacity: 0;
    filter: blur(10px);
    transform: perspective(900px) translateZ(-260px) translateY(-8px) scale(.82);
  }
}
@keyframes preloaderGlow {
  0% { opacity: .4; transform: scale(.78); }
  100% { opacity: 1; transform: scale(1.08); }
}
@keyframes preloaderBlur {
  0% { backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
  100% { backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
}
@media (max-width: 640px) {
  .site-preloader-logo {
    width: min(78vw, 360px);
  }

  .site-preloader-glow {
    width: min(86vw, 420px);
  }
}

html[data-accessibility="on"] .site-preloader,
html[data-accessibility="on"] .site-preloader *,
html[data-accessibility="on"] .site-preloader::after {
  animation-duration: .01ms !important;
  transition-duration: .18s !important;
}

html[data-accessibility="on"] .site-preloader::after {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-accessibility="on"] .site-preloader-logo {
  animation: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.role-button[aria-pressed="true"] { border-color: #3ea682 !important; background: #e3f1eb !important; color: #2d8568 !important; }
.audience-hero { display:grid; min-height:70vh; place-items:center; padding:clamp(138px,15vw,190px) max(22px,calc((100% - 1180px)/2)) clamp(80px,10vw,140px); background:#f8f6f1; }
.audience-hero-copy { width:min(850px,100%); }
.audience-hero h1 { margin:22px 0 0; font-family:var(--font-cormorant),Garamond,serif; font-size:clamp(58px,8vw,96px); font-weight:400; line-height:1; color:#2b2a27; }
.audience-hero .eyebrow { font-family:var(--font-dm-sans),sans-serif; font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#2d8568; }
.audience-hero .lead { margin-top:22px; font-family:var(--font-cormorant),Garamond,serif; font-size:clamp(25px,3vw,38px); font-style:italic; color:#2d8568; }
.audience-hero .statement-list { display:grid; gap:10px; margin-top:38px; padding:30px; border:1px solid var(--line); border-radius:22px; background:#fff; }

.site-tools {
  position: fixed;
  z-index: 90;
  right: clamp(16px, 2vw, 32px);
  top: 50%;
  display: grid;
  gap: 10px;
  justify-items: end;
  transform: translateY(-50%);
}
.theme-toggle, .accessibility-toggle, .orientation-toggle, .font-size-button, .back-to-top {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(43,42,39,.14);
  border-radius: 999px;
  background: rgba(248,246,241,.92);
  box-shadow: 0 10px 28px rgba(43,42,39,.12);
  color: #2b2a27;
  cursor: pointer;
  backdrop-filter: blur(12px);
}
.accessibility-toggle {
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.accessibility-toggle[aria-pressed="true"] {
  border-color: rgba(45,133,104,.65);
  background: #2d8568;
  color: #fff;
  box-shadow: 0 14px 34px rgba(45,133,104,.28);
  transform: translateX(-2px);
}
.orientation-toggle {
  position: relative;
  overflow: visible;
  font-family: var(--font-cormorant), Garamond, serif;
  font-size: 22px;
  font-style: italic;
  font-weight: 700;
  isolation: isolate;
}
.orientation-toggle::before {
  position: absolute;
  inset: -6px;
  z-index: -1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(62, 166, 130, .22), rgba(62, 166, 130, 0) 68%);
  content: "";
  opacity: .9;
  transform: scale(.82);
  animation: orientationPulse 2.6s ease-in-out infinite;
}
.orientation-toggle::after {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #3ea682;
  box-shadow: 0 0 0 4px rgba(62, 166, 130, .12);
  content: "";
}
.orientation-toggle-core {
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(145deg, rgba(62,166,130,.16), rgba(255,255,255,.36));
  line-height: 1;
}
.orientation-toggle[aria-expanded="true"] {
  border-color: rgba(62, 166, 130, .58);
  background: #3ea682;
  color: #fff;
  transform: translateX(-2px);
}
.orientation-toggle[aria-expanded="true"] .orientation-toggle-core {
  background: rgba(255,255,255,.16);
}
.orientation-panel[hidden] {
  display: block !important;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) translateX(18px) scale(.96);
  visibility: hidden;
}
.orientation-panel {
  position: fixed;
  right: clamp(72px, 5vw, 108px);
  top: 50%;
  width: min(310px, calc(100vw - 92px));
  max-height: min(72vh, 560px);
  overflow: auto;
  padding: 12px;
  border: 1px solid rgba(43,42,39,.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(62,166,130,.12), transparent 46%),
    rgba(248,246,241,.96);
  box-shadow: 0 28px 70px rgba(43,42,39,.18);
  color: #2b2a27;
  backdrop-filter: blur(22px) saturate(1.16);
  -webkit-backdrop-filter: blur(22px) saturate(1.16);
  opacity: 1;
  transform: translateY(-50%) translateX(0) scale(1);
  transform-origin: right center;
  transition:
    opacity .26s ease,
    transform .32s cubic-bezier(.2,.8,.2,1),
    visibility .26s ease;
  visibility: visible;
}
.orientation-panel-head {
  display: grid;
  gap: 3px;
  padding: 10px 11px 13px;
}
.orientation-panel-head span {
  font-family: var(--font-cormorant), Garamond, serif;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.05;
  color: #2b2a27;
}
.orientation-panel-head small {
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  font-size: 12px;
  line-height: 1.35;
  color: #6e6f69;
}
.orientation-panel a {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  border-radius: 14px;
  color: #3a3a36;
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  transition:
    background .22s ease,
    color .22s ease,
    transform .22s ease;
}
.orientation-panel a span {
  color: #2d8568;
  font-family: var(--font-cormorant), Garamond, serif;
  font-size: 16px;
  font-style: italic;
  opacity: .8;
}
.orientation-panel a:hover,
.orientation-panel a:focus-visible {
  background: rgba(62, 166, 130, .11);
  color: #2d8568;
  transform: translateX(-2px);
}
@keyframes orientationPulse {
  0%, 100% { opacity: .46; transform: scale(.84); }
  50% { opacity: 1; transform: scale(1.08); }
}
.theme-toggle:disabled {
  cursor: not-allowed;
  opacity: .42;
}
.font-size-controls {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  display: grid;
  gap: 8px;
  width: 156px;
  max-height: 0;
  padding: 0 8px;
  overflow: hidden;
  border: 0 solid rgba(43,42,39,.14);
  border-radius: 18px;
  background: rgba(248,246,241,.94);
  box-shadow: 0 10px 28px rgba(43,42,39,.12);
  backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-50% + 10px)) scale(.96);
  transform-origin: right center;
  visibility: hidden;
  transition:
    max-height .32s cubic-bezier(.2,.8,.2,1),
    padding .32s cubic-bezier(.2,.8,.2,1),
    border-width .32s cubic-bezier(.2,.8,.2,1),
    opacity .28s ease,
    transform .28s cubic-bezier(.2,.8,.2,1),
    visibility .28s ease;
}
.font-size-button {
  width: auto;
  min-height: 34px;
  height: auto;
  padding: 8px 10px;
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  text-align: center;
}
.font-size-label {
  color: #2b2a27;
  font-family: var(--font-dm-sans), system-ui, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}
.font-size-button.is-normal { font-size: 11.5px; }
.font-size-button.is-large { font-size: 13px; }
.font-size-button.is-xlarge { font-size: 14.5px; }
.font-size-button[aria-pressed="true"] {
  border-color: #005f46;
  background: #005f46;
  color: #fff;
}
.theme-sun, .theme-moon { grid-area: 1/1; transition: opacity .2s ease, transform .2s ease; }
.theme-sun { opacity: 0; transform: rotate(-30deg); }
.theme-moon { opacity: 1; }
.back-to-top { position: fixed; z-index: 90; right: 12px; bottom: 16px; opacity: 0; pointer-events: none; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: none; }
.back-to-top span { animation: topArrow 1.8s ease-in-out infinite; }
@keyframes topArrow { 0%,100%{transform:translateY(2px)} 50%{transform:translateY(-3px)} }

html[data-theme="dark"] body { background: #12161a; color: #f2eee6; }
html[data-theme="dark"] .bg-warm, html[data-theme="dark"] .bg-paper, html[data-theme="dark"] .bg-greige { background-color: #171c20 !important; }
html[data-theme="dark"] .bg-jade-light, html[data-theme="dark"] .bg-jade-mist { background-color: #17342d !important; }
html[data-theme="dark"] .bg-white, html[data-theme="dark"] [class*="bg-white/"] { background-color: rgba(30,36,40,.92) !important; }
html[data-theme="dark"] .text-ink, html[data-theme="dark"] .text-charcoal { color: #f2eee6 !important; }
html[data-theme="dark"] .text-subtext { color: #b8b7b0 !important; }
html[data-theme="dark"] [class*="border-ink"] { border-color: rgba(255,255,255,.14) !important; }
html[data-theme="dark"] #site-header.is-scrolled { border-color: rgba(255,255,255,.12) !important; background: rgba(18,22,26,.94) !important; }
html[data-theme="dark"] .designer-mobile-menu { background: rgba(18,22,26,.98) !important; }
html[data-theme="dark"] .header-logo-dark { display: none; }
html[data-theme="dark"] .header-logo-light { display: block !important; }
html[data-theme="dark"] .theme-sun { opacity: 1; transform: none; }
html[data-theme="dark"] .theme-moon { opacity: 0; transform: rotate(30deg); }
html[data-theme="dark"] .theme-toggle, html[data-theme="dark"] .accessibility-toggle, html[data-theme="dark"] .orientation-toggle, html[data-theme="dark"] .font-size-button, html[data-theme="dark"] .back-to-top { border-color: rgba(255,255,255,.16); background: rgba(24,29,33,.94); color: #f2eee6; }
html[data-theme="dark"] .font-size-controls { border-color: rgba(255,255,255,.16); background: rgba(24,29,33,.94); color: #f2eee6; }
html[data-theme="dark"] .font-size-label { color: #f2eee6; }
html[data-theme="dark"] .accessibility-toggle[aria-pressed="true"] { border-color: rgba(126,212,182,.7); background: #7ed4b6; color: #101413; }
html[data-theme="dark"] .orientation-toggle[aria-expanded="true"] { border-color: rgba(126,212,182,.7); background: #3ea682; color: #fff; }
html[data-theme="dark"] .orientation-panel { border-color: rgba(255,255,255,.15); background: radial-gradient(circle at 100% 0%, rgba(126,212,182,.12), transparent 46%), rgba(24,29,33,.96); color: #f2eee6; box-shadow: 0 28px 70px rgba(0,0,0,.38); }
html[data-theme="dark"] .orientation-panel-head span { color: #f2eee6; }
html[data-theme="dark"] .orientation-panel-head small { color: rgba(242,238,230,.66); }
html[data-theme="dark"] .orientation-panel a { color: rgba(242,238,230,.86); }
html[data-theme="dark"] .orientation-panel a span { color: #7ed4b6; }
html[data-theme="dark"] .orientation-panel a:hover,
html[data-theme="dark"] .orientation-panel a:focus-visible { background: rgba(126,212,182,.12); color: #7ed4b6; }
html[data-theme="dark"] .language-menu { border-color: rgba(255,255,255,.15); background: #1e2428; color: #f2eee6; }
html[data-theme="dark"] .language-menu button:hover, html[data-theme="dark"] .language-menu button.is-active { background: #17342d; }
html[data-theme="dark"] input { color: #f2eee6 !important; }
html[data-theme="dark"] .audience-hero { background:#171c20; }
html[data-theme="dark"] .audience-hero h1 { color:#f2eee6; }
html[data-theme="dark"] .audience-hero .statement-list { border-color:rgba(255,255,255,.14); background:#1e2428; }

@media (max-width: 640px) {
  .site-tools {
    right: 12px;
    top: 50%;
  }
  .back-to-top { right: 8px; }
  .theme-toggle, .accessibility-toggle, .orientation-toggle, .back-to-top { width: 38px; height: 38px; }
  .orientation-panel {
    position: fixed;
    left: 50%;
    right: auto;
    top: auto;
    bottom: max(18px, env(safe-area-inset-bottom));
    width: calc(100vw - 28px);
    max-width: 360px;
    max-height: min(68vh, 520px);
    transform: translateX(-50%) translateY(0) scale(1);
    transform-origin: center bottom;
  }
  .orientation-panel[hidden] {
    transform: translateX(-50%) translateY(18px) scale(.97);
  }
  .font-size-controls {
    right: calc(100% + 8px);
    width: min(148px, calc(100vw - 76px));
  }

  html[data-accessibility="on"][data-font-size="large"] .font-size-controls {
    width: min(168px, calc(100vw - 76px));
  }

  html[data-accessibility="on"][data-font-size="xlarge"] .font-size-controls {
    width: min(190px, calc(100vw - 76px));
  }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .back-to-top span { animation: none; }
}

@media (max-width: 760px) {
  .orientation-panel {
    position: fixed !important;
    z-index: 170 !important;
    top: clamp(96px, 17vh, 132px) !important;
    right: 16px !important;
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
    left: 16px !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow-y: auto !important;
    padding: 14px !important;
    border-radius: 28px !important;
    transform: translateY(0) scale(1) !important;
    transform-origin: center bottom !important;
  }

  .orientation-panel[hidden] {
    transform: translateY(18px) scale(.97) !important;
  }

  .orientation-panel-head {
    position: sticky;
    top: -14px;
    z-index: 2;
    margin: -14px -14px 6px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid rgba(43,42,39,.08);
    background: rgba(248,246,241,.94);
    backdrop-filter: blur(16px);
  }

  .orientation-panel a {
    grid-template-columns: 42px 1fr;
    min-height: 52px;
    padding: 12px 14px;
    font-size: 16px;
  }

  .orientation-panel a span {
    font-size: 18px;
  }

  html[data-orientation="open"] .orientation-toggle {
    z-index: 180;
  }

  html[data-orientation="open"] .theme-toggle,
  html[data-orientation="open"] .accessibility-toggle,
  html[data-orientation="open"] .back-to-top {
    opacity: .18;
    pointer-events: none;
  }

  html[data-theme="dark"] .orientation-panel-head {
    border-bottom-color: rgba(255,255,255,.12);
    background: rgba(24,29,33,.94);
  }
}

/* Soft visual pass inspired by the final designer reference */
:root {
  --page-soft: #e4e2dd;
  --nav-glass: rgba(228, 226, 221, .72);
  --nav-glass-strong: rgba(228, 226, 221, .88);
}

body,
main,
.bg-warm,
.bg-paper,
.bg-greige,
.audience-hero,
main > section:not(.bg-navy):not(.bg-footer) {
  background-color: var(--page-soft) !important;
}

#site-header {
  position: fixed;
  background: var(--nav-glass) !important;
  border-bottom-color: rgba(43, 42, 39, .055) !important;
  box-shadow: none;
  backdrop-filter: blur(24px) saturate(1.25);
  -webkit-backdrop-filter: blur(24px) saturate(1.25);
}

#site-header.is-scrolled,
body:not(.home-page) #site-header {
  background: var(--nav-glass-strong) !important;
  border-bottom-color: rgba(43, 42, 39, .08) !important;
  box-shadow: 0 18px 55px rgba(43, 42, 39, .055);
}

.site-header-inner {
  min-height: 84px;
}

.site-nav-links a {
  font-size: clamp(15.5px, 1.05vw, 16.5px) !important;
  font-weight: 600 !important;
  color: rgba(58, 58, 54, .76) !important;
}

.site-nav-links a:hover {
  color: #2d8568 !important;
}

.site-header-actions [href$="#warteliste"] {
  padding-inline: 26px !important;
  box-shadow: 0 18px 42px rgba(62, 166, 130, .22) !important;
}

.rounded-xl,
.rounded-2xl,
.rounded-lg,
.rounded-\[clamp\(18px\2c 2vw\2c 28px\)\],
.shadow-media img,
main img {
  border-radius: clamp(20px, 2.1vw, 30px);
}

.shadow-card,
.shadow-form,
.shadow-media {
  box-shadow: 0 26px 70px rgba(43, 42, 39, .08) !important;
}

.border-ink\/\[0\.06\],
.border-ink\/\[0\.07\],
.border-ink\/\[0\.08\] {
  border-color: rgba(43, 42, 39, .075) !important;
}

html[data-theme="dark"] {
  --page-soft: #171c20;
  --nav-glass: rgba(23, 28, 32, .76);
  --nav-glass-strong: rgba(23, 28, 32, .9);
}

html[data-theme="dark"] #site-header,
html[data-theme="dark"] #site-header.is-scrolled,
html[data-theme="dark"] body:not(.home-page) #site-header {
  background: var(--nav-glass-strong) !important;
  border-color: rgba(255, 255, 255, .1) !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .24);
}

html[data-theme="dark"] .site-nav-links a {
  color: rgba(242, 238, 230, .78) !important;
}

html[data-theme="dark"] .site-nav-links a:hover {
  color: #7ed4b6 !important;
}

@media (max-width: 1239px) {
  .site-header-inner {
    min-height: 78px;
  }

  #site-header {
    background: rgba(228, 226, 221, .86) !important;
  }

  .designer-mobile-menu {
    background: rgba(228, 226, 221, .96) !important;
    backdrop-filter: blur(22px) saturate(1.25);
    -webkit-backdrop-filter: blur(22px) saturate(1.25);
  }
}

/* Mitarbeiter-Feedback: bessere Lesbarkeit fuer die Zielgruppe */
main .bg-navy {
  background-color: var(--page-soft) !important;
  color: #2b2a27 !important;
}

main .bg-navy .text-warm,
main .bg-navy .text-warm\/70,
main .bg-navy .text-warm\/80,
main .bg-navy .text-warm\/90,
main .bg-navy .text-cream,
main .bg-navy .text-cream\/55,
main .bg-navy .text-cream\/80,
main .bg-navy .text-cream\/\[0\.74\],
main .bg-navy .text-white {
  color: #2b2a27 !important;
}

main .bg-navy .text-jade,
main .bg-navy .text-jade-deep {
  color: #2d8568 !important;
}

main .bg-navy .border-warm\/12,
main .bg-navy .border-warm\/25,
main .bg-navy .border-warm\/\[0\.18\] {
  border-color: rgba(43, 42, 39, .1) !important;
}

main .bg-navy .bg-warm\/\[0\.04\],
main .bg-navy .bg-warm\/\[0\.12\],
main .bg-navy .bg-navy\/55 {
  background-color: rgba(251, 250, 246, .72) !important;
}

main .bg-navy .shadow-film {
  box-shadow: 0 28px 74px rgba(43, 42, 39, .13) !important;
}

main .bg-navy [style*="linear-gradient"] {
  opacity: .62;
}

main .bg-navy a.bg-jade,
main .bg-navy .bg-jade {
  color: #fff !important;
}

main .font-serif.italic,
main .font-serif.text-lede-xs,
main .font-serif.text-lede-sm,
main .font-serif.text-lede-md,
main .font-serif.text-lede-xl {
  font-family: var(--font-dm-sans), system-ui, -apple-system, Segoe UI, sans-serif !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
}

main p.font-serif,
main .text-quote-lg {
  font-family: var(--font-dm-sans), system-ui, -apple-system, Segoe UI, sans-serif !important;
  font-style: normal !important;
}

main p,
main li,
main .font-sans.text-body,
main .font-sans.text-body-lg,
main .font-sans.text-body-xl,
main .text-\[clamp\(16px\2c 1\.25vw\2c 18px\)\],
main .text-\[clamp\(16\.5px\2c 1\.25vw\2c 18px\)\],
main .text-\[clamp\(17\.5px\2c 1\.4vw\2c 20px\)\] {
  font-size: clamp(16.5px, 1.05vw, 18px) !important;
  line-height: 1.72 !important;
}

main h1,
main h2,
main h3 {
  letter-spacing: -.008em;
}

.site-nav-links {
  gap: clamp(16px, 1.45vw, 25px) !important;
}

.site-nav-links a {
  font-size: clamp(15.5px, 1vw, 16.5px) !important;
}

.header-logo {
  height: 42px !important;
}

@media (max-width: 720px) {
  .header-logo {
    height: 34px !important;
  }

  .site-header-inner {
    gap: 14px !important;
  }
}

/* Dezente Abschnittstrenner fuer bessere Orientierung */
main > header,
main > section {
  position: relative;
}

main > section::before {
  position: absolute;
  top: 0;
  left: max(22px, calc((100% - 1180px) / 2));
  right: max(22px, calc((100% - 1180px) / 2));
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(43, 42, 39, .13), transparent);
  content: "";
  pointer-events: none;
}

main > section::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 88px;
  background: linear-gradient(180deg, rgba(43, 42, 39, .035), transparent);
  content: "";
  pointer-events: none;
}

main > section:nth-of-type(even):not(.bg-jade-light):not(.bg-jade-mist) {
  background-image:
    radial-gradient(circle at 94% 10%, rgba(62, 166, 130, .055), transparent 22rem),
    linear-gradient(180deg, rgba(251, 250, 246, .18), rgba(251, 250, 246, 0));
}

main > section:nth-of-type(odd):not(.bg-jade-light):not(.bg-jade-mist) {
  background-image:
    radial-gradient(circle at 8% 12%, rgba(170, 184, 162, .07), transparent 24rem),
    linear-gradient(180deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0));
}

/* Konkrete Section-Farben */
#film {
  background-color: #1A1A2E !important;
  color: #f8f6f1 !important;
}

#film .text-warm,
#film .text-warm\/80,
#film .text-warm\/90,
#film .text-cream,
#film .text-white {
  color: #f8f6f1 !important;
}

#morgens {
  background-color: #e4e2de !important;
}

#tagsueber {
  background-color: #f8f6f1 !important;
}

#familie {
  background-color: #e4e2de !important;
}

#momente {
  background-color: #f8f6f1 !important;
}

#abends {
  background-color: #e4e2de !important;
}

main > section > * {
  position: relative;
  z-index: 1;
}

.scroll-reveal {
  opacity: 0;
  transform: translateY(34px);
  transition:
    opacity .82s cubic-bezier(.22,.8,.22,1),
    transform .82s cubic-bezier(.22,.8,.22,1);
  will-change: opacity, transform;
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: none;
}

.scroll-reveal:nth-of-type(2n) {
  transition-duration: .94s;
}

html[data-theme="dark"] main > section::before {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .14), transparent);
}

html[data-theme="dark"] main > section::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, .045), transparent);
}

html[data-theme="dark"] body,
html[data-theme="dark"] main,
html[data-theme="dark"] main > header,
html[data-theme="dark"] main > section,
html[data-theme="dark"] .bg-warm,
html[data-theme="dark"] .bg-paper,
html[data-theme="dark"] .bg-greige,
html[data-theme="dark"] .bg-jade-light,
html[data-theme="dark"] .bg-jade-mist,
html[data-theme="dark"] .test-care-section,
html[data-theme="dark"] .test-advisory-section,
html[data-theme="dark"] #morgens,
html[data-theme="dark"] #tagsueber,
html[data-theme="dark"] #familie,
html[data-theme="dark"] #momente,
html[data-theme="dark"] #abends {
  background-color: #171c20 !important;
  color: #f2eee6 !important;
}

html[data-theme="dark"] main > section:nth-of-type(even):not(.bg-navy),
html[data-theme="dark"] main > section:nth-of-type(odd):not(.bg-navy) {
  background-image:
    radial-gradient(circle at 88% 10%, rgba(126, 212, 182, .07), transparent 23rem),
    linear-gradient(180deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, 0)) !important;
}

html[data-theme="dark"] #film {
  background-color: #10101f !important;
}

html[data-theme="dark"] main .text-ink,
html[data-theme="dark"] main .text-charcoal,
html[data-theme="dark"] main .text-charcoal\/80,
html[data-theme="dark"] main .text-charcoal\/90,
html[data-theme="dark"] main .text-subtext,
html[data-theme="dark"] main .text-warm,
html[data-theme="dark"] main .text-warm\/70,
html[data-theme="dark"] main .text-warm\/80,
html[data-theme="dark"] main .text-warm\/90,
html[data-theme="dark"] main .text-cream,
html[data-theme="dark"] main .text-cream\/55,
html[data-theme="dark"] main .text-cream\/80,
html[data-theme="dark"] main .text-cream\/\[0\.74\] {
  color: #f2eee6 !important;
}

html[data-theme="dark"] main .text-subtext,
html[data-theme="dark"] main .text-charcoal\/80,
html[data-theme="dark"] main .text-charcoal\/90,
html[data-theme="dark"] main .text-warm\/70,
html[data-theme="dark"] main .text-warm\/80,
html[data-theme="dark"] main .text-warm\/90 {
  opacity: .82;
}

html[data-theme="dark"] main .text-jade,
html[data-theme="dark"] main .text-jade-deep,
html[data-theme="dark"] main .text-sage,
html[data-theme="dark"] main .text-sage-deep,
html[data-theme="dark"] main .text-gold {
  color: #7ed4b6 !important;
}

html[data-theme="dark"] main .bg-white,
html[data-theme="dark"] main [class*="bg-white/"],
html[data-theme="dark"] main .bg-paper,
html[data-theme="dark"] main .bg-sage-light,
html[data-theme="dark"] main .test-care-card,
html[data-theme="dark"] main .test-care-closing,
html[data-theme="dark"] main .test-advisory-panel,
html[data-theme="dark"] main .test-advisory-profile {
  background-color: rgba(30, 36, 40, .94) !important;
  border-color: rgba(255, 255, 255, .14) !important;
  color: #f2eee6 !important;
}

html[data-theme="dark"] main .bg-jade,
html[data-theme="dark"] main a.bg-jade,
html[data-theme="dark"] main button.bg-jade {
  background-color: #3ea682 !important;
  color: #fff !important;
}

html[data-theme="dark"] main .role-button[aria-pressed="true"] {
  background: rgba(62, 166, 130, .22) !important;
  color: #7ed4b6 !important;
}

html[data-theme="dark"] main input,
html[data-theme="dark"] main textarea,
html[data-theme="dark"] main select {
  background: rgba(18, 22, 26, .94) !important;
  border-color: rgba(255, 255, 255, .18) !important;
  color: #f2eee6 !important;
}

html[data-theme="dark"] main input::placeholder,
html[data-theme="dark"] main textarea::placeholder {
  color: rgba(242, 238, 230, .56) !important;
}

/* Barrierefrei-Modus: maximale Lesbarkeit und ruhige Interaktion */
html[data-accessibility="on"] {
  --page-soft: #f7f4ec;
  --nav-glass: rgba(247, 244, 236, .96);
  --nav-glass-strong: rgba(247, 244, 236, .98);
  --legal-bg: #f7f4ec;
  --legal-card: #fffdf8;
  --legal-ink: #161616;
  --legal-muted: #303030;
  scroll-behavior: auto;
}

html[data-accessibility="on"] body,
html[data-accessibility="on"] main,
html[data-accessibility="on"] main > header,
html[data-accessibility="on"] main > section,
html[data-accessibility="on"] .bg-warm,
html[data-accessibility="on"] .bg-paper,
html[data-accessibility="on"] .bg-greige,
html[data-accessibility="on"] .bg-jade-light,
html[data-accessibility="on"] .bg-jade-mist,
html[data-accessibility="on"] .bg-navy,
html[data-accessibility="on"] .legal-page {
  background: #f7f4ec !important;
  color: #161616 !important;
}

html[data-accessibility="on"] .header-logo-dark {
  display: block !important;
}

html[data-accessibility="on"] .header-logo-light {
  display: none !important;
}

html[data-accessibility="on"] #site-header,
html[data-accessibility="on"] #site-header.is-scrolled,
html[data-accessibility="on"] body:not(.home-page) #site-header {
  background: rgba(247, 244, 236, .98) !important;
  border-bottom: 2px solid #161616 !important;
  box-shadow: 0 10px 34px rgba(0, 0, 0, .08) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-accessibility="on"] .designer-mobile-menu {
  background: #f7f4ec !important;
  border-bottom: 2px solid #161616 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html[data-accessibility="on"] .site-nav-links a,
html[data-accessibility="on"] .designer-mobile-menu a {
  color: #161616 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

html[data-accessibility="on"] .site-nav-links a:hover,
html[data-accessibility="on"] .designer-mobile-menu a:hover {
  color: #005f46 !important;
  text-decoration: underline;
}

html[data-accessibility="on"] h1,
html[data-accessibility="on"] h2,
html[data-accessibility="on"] h3 {
  color: #161616 !important;
  letter-spacing: 0 !important;
}

html[data-accessibility="on"] p,
html[data-accessibility="on"] li,
html[data-accessibility="on"] label,
html[data-accessibility="on"] input,
html[data-accessibility="on"] button,
html[data-accessibility="on"] footer,
html[data-accessibility="on"] footer a,
html[data-accessibility="on"] footer p,
html[data-accessibility="on"] footer div,
html[data-accessibility="on"] .text-subtext,
html[data-accessibility="on"] .text-charcoal,
html[data-accessibility="on"] .text-charcoal\/80,
html[data-accessibility="on"] .text-charcoal\/90,
html[data-accessibility="on"] .text-ink,
html[data-accessibility="on"] .text-warm,
html[data-accessibility="on"] .text-warm\/70,
html[data-accessibility="on"] .text-warm\/80,
html[data-accessibility="on"] .text-warm\/90,
html[data-accessibility="on"] .text-cream,
html[data-accessibility="on"] .text-cream\/55,
html[data-accessibility="on"] .text-cream\/80,
html[data-accessibility="on"] .text-cream\/\[0\.74\] {
  color: #161616 !important;
}

html[data-accessibility="on"] main p,
html[data-accessibility="on"] main li,
html[data-accessibility="on"] .legal-card p,
html[data-accessibility="on"] .legal-card li {
  font-size: clamp(18px, 1.15vw, 20px) !important;
  line-height: 1.82 !important;
}

html[data-accessibility="on"][data-font-picker="open"] .font-size-controls {
  background: #fffdf8 !important;
  border: 2px solid rgba(0, 0, 0, .32) !important;
  color: #161616 !important;
  gap: 7px;
  max-height: 260px;
  padding: 8px;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%);
  visibility: visible;
}

html[data-accessibility="on"][data-font-size="large"] main p,
html[data-accessibility="on"][data-font-size="large"] main li,
html[data-accessibility="on"][data-font-size="large"] footer a,
html[data-accessibility="on"][data-font-size="large"] footer p,
html[data-accessibility="on"][data-font-size="large"] .legal-card p,
html[data-accessibility="on"][data-font-size="large"] .legal-card li,
html[data-accessibility="on"][data-font-size="large"] input,
html[data-accessibility="on"][data-font-size="large"] button:not(.theme-toggle):not(.accessibility-toggle):not(.font-size-button):not(.back-to-top),
html[data-accessibility="on"][data-font-size="large"] label {
  font-size: clamp(20px, 1.3vw, 22px) !important;
  line-height: 1.86 !important;
}

html[data-accessibility="on"][data-font-size="xlarge"] main p,
html[data-accessibility="on"][data-font-size="xlarge"] main li,
html[data-accessibility="on"][data-font-size="xlarge"] footer a,
html[data-accessibility="on"][data-font-size="xlarge"] footer p,
html[data-accessibility="on"][data-font-size="xlarge"] .legal-card p,
html[data-accessibility="on"][data-font-size="xlarge"] .legal-card li,
html[data-accessibility="on"][data-font-size="xlarge"] input,
html[data-accessibility="on"][data-font-size="xlarge"] button:not(.theme-toggle):not(.accessibility-toggle):not(.font-size-button):not(.back-to-top),
html[data-accessibility="on"][data-font-size="xlarge"] label {
  font-size: clamp(22px, 1.55vw, 25px) !important;
  line-height: 1.92 !important;
}

html[data-accessibility="on"][data-font-size="large"] h1,
html[data-accessibility="on"][data-font-size="large"] h2,
html[data-accessibility="on"][data-font-size="large"] h3 {
  transform: scale(1.03);
  transform-origin: left center;
}

html[data-accessibility="on"][data-font-picker="open"][data-font-size="large"] .font-size-controls {
  width: 174px;
  max-height: 290px;
  padding: 10px;
}

html[data-accessibility="on"][data-font-picker="open"][data-font-size="xlarge"] .font-size-controls {
  width: 202px;
  max-height: 340px;
  padding: 12px;
}

html[data-accessibility="on"][data-font-size="xlarge"] h1,
html[data-accessibility="on"][data-font-size="xlarge"] h2,
html[data-accessibility="on"][data-font-size="xlarge"] h3 {
  transform: scale(1.07);
  transform-origin: left center;
}

html[data-accessibility="on"] .eyebrow,
html[data-accessibility="on"] .text-jade,
html[data-accessibility="on"] .text-jade-deep,
html[data-accessibility="on"] .text-sage,
html[data-accessibility="on"] .text-sage-deep {
  color: #005f46 !important;
}

html[data-accessibility="on"] .bg-white,
html[data-accessibility="on"] [class*="bg-white/"],
html[data-accessibility="on"] .bg-footer,
html[data-accessibility="on"] .legal-card,
html[data-accessibility="on"] .legal-visual-card,
html[data-accessibility="on"] .shadow-card,
html[data-accessibility="on"] .shadow-form,
html[data-accessibility="on"] .border-ink\/12,
html[data-accessibility="on"] .border-ink\/\[0\.06\],
html[data-accessibility="on"] .border-ink\/\[0\.07\] {
  background-color: #fffdf8 !important;
  border-color: rgba(0, 0, 0, .28) !important;
}

html[data-accessibility="on"] footer.bg-footer,
html[data-accessibility="on"] .bg-footer {
  background: #fffdf8 !important;
  color: #161616 !important;
}

html[data-accessibility="on"] footer img[src*="health-cream"] {
  filter: invert(1) saturate(.2) brightness(.55);
}

html[data-accessibility="on"] footer [class*="border-cream"] {
  border-color: rgba(0, 0, 0, .28) !important;
}

html[data-accessibility="on"] a.bg-jade,
html[data-accessibility="on"] button.bg-jade,
html[data-accessibility="on"] .bg-jade {
  background-color: #005f46 !important;
  color: #fff !important;
}

html[data-accessibility="on"] a,
html[data-accessibility="on"] button,
html[data-accessibility="on"] input,
html[data-accessibility="on"] textarea,
html[data-accessibility="on"] select {
  outline-offset: 4px;
}

html[data-accessibility="on"] input,
html[data-accessibility="on"] textarea,
html[data-accessibility="on"] select {
  min-height: 50px;
  border: 2px solid #161616 !important;
  background: #fff !important;
}

html[data-accessibility="on"] a:focus-visible,
html[data-accessibility="on"] button:focus-visible,
html[data-accessibility="on"] input:focus-visible,
html[data-accessibility="on"] textarea:focus-visible,
html[data-accessibility="on"] select:focus-visible {
  outline: 3px solid #005f46 !important;
}

html[data-accessibility="on"] a:not(.bg-jade) {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

html[data-accessibility="on"] .form-status.is-error {
  color: #8b0000 !important;
  font-weight: 800;
}

html[data-accessibility="on"] .form-status.is-success {
  color: #005f46 !important;
  font-weight: 800;
}

html[data-accessibility="on"] [aria-invalid="true"] {
  border-color: #8b0000 !important;
  box-shadow: 0 0 0 4px rgba(139, 0, 0, .18) !important;
}

html[data-accessibility="on"] *,
html[data-accessibility="on"] *::before,
html[data-accessibility="on"] *::after {
  animation: none !important;
  transition-duration: .01ms !important;
  scroll-behavior: auto !important;
}

html[data-accessibility="on"] .site-tools,
html[data-accessibility="on"] .site-tools *,
html[data-accessibility="on"] .font-size-controls,
html[data-accessibility="on"] .font-size-controls * {
  transition-duration: .28s !important;
}

html[data-accessibility="on"] .font-size-controls {
  transition-property: max-height, padding, border-width, opacity, transform, visibility !important;
  transition-timing-function: cubic-bezier(.2,.8,.2,1) !important;
}

html[data-accessibility="on"] main > section::before {
  background: #161616 !important;
  opacity: .18;
}

html[data-accessibility="on"] main > section::after,
html[data-accessibility="on"] main > section:nth-of-type(even),
html[data-accessibility="on"] main > section:nth-of-type(odd) {
  background-image: none !important;
}

html[data-accessibility="on"] .scroll-reveal,
html[data-accessibility="on"] .scroll-reveal.is-visible {
  opacity: 1 !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .scroll-reveal,
  .scroll-reveal.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

html[data-accessibility="on"] .site-tools .accessibility-toggle {
  border-color: #005f46 !important;
  background: #005f46 !important;
  color: #fff !important;
  box-shadow: 0 16px 38px rgba(0, 95, 70, .26) !important;
}

html[data-accessibility="on"] .site-tools .font-size-button {
  background: #fffdf8 !important;
  border-color: rgba(0, 0, 0, .32) !important;
  color: #161616 !important;
  box-shadow: none !important;
  min-height: 38px !important;
  padding: 9px 11px !important;
  line-height: 1.12 !important;
}

html[data-accessibility="on"] .site-tools .font-size-button.is-normal {
  font-size: 12px !important;
}

html[data-accessibility="on"] .site-tools .font-size-button.is-large {
  font-size: 13.5px !important;
}

html[data-accessibility="on"] .site-tools .font-size-button.is-xlarge {
  font-size: 14.5px !important;
}

html[data-accessibility="on"][data-font-size="large"] .font-size-label {
  font-size: 13.5px !important;
}

html[data-accessibility="on"][data-font-size="large"] .site-tools .font-size-button {
  min-height: 43px !important;
  padding: 10px 12px !important;
}

html[data-accessibility="on"][data-font-size="large"] .site-tools .font-size-button.is-normal {
  font-size: 13px !important;
}

html[data-accessibility="on"][data-font-size="large"] .site-tools .font-size-button.is-large {
  font-size: 15px !important;
}

html[data-accessibility="on"][data-font-size="large"] .site-tools .font-size-button.is-xlarge {
  font-size: 16px !important;
}

html[data-accessibility="on"][data-font-size="xlarge"] .font-size-label {
  font-size: 15px !important;
}

html[data-accessibility="on"][data-font-size="xlarge"] .site-tools .font-size-button {
  min-height: 50px !important;
  padding: 12px 14px !important;
}

html[data-accessibility="on"][data-font-size="xlarge"] .site-tools .font-size-button.is-normal {
  font-size: 15px !important;
}

html[data-accessibility="on"][data-font-size="xlarge"] .site-tools .font-size-button.is-large {
  font-size: 17px !important;
}

html[data-accessibility="on"][data-font-size="xlarge"] .site-tools .font-size-button.is-xlarge {
  font-size: 19px !important;
}

html[data-accessibility="on"] .site-tools .font-size-button[aria-pressed="true"] {
  background: #005f46 !important;
  border-color: #005f46 !important;
  color: #fff !important;
}

html[data-accessibility="on"] .font-size-label {
  color: #161616 !important;
}

html[data-accessibility="on"] .site-tools .theme-toggle {
  border-style: dashed !important;
}

@media (max-width: 760px) {
  html[data-orientation="open"] {
    overflow: hidden;
  }

  html[data-orientation="open"] .orientation-panel,
  html[data-orientation="open"] .orientation-panel[hidden] {
    position: fixed !important;
    z-index: 9999 !important;
    top: 112px !important;
    right: 16px !important;
    bottom: 88px !important;
    left: 16px !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    visibility: visible !important;
  }

  html[data-orientation="open"] .orientation-panel-head {
    position: sticky !important;
    top: -14px !important;
  }

  html[data-orientation="open"] .orientation-toggle {
    z-index: 10000 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  html[data-orientation="open"] .theme-toggle,
  html[data-orientation="open"] .accessibility-toggle,
  html[data-orientation="open"] .back-to-top {
    opacity: .22 !important;
    pointer-events: none !important;
  }

  html[data-orientation="open"] body::after {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(22, 22, 20, .18);
    content: "";
    pointer-events: none;
  }
}

