/* WSK-Vision – Startseite (klassisch) */

:root {
  --intro: 1.35s;
  --ink: #0E2841;
  --ink-2: #2A3442;
  --muted: #5E6670;
  --muted-2: #676C73;
  --line: #E5DED0;
  --line-2: #D6CDBB;
  --mist: #EEE8DC;
  --pale: #EFE9DC;
  --blue: #0E2841;
  --blue-dark: #08192B;
  --white: #FFFFFF;

  --serif: 'EB Garamond', Garamond, Georgia, serif;
  --sans: 'Jost', sans-serif;
  --sub: 'Jost', sans-serif;
  --gold: #C29B4F;
  --brass: #A5854E;
  --paper: #F7F4EE;
  --ease: cubic-bezier(.23, 1, .32, 1);

  --max: 1440px;
  --gutter: clamp(20px, 4vw, 56px);
  --section-y: clamp(80px, 10vw, 136px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-optical-sizing: auto;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-dark); }
img { display: block; max-width: 100%; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

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

@keyframes aUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes aKb { from { transform: scale(1.12); } to { transform: scale(1.02); } }

.container { max-width: var(--max); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.section { padding-top: var(--section-y); padding-bottom: var(--section-y); }
.border-top { border-top: 1px solid var(--line); }

/* ---------- Typography ---------- */
.eyebrow {
  display: block;
  font-size: 12px; font-weight: 700; letter-spacing: .2em; font-family: var(--sub); text-transform: uppercase;
  color: var(--brass);
}
.h2 {
  margin: 0;
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(34px, 3.8vw, 56px); line-height: 1.1;
  color: var(--ink);
}
.lead { margin: 0; font-size: 17px; line-height: 1.7; color: var(--muted); text-wrap: pretty; }
.body { margin: 0; font-size: 15px; line-height: 1.7; color: var(--muted); }

/* ---------- Buttons ---------- */
.btn {
  --fill: var(--blue);
  --fill-fg: var(--white);
  position: relative; isolation: isolate; overflow: hidden;
  appearance: none; border: 0; border-radius: 0; background: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 22px;
  font-size: 12px; font-weight: 600; letter-spacing: .12em; font-family: var(--sub); text-transform: uppercase;
  white-space: nowrap;
  transition: color .45s var(--ease), border-color .45s var(--ease), letter-spacing .45s var(--ease), transform .16s ease-out;
}
/* Farbfläche fährt von links ein und nach rechts wieder aus */
.btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: var(--fill);
  transform: scaleX(0); transform-origin: right center;
  transition: transform .55s var(--ease);
}
.btn:hover::before, .btn:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
.btn:hover, .btn:focus-visible { color: var(--fill-fg) !important; letter-spacing: .14em; }
/* Pfeil: läuft rechts raus und kommt von links wieder rein */
.btn > span[aria-hidden] { display: inline-block; }
.btn:hover > span[aria-hidden], .btn:focus-visible > span[aria-hidden] { animation: btnArrow .55s var(--ease); }
@keyframes btnArrow {
  0% { transform: none; opacity: 1; }
  45% { transform: translateX(14px); opacity: 0; }
  46% { transform: translateX(-14px); opacity: 0; }
  100% { transform: none; opacity: 1; }
}
.btn:active { transform: scale(.97); }

.btn--light { background: var(--paper); color: var(--blue); }
.btn--dark-text { color: var(--ink); }
.btn--outline { border: 1px solid var(--blue); color: var(--blue); }
.btn--outline-light { border: 1px solid rgba(255,255,255,.6); color: var(--white); --fill: var(--white); --fill-fg: var(--blue); }
.btn--outline-light:hover { border-color: var(--white); }
.btn--solid { background: var(--blue); color: var(--white); --fill: var(--gold); --fill-fg: var(--ink); }
a.btn:hover { color: var(--fill-fg); }
.btn--sm { padding: 12px 20px; }

/* ---------- Sprachauswahl ---------- */
.lang { position: relative; }
.lang__toggle {
  appearance: none; background: none; border: 0; cursor: pointer;
  padding: 6px 0; display: flex; align-items: center; gap: 8px;
  color: inherit; font-family: var(--sub); font-size: 12px; font-weight: 600; letter-spacing: .14em;
}
.lang__caret { font-size: 8px; opacity: .6; }
.lang__menu {
  position: absolute; right: 0; top: calc(100% + 14px); z-index: 70;
  min-width: 200px; margin: 0; padding: 6px 0; list-style: none;
  background: var(--paper); border: 1px solid var(--line);
  box-shadow: 0 16px 40px rgba(14,40,65,.14);
}
.lang__menu[hidden] { display: none; }
.lang__option {
  appearance: none; background: none; border: 0; width: 100%; cursor: pointer; text-align: left;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 10px 16px; font-size: 13px; letter-spacing: normal; color: var(--ink);
}
.lang__option:hover:not(:disabled) { background: var(--mist); }
.lang__option:disabled { cursor: default; color: #B0B4B9; }
.lang__note { font-size: 11px; color: var(--muted-2); }

/* ---------- Navbar: transparent über dem Hero, weiß beim Scrollen ---------- */
html { scroll-padding-top: 84px; }
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  color: var(--ink);
  background: rgba(247,244,238,.96);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--line);
  transition: background-color .45s var(--ease), color .45s var(--ease), border-color .45s, box-shadow .3s;
}
.navbar.is-scrolled { box-shadow: 0 8px 28px rgba(14,40,65,.08); }
.navbar.is-light, html.menu-open .navbar {
  background: transparent; color: var(--white); border-bottom-color: rgba(255,255,255,.18); box-shadow: none;
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
.navbar__inner { display: flex; align-items: center; gap: clamp(20px, 3vw, 48px); height: 92px; transition: height .4s var(--ease); }
.navbar.is-scrolled:not(.is-light) .navbar__inner { height: 68px; }
.brand { flex: none; display: flex; }
.brand img { height: 30px; width: auto; transition: height .4s var(--ease), filter .45s; }
.navbar.is-scrolled:not(.is-light) .brand img { height: 24px; }


.nav { display: flex; align-items: center; gap: clamp(18px, 2vw, 32px); margin-left: auto; transition: opacity .4s; }
html.menu-open .nav { opacity: 0; pointer-events: none; }
.nav a {
  position: relative; padding: 8px 0;
  font-size: 14px; font-weight: 500; letter-spacing: .02em; color: inherit;
  transition: opacity .25s;
}
.nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: right;
  transition: transform .45s var(--ease);
}
.nav:hover a { opacity: .55; }
.nav a:hover { opacity: 1; color: inherit; }
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }

.navbar__tools { display: flex; align-items: center; gap: clamp(16px, 1.8vw, 28px); padding-left: clamp(16px, 1.8vw, 28px); border-left: 1px solid currentColor; border-left-color: color-mix(in srgb, currentColor 22%, transparent); }
.navbar__cta { flex: none; }
.navbar.is-light .navbar__cta, html.menu-open .navbar__cta { background: var(--paper); color: var(--blue); --fill: var(--blue); --fill-fg: var(--white); }

.nav-toggle {
  display: flex; appearance: none; background: none; border: 0; cursor: pointer;
  min-height: 44px; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 600; letter-spacing: .16em; font-family: var(--sub); text-transform: uppercase; color: inherit;
}
.nav-toggle__bars { position: relative; width: 26px; height: 10px; }
.nav-toggle__bars span {
  position: absolute; left: 0; height: 1.5px; background: currentColor;
  transition: transform .45s var(--ease), top .45s var(--ease), width .45s var(--ease);
}
.nav-toggle__bars span:first-child { top: 0; width: 100%; }
.nav-toggle__bars span:last-child { top: 8.5px; width: 62%; }
.nav-toggle:hover .nav-toggle__bars span:last-child { width: 100%; }
html.menu-open .nav-toggle__bars span:first-child { top: 4.25px; transform: rotate(45deg); }
html.menu-open .nav-toggle__bars span:last-child { top: 4.25px; width: 100%; transform: rotate(-45deg); }

@media (max-width: 1239px) { .navbar__cta { display: none; } }
@media (max-width: 1100px) { .nav { display: none; } .navbar__tools { margin-left: auto; } }

/* ---------- Vollbild-Menü ---------- */
html.menu-open { overflow: hidden; }
.menu {
  position: fixed; inset: 0; z-index: 55; background: var(--ink); color: var(--white);
  clip-path: inset(0 0 100% 0); visibility: hidden;
  transition: clip-path .95s cubic-bezier(.77, 0, .18, 1), visibility 0s linear .95s;
}
html.menu-open .menu { clip-path: inset(0); visibility: visible; transition: clip-path .95s cubic-bezier(.77, 0, .18, 1); }
.menu__inner {
  height: 100%; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto;
  gap: 24px clamp(40px, 6vw, 112px); padding-top: 132px; padding-bottom: 36px;
}
.menu__nav { display: flex; flex-direction: column; justify-content: safe center; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.menu__nav::-webkit-scrollbar { display: none; }
.menu__nav a {
  display: flex; align-items: baseline; gap: clamp(16px, 2vw, 32px); overflow: hidden; color: var(--white);
  padding: .04em 0; flex-shrink: 0;
}
.menu__nav a > span { display: inline-block; transform: translateY(115%); transition: transform .5s var(--ease); }
html.menu-open .menu__nav a > span { transform: none; transition: transform 1s cubic-bezier(.19, 1, .22, 1) calc(.35s + var(--i) * .06s), opacity .3s, color .3s; }
.menu__num { font-family: var(--sub); font-size: 13px; font-weight: 600; letter-spacing: .2em; color: #9A9384; min-width: 2.4em; }
.menu__label { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, min(5.4vw, 6vh), 88px); line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
.menu__nav:hover .menu__label { opacity: .32; }
.menu__nav a:hover .menu__label, .menu__nav a:focus-visible .menu__label { opacity: 1; font-style: italic; color: #E3CB97; }
.menu__nav a:hover .menu__num { color: #C29B4F; }
.menu__nav a[aria-current="page"] .menu__num { color: #C29B4F; }

.menu__media { position: relative; align-self: center; justify-self: end; width: min(100%, 520px); aspect-ratio: 4 / 5; max-height: calc(100vh - 260px); overflow: hidden; background: #0A1E31; }
.menu__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; scale: 1.08; transition: opacity .7s var(--ease), scale 1.4s var(--ease); }
.menu__media img.is-active { opacity: 1; scale: 1; }
.menu__media { clip-path: inset(100% 0 0 0); transition: clip-path .6s var(--ease); }
html.menu-open .menu__media { clip-path: inset(0); transition: clip-path 1.2s cubic-bezier(.77, 0, .18, 1) .3s; }

.menu__foot {
  grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
  padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); font-size: 13px; color: #9A9384;
  opacity: 0; transition: opacity .3s;
}
html.menu-open .menu__foot { opacity: 1; transition: opacity .8s .7s; }
.menu__claim { font-family: var(--serif); font-style: italic; font-size: 20px; color: #C29B4F; }

/* ---------- Hero ---------- */
.hero {
  position: relative; overflow: hidden;
  min-height: max(640px, 100vh);
  display: flex; flex-direction: column;
  background: var(--ink);
}
.hero__slides { position: absolute; inset: 0; z-index: 0; }
.hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; filter: saturate(.7);
  clip-path: inset(0 0 0 100%); z-index: 0; transform: scale(1.08);
}
.hero__img.is-prev { clip-path: inset(0); z-index: 1; }
.hero__img.is-active { clip-path: inset(0); z-index: 2; transition: clip-path 1.5s cubic-bezier(.77, 0, .18, 1); animation: heroKb 9s linear both; }
@keyframes heroKb { from { transform: scale(1.12); } to { transform: scale(1.02); } }
.hero__shade-v { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,24,40,.35) 0%, rgba(8,24,40,.2) 30%, rgba(8,24,40,.45) 55%, rgba(8,24,40,.92) 100%); }
.hero__shade-h { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,24,40,.75) 0%, rgba(8,24,40,.45) 45%, rgba(8,24,40,0) 75%); }
.hero__content {
  position: relative; z-index: 1; flex: 1; width: 100%;
  padding-top: clamp(64px, 8vw, 112px); padding-bottom: clamp(28px, 4vw, 48px);
  display: flex; flex-direction: column; justify-content: flex-end; gap: clamp(28px, 4vw, 48px);
}
.hero__title { margin: 0; display: flex; flex-direction: column; color: var(--white); }
.hero__kicker {
  font-size: clamp(14px, 1.4vw, 18px); font-weight: 500; letter-spacing: .24em; font-family: var(--sub); text-transform: uppercase;
  color: var(--pale); margin-bottom: 16px;
  animation: aUp .8s calc(var(--intro) + .02s) var(--ease) both;
}
.hero__line {
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(52px, 7.4vw, 120px); line-height: 1; letter-spacing: -.025em;
  display: block; overflow: hidden; padding: .12em 0 .1em; margin: -.12em 0 -.1em;
}
.hero__line > span { display: inline-block; animation: lineUp 1.2s cubic-bezier(.19, 1, .22, 1) calc(var(--intro) + var(--d, .1s)) both; }
@keyframes lineUp { from { transform: translateY(110%) rotate(2deg); } to { transform: none; } }
.hero__line--indent { padding-left: clamp(0px, 6vw, 96px); }
.hero__line--italic { font-style: italic; color: var(--pale); }
.hero__foot {
  display: flex; flex-direction: column; align-items: flex-start; gap: 28px;
  animation: aUp .9s calc(var(--intro) + .7s) var(--ease) both;
}
.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.hero__text { margin: 0; max-width: 540px; font-size: 16px; line-height: 1.7; color: var(--pale); text-wrap: pretty; }

/* ---------- Two-column intro grid ---------- */
.split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: clamp(40px, 6vw, 96px);
  align-items: start;
}
.stack { display: flex; flex-direction: column; gap: 22px; }

/* ---------- Campus ---------- */
.campus__lead { margin: 0; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.7; color: var(--ink-2); text-wrap: pretty; }
.campus__note { margin: 0; font-size: 14px; line-height: 1.7; color: var(--muted); padding-top: 20px; border-top: 1px solid var(--line); }
.caption { display: block; margin-top: 12px; font-size: 12px; font-style: italic; color: var(--muted); }

/* ---------- Konzept ---------- */
.center-head {
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px;
  margin-bottom: clamp(48px, 6vw, 80px);
}
.center-head .lead { max-width: 640px; }

/* ---------- Image + text halves ---------- */
.halves { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); align-items: stretch; }
.halves__media { position: relative; overflow: hidden; min-height: clamp(360px, 40vw, 580px); }
.halves__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }


/* ---------- Prioritäten ---------- */
.priorities { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.priorities__intro { position: sticky; top: 90px; }
.priorities__intro .body { font-size: 16px; max-width: 440px; }
.priorities__intro .btn { align-self: flex-start; }
.prio-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.prio { padding: 30px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; }
.prio__num { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--blue); font-weight: 500; }
.prio__body { display: flex; flex-direction: column; gap: 10px; }
.prio__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 24px; color: var(--ink); }

/* ---------- Veranstaltungen ---------- */
.events__head { align-items: end; gap: clamp(32px, 5vw, 80px); margin-bottom: clamp(40px, 5vw, 64px); }
.events__head .stack { gap: 20px; }
.events__intro { margin: 0; font-size: 17px; line-height: 1.7; color: var(--ink-2); text-wrap: pretty; }
.event-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.event {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
  align-items: center; gap: 16px 32px; padding: 26px 0; border-bottom: 1px solid var(--line);
}
.event__place { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; }
.event__city { font-family: var(--serif); font-size: clamp(28px, 3vw, 42px); line-height: 1.05; color: var(--blue); font-weight: 500; }
.event__country { font-size: 12px; font-weight: 600; letter-spacing: .14em; font-family: var(--sub); text-transform: uppercase; color: var(--muted); }
.event__meta { display: flex; flex-direction: column; gap: 4px; }
.event__format { font-size: 15px; color: var(--ink); }
.event__date { font-size: 13px; color: var(--muted-2); }
@media (max-width: 640px) {
  .event { grid-template-columns: 1fr; }
  .event .btn { justify-self: start; }
}

.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; margin-top: clamp(32px, 4vw, 48px); }
.card { padding: 24px; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; }
.card--plain { border: 0; justify-content: center; }
.card__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 21px; color: var(--blue); }
.card p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--muted); }

/* ---------- Mother's Day ---------- */
.mothers { background: var(--ink); color: var(--white); }
.mothers .halves__media { min-height: clamp(360px, 42vw, 600px); }
.mothers__body { padding: clamp(56px, 7vw, 104px) clamp(24px, 5vw, 80px); display: flex; flex-direction: column; justify-content: center; gap: 24px; }
.mothers__eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .2em; font-family: var(--sub); text-transform: uppercase; color: #DDD6C8; }
.mothers__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: clamp(34px, 3.8vw, 56px); line-height: 1.08; color: var(--white); }
.mothers__text { margin: 0; font-size: 16px; line-height: 1.7; color: #DDD6C8; max-width: 520px; text-wrap: pretty; }
.mothers__quote { margin: 0; font-family: var(--serif); font-style: italic; font-size: 20px; line-height: 1.45; color: var(--white); max-width: 480px; }
.mothers__actions { display: flex; gap: 12px; flex-wrap: wrap; padding-top: 6px; }
.mothers__fine { margin: 0; font-size: 13px; color: #9A9384; }

/* ---------- Engagement ---------- */
.engage__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px 48px; flex-wrap: wrap; margin-bottom: clamp(40px, 5vw, 64px); }
.engage__head .stack { gap: 20px; max-width: 640px; }
.engage__head .body { font-size: 16px; max-width: 420px; }
.ways { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; }
.way {
  padding: 32px 28px; background: var(--paper);
  border: 1px solid var(--line); border-top: 2px solid var(--blue);
  display: flex; flex-direction: column; gap: 14px; color: var(--ink);
  transition: background .2s;
}
.way:hover { background: var(--mist); color: var(--ink); }
.way__tag { font-size: 12px; font-weight: 600; letter-spacing: .14em; font-family: var(--sub); text-transform: uppercase; color: var(--muted); }
.way__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 24px; line-height: 1.2; color: var(--ink); }
.way p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--muted); }

/* ---------- Menschen ---------- */
.people .center-head { gap: 18px; }
.people .center-head .body { font-size: 16px; max-width: 620px; text-wrap: pretty; }
.board { display: flex; flex-direction: column; gap: 20px; margin-bottom: clamp(56px, 7vw, 88px); }
.board__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.board__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 26px; color: var(--ink); }
.board__sub { font-size: 13px; color: var(--muted); }
.board__grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 20px; }
.member { display: flex; flex-direction: column; gap: 14px; }
.member__portrait { aspect-ratio: 1 / 1; max-height: 300px; background: var(--mist); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 40px; color: #A9AEB4; }
.member__name { display: block; font-family: var(--serif); font-size: 21px; color: var(--ink); font-weight: 500; }
.member__role { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
.board__note { margin: 6px 0 0; font-size: 13px; font-style: italic; color: var(--muted); }

.contact-box {
  border: 1px solid var(--line); padding: clamp(28px, 4vw, 56px);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: clamp(28px, 4vw, 64px); align-items: start;
}
.contact-box__intro { display: flex; flex-direction: column; gap: 16px; }
.contact-box__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.15; color: var(--ink); }
.region-picker { display: flex; flex-direction: column; gap: 6px; padding-top: 6px; border: 0; margin: 0; padding-left: 0; padding-right: 0; }
.region-picker legend { padding: 0; margin-bottom: 6px; font-size: 12px; font-weight: 600; letter-spacing: .12em; font-family: var(--sub); text-transform: uppercase; color: var(--ink); }
.region-picker__options { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  appearance: none; border-radius: 0; cursor: pointer;
  padding: 12px 18px; border: 1px solid var(--line-2); background: var(--paper);
  font-size: 13px; font-weight: 600; color: var(--ink);
  transition: background-color .2s, color .2s, border-color .2s;
}
.chip[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: var(--white); }
.officers-wrap { grid-column: span 2; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 700px) { .officers-wrap { grid-column: auto; } }
.officers { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.officer {
  padding: 20px; background: var(--paper); border: 1px solid var(--line);
  display: flex; align-items: center; gap: 16px;
  transition: opacity .3s, border-color .3s;
}
.officer.is-dim { opacity: .4; }
.officer.is-match { border-color: var(--blue); }
.officer__avatar { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--mist); display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 18px; color: var(--muted); }
.officer__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.officer__name { font-family: var(--serif); font-size: 19px; color: var(--ink); font-weight: 500; }
.officer__region { font-size: 12px; font-weight: 600; letter-spacing: .1em; font-family: var(--sub); text-transform: uppercase; color: var(--blue); }
.officer__link { font-size: 13px; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; }
.officer__link:hover { color: var(--blue); }
.asia-note { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-2); }

/* ---------- Netzwerk ---------- */
.network { background: var(--blue); }
.network__inner { display: flex; flex-direction: column; gap: 36px; }
.network__title { margin: 0; max-width: 1100px; font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 5.2vw, 84px); line-height: 1.06; color: var(--white); }
.network__title em { color: #E3CB97; }
.network__foot { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.25); }
.network__text { margin: 0; max-width: 520px; font-size: 17px; line-height: 1.7; color: #EDE6D8; text-wrap: pretty; }
.network__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.network .btn--light { --fill: var(--gold); --fill-fg: var(--ink); }

/* ---------- Dialog ---------- */
.dialog {
  border: 0; padding: 0; margin: auto;
  width: calc(100% - 40px); max-width: 640px; max-height: calc(100% - 40px);
  background: var(--paper); color: var(--ink);
}
.dialog::backdrop { background: rgba(14,40,65,.55); }
.dialog__inner { position: relative; padding: clamp(28px, 4vw, 48px); }
.dialog__close {
  appearance: none; background: none; border: 0; cursor: pointer;
  position: absolute; top: 10px; right: 10px; width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; line-height: 1; color: var(--ink);
}
.reg-form { display: flex; flex-direction: column; gap: 18px; }
.reg-form__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; color: var(--ink); }
.reg-form__intro { margin: 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
.fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; }
.field { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--ink); }
.field input, .field select, .field textarea {
  font: inherit; font-weight: 400; letter-spacing: 0; font-size: 15px;
  padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 0;
  background: var(--paper); color: var(--ink);
}
.field textarea { resize: vertical; }
.consent { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.55; color: var(--muted); }
.consent input { margin-top: 3px; accent-color: var(--blue); }
.reg-form .btn { align-self: flex-start; }
.reg-form__fine { margin: 0; font-size: 12px; color: var(--muted-2); }
.reg-done { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; padding: 32px 0; }
.reg-done[hidden], .reg-form[hidden] { display: none; }
.reg-done__check { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--blue); display: flex; align-items: center; justify-content: center; color: var(--blue); font-size: 22px; }
.reg-done__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: 34px; color: var(--ink); }
.reg-done p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); max-width: 380px; }

/* ---------- Footer ---------- */
.footer { background: var(--ink); color: #C9C2B4; }

/* Motto-Bühne */
.footer__stage { position: relative; overflow: hidden; border-bottom: 1px solid rgba(201,194,180,.16); }
.footer__stage-bg {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(14,40,65,.55) 0%, rgba(14,40,65,.78) 60%, var(--ink) 100%),
    url("../img/teaser_stiftung.jpg") center 40% / cover no-repeat fixed;
  filter: grayscale(.6);
}
.footer__stage-inner {
  position: relative; z-index: 1;
  padding-top: clamp(96px, 11vw, 168px); padding-bottom: clamp(72px, 8vw, 120px);
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px;
}
.footer__stage-eyebrow {
  display: flex; align-items: center; gap: 16px;
  font-size: 12px; font-weight: 700; letter-spacing: .24em; font-family: var(--sub); text-transform: uppercase; color: #9A9384;
}
.footer__stage-eyebrow::before, .footer__stage-eyebrow::after { content: ""; width: 40px; height: 1px; background: currentColor; opacity: .6; }
.footer__motto {
  margin: 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 0 clamp(20px, 3vw, 48px);
  font-family: var(--serif); font-weight: 500;
  font-size: clamp(48px, 7.6vw, 128px); line-height: 1; letter-spacing: -.015em;
}
.footer__word {
  display: inline-block; color: var(--white); cursor: default;
  transition: color .5s var(--ease), transform .6s var(--ease);
}
.footer__word--italic { font-style: italic; color: #E3CB97; }
.footer__motto:hover .footer__word { color: rgba(255,255,255,.28); }
.footer__motto .footer__word:hover { color: var(--white); transform: translateY(-6px); }
.footer__sep { width: clamp(28px, 4vw, 64px); height: 1px; background: rgba(255,255,255,.35); }
.footer__motto-de { font-family: var(--serif); font-style: italic; font-size: 18px; color: #9A9384; }

/* Einblenden beim Scrollen */
[data-reveal] .footer__word, [data-reveal] .footer__sep, [data-reveal] .footer__stage-eyebrow, [data-reveal] .footer__motto-de { opacity: 0; }
[data-reveal].is-visible .footer__stage-eyebrow { animation: aUp .8s var(--ease) both; }
[data-reveal].is-visible .footer__word { animation: aUp .9s calc(.12s + var(--i) * .14s) var(--ease) both; }
[data-reveal].is-visible .footer__sep { animation: lineIn .8s .4s var(--ease) both; }
[data-reveal].is-visible .footer__motto-de { animation: aUp .8s .6s var(--ease) both; }
@keyframes lineIn { from { opacity: 0; transform: scaleX(0); } to { opacity: 1; transform: none; } }

/* Spalten */
.footer__main {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(32px, 4vw, 72px);
  padding-top: clamp(64px, 7vw, 96px); padding-bottom: clamp(56px, 6vw, 80px);
}
@media (max-width: 1023px) { .footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.footer__brand { display: flex; flex-direction: column; gap: 22px; }
.footer__brand img { height: 64px; width: auto; align-self: flex-start; filter: brightness(0) invert(1); }
.footer__brand address { font-style: normal; font-size: 14px; line-height: 1.75; }
.footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; font-size: 15px; }
.footer__col-title { font-size: 11px; font-weight: 700; letter-spacing: .2em; font-family: var(--sub); text-transform: uppercase; color: #9A9384; margin-bottom: 8px; }
.footer__col a {
  display: inline-flex; align-items: center; color: var(--white);
  transition: color .3s, transform .4s var(--ease);
}
.footer__col a::before {
  content: "→"; width: 0; overflow: hidden; opacity: 0; color: #E3CB97;
  transition: width .4s var(--ease), opacity .3s, margin .4s var(--ease);
}
.footer__col a:hover { color: #E3CB97; }
.footer__col a:hover::before { width: 1em; margin-right: 8px; opacity: 1; }
.footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.footer__contact p { margin: 0 0 6px; font-family: var(--serif); font-size: 20px; line-height: 1.4; color: var(--white); }

/* Unterleiste */
.footer__bottom {
  display: flex; justify-content: space-between; align-items: center; gap: 20px 32px; flex-wrap: wrap;
  padding-top: 24px; padding-bottom: 28px; border-top: 1px solid rgba(201,194,180,.16); font-size: 13px;
}
.footer__legal { display: flex; gap: 24px; margin-left: auto; }
.footer__legal a, .footer__top-link { color: #C9C2B4; background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; transition: color .3s, background-size .4s var(--ease); padding-bottom: 2px; }
.footer__legal a:hover { color: var(--white); background-size: 100% 1px; }
.footer__top-link { display: inline-flex; align-items: center; gap: 12px; background: none; }
.footer__top-icon {
  width: 36px; height: 36px; border: 1px solid rgba(201,194,180,.4); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; overflow: hidden;
  transition: border-color .3s, background-color .3s, color .3s;
}
.footer__top-link:hover { color: var(--white); }
.footer__top-icon > span { display: inline-block; }
.footer__top-link:hover .footer__top-icon { background: var(--paper); border-color: var(--white); color: var(--ink); }
.footer__top-link:hover .footer__top-icon > span { animation: arrowUp .55s var(--ease); }
@keyframes arrowUp {
  0% { transform: none; opacity: 1; }
  45% { transform: translateY(-14px); opacity: 0; }
  46% { transform: translateY(14px); opacity: 0; }
  100% { transform: none; opacity: 1; }
}


/* =========================================================
   Interaktion & Animation
   ========================================================= */

/* ---------- Einblenden beim Scrollen ---------- */
.js [data-anim] { opacity: 0; transform: translateY(32px); transition: opacity .9s var(--ease), transform .9s var(--ease); transition-delay: calc(var(--i, 0) * .1s); }
.js [data-anim].is-in { opacity: 1; transform: none; }
/* Clip liegt auf dem Bild, nicht auf dem Rahmen – sonst meldet der IntersectionObserver nie Sichtbarkeit */
.js [data-reveal-img] img { clip-path: inset(0 0 100% 0); transform: scale(1.15); transition: clip-path 1.3s var(--ease) var(--d, 0s), transform 1.8s var(--ease) var(--d, 0s); }
.js [data-reveal-img].is-in img { clip-path: inset(0 0 0 0); transform: none; }

/* ---------- Lesefortschritt unter der Navbar ---------- */
.navbar::after {
  content: ""; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%;
  background: var(--blue); transform-origin: left; transform: scaleX(var(--progress, 0));
}

/* ---------- Hero: Punkte, Noten, Scroll-Hinweis ---------- */
.hero__dots {
  position: absolute; z-index: 2; right: var(--gutter); bottom: clamp(28px, 4vw, 48px);
  display: flex; gap: 18px;
}
.hero__dot { appearance: none; background: none; border: 0; padding: 8px 0; cursor: pointer; display: flex; flex-direction: column; gap: 10px; text-align: left; color: rgba(255,255,255,.55); transition: color .3s; }
.hero__dot:hover, .hero__dot.is-active { color: var(--white); }
.hero__dot-bar { display: block; width: 84px; height: 2px; background: rgba(255,255,255,.25); overflow: hidden; }
.hero__dot-bar > span { display: block; height: 100%; width: 100%; background: var(--paper); transform: scaleX(0); transform-origin: left; }
.hero__dot.is-active .hero__dot-bar > span { animation: dotFill var(--slide-ms, 7000ms) linear both; }
.hero__dot.is-done .hero__dot-bar > span { transform: scaleX(1); }
@keyframes dotFill { to { transform: scaleX(1); } }
.hero__dot-label { font-size: 11px; font-weight: 600; letter-spacing: .16em; font-family: var(--sub); text-transform: uppercase; }

.hero__notes { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.hero__notes svg {
  position: absolute; left: var(--x); top: var(--y);
  width: var(--s); height: calc(var(--s) * 1.6);
  fill: rgba(255,255,255,.5);
  translate: calc(var(--mx, 0) * var(--z) * -18px) calc(var(--my, 0) * var(--z) * -18px);
  transition: translate 1.2s var(--ease);
  animation: noteFloat var(--dur) ease-in-out var(--del) infinite;
  filter: drop-shadow(0 4px 18px rgba(0,0,0,.25));
}
@keyframes noteFloat {
  0%, 100% { transform: translateY(0) rotate(-6deg); opacity: .35; }
  50% { transform: translateY(-34px) rotate(8deg); opacity: .8; }
}

/* ---------- Horizontale Galerie ---------- */
.hscroll { position: relative; background: var(--ink); color: var(--white); }
.hscroll__sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
.hscroll__track { display: flex; align-items: center; gap: clamp(32px, 4vw, 72px); padding: 64px var(--gutter) 0; width: max-content; will-change: transform; }
.hscroll__intro { width: min(440px, 80vw); flex: none; display: flex; flex-direction: column; gap: 22px; padding-right: 2vw; }
.eyebrow--light { color: #C29B4F; }
.hscroll__title { margin: 0; font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 3.8vw, 58px); line-height: 1.05; }
.hscroll__intro p { margin: 0; font-size: 16px; line-height: 1.7; color: #D9D3C6; }
.hscroll__hint { display: inline-flex; gap: 10px; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .16em; font-family: var(--sub); text-transform: uppercase; color: #9A9384; }
.hscroll__hint span { animation: hintNudge 1.6s var(--ease) infinite; }
@keyframes hintNudge { 50% { transform: translateX(8px); } }
.hscroll__item { flex: none; margin: 0; width: clamp(300px, 30vw, 460px); translate: 0 var(--o, 0); }
.hscroll__item--tall { width: clamp(240px, 21vw, 330px); }
.hscroll__item--tall .hscroll__media { aspect-ratio: 3 / 4; }
.hscroll__item--wide { width: clamp(420px, 44vw, 700px); }
.hscroll__item--wide .hscroll__media { aspect-ratio: 21 / 9; }
.hscroll__media { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #0A1E31; }
.hscroll__media img { width: 120%; max-width: none; height: 100%; object-fit: cover; translate: var(--px, 0) 0; transition: scale .8s var(--ease), filter .8s var(--ease); filter: saturate(.85); }
.hscroll__item:hover .hscroll__media img { scale: 1.05; filter: saturate(1.05); }
.hscroll__item figcaption { display: flex; align-items: baseline; gap: 14px; margin-top: 16px; font-family: var(--serif); font-size: 22px; font-weight: 500; }
.hscroll__item figcaption span { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .16em; color: #9A9384; }
.hscroll__progress { position: relative; height: 34px; margin: clamp(32px, 5vh, 56px) var(--gutter) 0; display: flex; flex-direction: column; justify-content: space-between; }
.hscroll__progress > span { display: block; height: 1px; background: rgba(255,255,255,.18); }
.hscroll__progress { container-type: inline-size; }

/* ---------- Prioritäten: lebendiger ---------- */
.prio { position: relative; transition: padding-left .5s var(--ease); }
.prio::before { content: ""; position: absolute; left: 0; top: -1px; bottom: -1px; width: 2px; background: var(--blue); transform: scaleY(0); transform-origin: top; transition: transform .5s var(--ease); }
.prio:hover { padding-left: 20px; }
.prio:hover::before { transform: scaleY(1); }

/* ---------- Vorstand ---------- */
.member__portrait { overflow: hidden; }
.member__portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transition: filter .7s var(--ease), transform 1s var(--ease); }
.member:hover .member__portrait img { filter: grayscale(0); transform: scale(1.05); }

/* ---------- Bewegung reduzieren ---------- */
@media (prefers-reduced-motion: reduce) {
  .js [data-anim], .js [data-reveal-img] img { opacity: 1; transform: none; clip-path: none; }
  .hero__notes { display: none; }
}

/* ---------- Konzept: interaktive Säulen ---------- */
.konzept__head { align-items: end; margin-bottom: clamp(48px, 6vw, 88px); }
.konzept__head .lead { max-width: 560px; }
.konzept__body { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 112px); align-items: center; }
.konzept__media { position: relative; aspect-ratio: 5 / 4; overflow: hidden; background: var(--mist); }
.konzept__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; scale: 1.06; transition: opacity .9s var(--ease), scale 1.6s var(--ease); }
.konzept__media img.is-active { opacity: 1; scale: 1; }
.konzept__counter {
  position: absolute; left: 20px; bottom: 18px; z-index: 1;
  padding: 8px 14px; background: rgba(255,255,255,.92);
  font-size: 12px; font-weight: 600; letter-spacing: .16em; color: var(--muted);
}
.konzept__counter span { font-family: var(--serif); font-style: italic; font-size: 18px; letter-spacing: 0; color: var(--blue); }
.konzept__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.kitem { border-bottom: 1px solid var(--line); position: relative; }
.kitem::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--blue); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease); }
.kitem.is-active::before { transform: scaleX(1); }
.kitem__btn {
  appearance: none; background: none; border: 0; cursor: pointer; width: 100%; text-align: left;
  display: grid; grid-template-columns: 64px minmax(0, 1fr) 28px; align-items: baseline; gap: 12px;
  padding: 30px 0; color: var(--ink);
}
.kitem__num { font-family: var(--serif); font-style: italic; font-size: 30px; line-height: 1; color: var(--line-2); transition: color .4s; font-weight: 500; }
.kitem__title { font-family: var(--serif); font-size: clamp(26px, 2.4vw, 36px); line-height: 1.15; color: var(--muted); transition: color .4s, transform .6s var(--ease); font-weight: 500; }
.kitem__btn:hover .kitem__title { color: var(--ink); transform: translateX(6px); }
.kitem.is-active .kitem__num { color: var(--blue); }
.kitem.is-active .kitem__title { color: var(--ink); transform: none; }
.kitem__icon { position: relative; width: 16px; height: 16px; align-self: center; }
.kitem__icon::before, .kitem__icon::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--ink); transition: transform .5s var(--ease); }
.kitem__icon::after { transform: rotate(90deg); }
.kitem.is-active .kitem__icon::after { transform: rotate(0); }
.kitem__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease); }
.kitem__panel > div { overflow: hidden; }
.kitem.is-active .kitem__panel { grid-template-rows: 1fr; }
.kitem__panel p { margin: 0; padding: 0 0 30px 76px; max-width: 520px; font-size: 16px; line-height: 1.7; color: var(--muted); }

/* ---------- Bild-Section: zieht sich beim Scrollen auf ---------- */
.expand { position: relative; height: 220vh; background: var(--paper); }
.expand__sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.expand__frame {
  position: absolute; inset: 0;
  clip-path: inset(calc(var(--ins-y, 18) * 1%) calc(var(--ins-x, 22) * 1%));
  will-change: clip-path;
}
.expand__frame img { width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.25 - var(--ep, 0) * .25)); will-change: transform; }
.expand__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(8,24,40,.45)); opacity: var(--ep, 0); }
.expand__caption {
  position: absolute; left: var(--gutter); bottom: 32px; z-index: 1;
  font-size: 12px; font-weight: 600; letter-spacing: .2em; font-family: var(--sub); text-transform: uppercase; color: var(--white);
  opacity: calc((var(--ep, 0) - .75) * 4);
}

/* Galerie-Fortschritt: Noten erscheinen nach und nach */
.hscroll__staff-note {
  position: absolute; height: 34px; fill: var(--white);
  opacity: 0; transform: translateY(10px) scale(.5); transform-origin: 30% 80%;
  transition: opacity .4s var(--ease), transform .6s cubic-bezier(.34, 1.56, .64, 1);
}
.hscroll__staff-note.is-on { opacity: .9; transform: none; }

/* ---------- Tourkarte ---------- */
.tour-map {
  position: relative; margin-bottom: clamp(40px, 5vw, 64px);
  background: radial-gradient(70% 90% at 70% 40%, #16365A 0%, var(--ink) 70%);
  overflow: hidden;
}
.tour-map__head { position: absolute; left: 32px; top: 28px; right: 32px; z-index: 1; display: flex; justify-content: space-between; align-items: baseline; pointer-events: none; }
.tour-map__hint { font-size: 12px; color: #9A9384; letter-spacing: .04em; }
.tour-map__svg { display: block; width: 100%; height: auto; }
.tour-map__svg .land { fill: #4F6378; }
.tour-map.is-ready .land { animation: dotIn .9s var(--ease) both; animation-delay: calc(var(--r, 0) * 1s); }
@keyframes dotIn { from { opacity: 0; } to { opacity: 1; } }
.tour-map__svg .arc { fill: none; stroke: rgba(194,155,79,.55); stroke-width: 1.4; stroke-dasharray: var(--len); stroke-dashoffset: var(--len); transition: stroke .3s, stroke-width .3s; }
.tour-map.is-in .arc { animation: arcDraw 1.8s var(--ease) forwards; animation-delay: calc(.4s + var(--k) * .25s); }
@keyframes arcDraw { to { stroke-dashoffset: 0; } }
.tour-map__svg .arc.is-hot { stroke: var(--white); stroke-width: 2; }
.tour-map__svg .traveller { fill: var(--white); opacity: .85; }
.tour-map__svg .city { cursor: pointer; outline: none; }
.tour-map__svg .city__dot { fill: var(--white); transition: r .3s var(--ease); }
.tour-map__svg .city__pulse { fill: none; stroke: #C29B4F; stroke-width: 1.2; transform-box: fill-box; transform-origin: center; animation: cityPulse 2.4s ease-out infinite; animation-delay: var(--pd, 0s); }
@keyframes cityPulse { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: scale(3.2); } }
.tour-map__svg .city__label { font-family: var(--serif); font-size: 26px; fill: var(--white); transition: fill .3s; font-weight: 500; }
.tour-map__svg .city__sub { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; fill: #9A9384; font-family: var(--sub); text-transform: uppercase; }
.tour-map__svg .city__cta { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; fill: #C29B4F; opacity: 0; transition: opacity .3s; }
.tour-map__svg .city:hover .city__dot, .tour-map__svg .city:focus-visible .city__dot, .tour-map__svg .city.is-hot .city__dot { r: 7; }
.tour-map__svg .city:hover .city__cta, .tour-map__svg .city:focus-visible .city__cta, .tour-map__svg .city.is-hot .city__cta { opacity: 1; }
.tour-map__svg .city:hover .city__label, .tour-map__svg .city.is-hot .city__label { fill: #E3CB97; }
.tour-map__svg .home { cursor: default; }
.tour-map__svg .home .city__dot { fill: #C29B4F; }
.tour-map__svg .home .city__ring { fill: none; stroke: #C29B4F; stroke-width: 1; }
.event { transition: background-color .3s; }
.event.is-hot { background: linear-gradient(90deg, var(--mist), transparent 80%); }

/* ---------- Engagement-Karten mit Bild ---------- */
.way { position: relative; isolation: isolate; overflow: hidden; min-height: 380px; transition: color .5s var(--ease), border-color .5s; }
.way:hover { background: var(--paper); }
.way__media { position: absolute; inset: 0; z-index: -1; clip-path: inset(100% 0 0 0); transition: clip-path .8s var(--ease); }
.way__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.18); transition: transform 1.4s var(--ease); }
.way__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,40,65,.88) 0%, rgba(14,40,65,.78) 50%, rgba(14,40,65,.28) 74%, rgba(14,40,65,.82) 100%); }
.way:hover .way__media, .way:focus-visible .way__media { clip-path: inset(0 0 0 0); }
.way:hover .way__media img, .way:focus-visible .way__media img { transform: none; }
.way__tag, .way__title, .way p { transition: color .5s var(--ease); }
.way:hover .way__tag, .way:focus-visible .way__tag { color: #C29B4F; }
.way:hover .way__title, .way:focus-visible .way__title { color: var(--white); }
.way:hover p, .way:focus-visible p { color: #DDD6C8; }
.way__more {
  margin-top: auto; align-self: flex-start; display: inline-flex; gap: 10px; align-items: center;
  padding: 13px 22px; background: var(--paper); color: var(--blue);
  font-size: 12px; font-weight: 600; letter-spacing: .12em; font-family: var(--sub); text-transform: uppercase;
  box-shadow: 0 10px 30px -10px rgba(0,0,0,.45);
  opacity: 0; transform: translateY(12px); transition: opacity .5s var(--ease), transform .6s var(--ease), color .45s var(--ease), letter-spacing .45s var(--ease);
}
.way__more > span { display: inline-block; }
.way:hover .way__more > span, .way:focus-visible .way__more > span { animation: btnArrow .55s .35s var(--ease); }
.way__more { position: relative; isolation: isolate; overflow: hidden; }
.way__more::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--blue);
  transform: scaleX(0); transform-origin: right center; transition: transform .55s var(--ease);
}
.way__more:hover::before { transform: scaleX(1); transform-origin: left center; }
.way__more:hover { color: var(--white); letter-spacing: .14em; }
.way__more:hover > span { animation: btnArrow .55s var(--ease); }
.way:hover .way__more, .way:focus-visible .way__more { opacity: 1; transform: none; transition-delay: .15s; }
.way:hover { border-top-color: #C29B4F; }

/* =========================================================
   Mehr Wumms: Intro, Laufband, Headline-Reveal, Parallaxe
   ========================================================= */
html.intro-seen { --intro: 0s; }
html.intro-seen .intro { display: none; }
.intro {
  position: fixed; inset: 0; z-index: 200; background: var(--ink);
  display: flex; align-items: center; justify-content: center;
  animation: introOut 1s cubic-bezier(.77, 0, .18, 1) 1.05s forwards;
}
.intro__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.intro__inner img { height: 44px; width: auto; filter: brightness(0) invert(1); animation: aUp .8s .1s var(--ease) both; }
.intro__line { width: 180px; height: 1px; background: rgba(255,255,255,.4); transform-origin: left; animation: introLine .8s .3s var(--ease) both; }
.intro__claim { font-family: var(--serif); font-style: italic; font-size: 20px; color: #C29B4F; animation: aUp .8s .45s var(--ease) both; }
@keyframes introLine { from { transform: scaleX(0); } to { transform: none; } }
@keyframes introOut { to { transform: translateY(-100%); visibility: hidden; } }

/* Headlines steigen Wort für Wort auf */
.js .wl { display: inline-block; overflow: hidden; vertical-align: top; padding: .2em .06em .32em; margin: -.2em -.06em -.32em; }
.js .wi { display: inline-block; transform: translateY(110%); transition: transform 1.1s cubic-bezier(.19, 1, .22, 1); transition-delay: calc(var(--w, 0) * .055s); }
.js .is-split-in .wi { transform: none; }

/* Parallaxe in großen Bildern */
[data-parallax] img { scale: 1.14; translate: 0 var(--py, 0px); will-change: translate; }

@media (prefers-reduced-motion: reduce) {
  .intro { display: none; }
  .js .wi { transform: none; }
  [data-parallax] img { translate: none; }
}

/* =========================================================
   Editorial XXL: größere Typo, mutigere Layouts
   ========================================================= */
.h2 { font-size: clamp(48px, 6.2vw, 108px); line-height: .98; letter-spacing: -.03em; }
.hscroll__title { font-size: clamp(48px, 5vw, 84px); line-height: .98; letter-spacing: -.03em; }
.network__title { font-size: clamp(64px, 9vw, 168px); line-height: .95; letter-spacing: -.035em; max-width: none; }
.mothers__title { font-size: clamp(44px, 5vw, 84px); line-height: 1; letter-spacing: -.03em; }
.contact-box__title { font-size: clamp(32px, 3.2vw, 48px); line-height: 1.05; }

/* Campus als Magazin-Layout */
.campus__xl {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2vw, 32px);
  align-items: start; padding-top: var(--section-y); padding-bottom: clamp(72px, 9vw, 136px);
}
.campus__eyebrow { grid-column: 1 / -1; margin-bottom: clamp(20px, 2.4vw, 36px); }
.campus__title {
  grid-column: 1 / span 9; grid-row: 2; position: relative; z-index: 2; margin: 0;
  font-family: var(--serif); font-weight: 500; font-size: clamp(64px, 9.4vw, 164px); line-height: .9; letter-spacing: -.04em; color: var(--blue);
}
.campus__portrait { grid-column: 8 / span 5; grid-row: 2 / span 2; margin: clamp(56px, 6.5vw, 112px) 0 0; aspect-ratio: 4 / 5; overflow: hidden; position: relative; z-index: 1; }
.campus__portrait img { width: 100%; height: 100%; object-fit: cover; }
.campus__body { grid-column: 1 / span 6; grid-row: 3; display: flex; flex-direction: column; gap: 24px; padding-top: clamp(40px, 5vw, 80px); }
.campus__bleed { position: relative; margin: 0; height: clamp(460px, 82vh, 920px); overflow: hidden; }
.campus__bleed img { width: 100%; height: 100%; object-fit: cover; }
.campus__bleed::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 65%, rgba(8,24,40,.55)); pointer-events: none; }
.campus__bleed-cap { position: absolute; left: 0; right: 0; bottom: 28px; z-index: 1; font-size: 13px; font-style: italic; color: var(--white); }

/* Konzept: Bild größer, Säulen kräftiger */
.konzept__body { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.kitem__title { font-size: clamp(32px, 3.2vw, 52px); line-height: 1.02; letter-spacing: -.02em; }
.kitem__num { font-size: 40px; }
.kitem__btn { grid-template-columns: 76px minmax(0, 1fr) 28px; padding: 36px 0; }
.kitem__panel p { padding-left: 88px; font-size: 17px; }

/* Prioritäten: große Nummern */
.prio { grid-template-columns: clamp(80px, 8vw, 120px) minmax(0, 1fr); padding: 40px 0; align-items: start; }
.prio__num { font-size: clamp(48px, 4.6vw, 76px); line-height: .9; letter-spacing: -.03em; }
.prio__title { font-size: clamp(26px, 2.2vw, 34px); line-height: 1.1; letter-spacing: -.015em; }

/* Veranstaltungen: Städte als große Typo */
.event { padding: 34px 0; }
.event__city { font-size: clamp(44px, 5.8vw, 96px); line-height: .95; letter-spacing: -.03em; transition: transform .6s var(--ease), color .3s; display: inline-block; }
.event:hover .event__city, .event.is-hot .event__city { transform: translateX(14px); color: var(--ink); }

/* Engagement: größere Karten */
.way { min-height: 460px; padding: 40px 32px; }
.way__title { font-size: clamp(28px, 2.4vw, 36px); line-height: 1.05; letter-spacing: -.02em; }

/* ---------- Wiederkehrendes Motiv: Headline ragt ins Bild ---------- */

/* ---------- Kennzahlen in der Galerie ---------- */
.hscroll__stat { flex: none; display: flex; flex-direction: column; gap: 18px; translate: 0 var(--o, 0); padding: 0 clamp(8px, 1vw, 16px); }
.hscroll__stat-num {
  display: flex; align-items: baseline; gap: .06em;
  font-family: var(--serif); font-weight: 500; font-size: clamp(140px, 15vw, 250px); line-height: .82; letter-spacing: -.05em;
  color: var(--white); font-variant-numeric: lining-nums tabular-nums;
}
.hscroll__stat-num i { font-style: italic; font-size: .5em; color: #C29B4F; letter-spacing: 0; }
.hscroll__stat--wide .hscroll__stat-num i { font-size: .62em; margin: 0 .04em; }
.hscroll__stat-label {
  display: flex; align-items: center; gap: 14px; max-width: 320px;
  font-family: var(--sub); font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #C29B4F;
}
.hscroll__stat-label::before { content: ""; width: 40px; height: 1px; background: currentColor; flex: none; }

/* Keine Haarlinie zwischen Foto und dunklem Textblock (Subpixel-Rundung) */
.mothers .halves__media { margin-right: -1px; }
.mothers .halves__media img { outline: 1px solid transparent; }
.mothers__body { position: relative; background: var(--ink); }

/* ---------- Vision: Bild läuft mit den Prioritäten mit ---------- */
.prio-head { align-items: end; }
.prio-head__side { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.prio-head__side .lead { max-width: 520px; }
.prio-stage {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 112px);
  align-items: start; margin-top: clamp(56px, 7vw, 104px);
}
.prio-visual {
  position: sticky; top: 104px; height: min(calc(100vh - 150px), 760px); overflow: hidden; background: var(--mist);
}
.prio-visual img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; scale: 1.08; transition: opacity .9s var(--ease), scale 1.6s var(--ease);
}
.prio-visual img.is-active { opacity: 1; scale: 1; }
.prio-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(8,24,40,.7) 100%); pointer-events: none; }
.prio-visual__cap { position: absolute; left: clamp(20px, 2.4vw, 36px); right: clamp(20px, 2.4vw, 36px); bottom: clamp(20px, 2.4vw, 32px); z-index: 1; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; color: var(--white); }
.prio-visual__num { display: flex; align-items: baseline; gap: 10px; font-family: var(--serif); font-style: italic; font-weight: 500; font-size: clamp(72px, 7vw, 120px); line-height: .85; letter-spacing: -.04em; }
.prio-visual__num small { font-size: .22em; font-style: normal; letter-spacing: .1em; color: rgba(255,255,255,.7); }
.prio-visual__title { font-family: var(--sub); font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; text-align: right; max-width: 240px; color: rgba(255,255,255,.85); }

/* aktive Priorität hervorheben */
.prio-stage .prio { transition: opacity .5s var(--ease), padding-left .5s var(--ease); }
.prio-stage .prio:not(.is-current) { opacity: .42; }
.prio-stage .prio.is-current::before { transform: scaleY(1); }
.prio-stage .prio.is-current { padding-left: 20px; }
.prio-stage .prio { padding-top: 64px; padding-bottom: 64px; }

/* ---------- Ansprechpersonen: dunkler Block, große Liste ---------- */
.contact-box {
  background: var(--ink); color: var(--white); border: 0;
  padding: clamp(48px, 6vw, 104px);
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(40px, 6vw, 120px);
}
.contact-box__intro { gap: 22px; position: sticky; top: 120px; }
.contact-box__title { color: var(--white); font-size: clamp(40px, 4.2vw, 72px); line-height: .98; letter-spacing: -.03em; }
.contact-box .body { color: #D9D3C6; font-size: 16px; }
.region-picker { padding-top: 18px; }
.region-picker legend { color: #9A9384; margin-bottom: 14px; }
.region-picker__options { gap: 4px 28px; }
.chip {
  border: 0; border-bottom: 1px solid rgba(255,255,255,.22); background: none; padding: 6px 0 8px;
  font-family: var(--serif); font-size: 26px; font-weight: 500; letter-spacing: -.01em; color: rgba(255,255,255,.5);
  transition: color .3s, border-color .3s;
}
.chip:hover { color: var(--white); }
.chip[aria-pressed="true"] { background: none; color: var(--white); border-bottom: 2px solid #C29B4F; }
.officers-wrap { grid-column: auto; gap: 18px; }
.officers { display: block; border-top: 1px solid rgba(255,255,255,.2); }
.officer {
  display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 24px;
  padding: 28px 0; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.14);
  transition: opacity .4s, padding .5s var(--ease), background-color .4s;
}
.officer:hover { padding-left: 16px; padding-right: 16px; background: rgba(255,255,255,.04); }
.officer.is-dim { opacity: .22; }
.officer.is-match { border-color: rgba(255,255,255,.14); }
.officer.is-match .officer__name { color: #E3CB97; }
.officer__avatar { width: 56px; height: 56px; background: none; border: 1px solid rgba(255,255,255,.28); color: #C29B4F; font-style: italic; font-size: 20px; }
.officer__name { font-size: clamp(26px, 2.4vw, 36px); line-height: 1.05; letter-spacing: -.02em; color: var(--white); transition: color .3s; }
.officer__region { color: #C29B4F; margin-top: 4px; }
.officer__link {
  display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; text-decoration: none;
  font-family: var(--sub); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--white);
  padding: 12px 18px; border: 1px solid rgba(255,255,255,.35); transition: background-color .3s, color .3s, border-color .3s;
}
.officer__link > span { display: inline-block; transition: transform .4s var(--ease); }
.officer__link:hover, .officer:hover .officer__link { background: var(--paper); color: var(--blue); border-color: var(--white); }
.officer:hover .officer__link > span { transform: translateX(4px); }
.asia-note { color: #D9D3C6; font-style: italic; font-size: 15px; }
/* Ansprechpersonen im Kunden-Blau (#0E2841) statt Nachtblau */
.contact-box { background: var(--blue); }
.contact-box .body, .asia-note { color: #E3CB97; }
.region-picker legend { color: #C29B4F; }
.officer__avatar { color: #E3CB97; border-color: rgba(255,255,255,.4); }
.officer__region { color: #C29B4F; }
.officer:hover { background: rgba(255,255,255,.07); }

/* =========================================================
   Neues Erscheinungsbild (Logo T2, Navy/Gold/Elfenbein, EB Garamond + Jost)
   ========================================================= */
body { background: var(--paper); }
.brand img { height: 54px; width: auto; }
.navbar.is-scrolled:not(.is-light) .brand img { height: 46px; }
.brand__light { display: none; }
.navbar.is-light .brand__dark, html.menu-open .navbar .brand__dark { display: none; }
.navbar.is-light .brand__light, html.menu-open .navbar .brand__light { display: block; }
.footer__brand img { height: 64px; filter: none; }
.intro__inner img { height: 78px; filter: none; }
.navbar::after { background: var(--gold); }
.hero__line--italic { color: var(--gold); }
.hero__kicker { color: var(--gold); }
.campus__title, .event__city { color: var(--ink); }

/* ---------- „Drei Töne. Ein Klang.“: animierte Bildmarke ---------- */
.triole { background: var(--ink); color: var(--white); overflow: hidden; }
.triole__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: center; padding-top: var(--section-y); padding-bottom: var(--section-y); }
.triole__globe { perspective: 1200px; display: flex; justify-content: center; }
.triole__svg {
  width: min(100%, 520px); height: auto; overflow: visible;
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .8s var(--ease);
  filter: drop-shadow(0 30px 60px rgba(0,0,0,.35));
}
.tri-ring { fill: none; stroke: var(--white); stroke-width: 5.5; stroke-dasharray: 629; stroke-dashoffset: 629; transform: rotate(-90deg); }
.tri-staff { stroke: var(--white); stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: var(--len); stroke-dashoffset: var(--len); }
.tri-meridian { fill: none; stroke: #C29B4F; stroke-width: 1; }
.tri-head { fill: var(--gold); }
.tri-stem { stroke: var(--gold); stroke-width: 2.6; }
.tri-beam { fill: var(--gold); opacity: 0; transform: translateY(-8px); }
.tri-three { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 24px; fill: var(--gold); opacity: 0; }
.tri-note { cursor: pointer; outline: none; transform-box: fill-box; transform-origin: center bottom; opacity: 0; transform: translateY(-40px) scale(.6); }
.tri-note__halo { fill: var(--gold); opacity: 0; transform-box: fill-box; transform-origin: center; transition: opacity .4s, transform .5s var(--ease); }

/* Aufbau beim Einscrollen */
.triole.is-in .tri-ring { stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1); }
.triole.is-in .tri-staff { stroke-dashoffset: 0; transition: stroke-dashoffset 1s var(--ease) calc(.6s + var(--i) * .12s); }
.triole.is-in .tri-note { opacity: 1; transform: none; transition: opacity .4s calc(1.4s + var(--k) * .22s), transform .9s cubic-bezier(.34,1.56,.64,1) calc(1.4s + var(--k) * .22s); }
.triole.is-in .tri-beam { opacity: 1; transform: none; transition: opacity .5s 2.2s, transform .7s var(--ease) 2.2s; }
.triole.is-in .tri-three { opacity: 1; transition: opacity .6s 2.5s; }

/* aktive Note */
.tri-note.is-active .tri-note__halo { opacity: .18; transform: scale(1.5); }
.triole.is-ready .tri-note { transition: transform .5s cubic-bezier(.34,1.56,.64,1); }
.triole.is-ready .tri-note.is-active { transform: translateY(-6px); }

/* Text */
.triole__eyebrow { color: var(--gold); }
.triole__title { color: var(--white); }
.triole__title em { color: var(--gold); }
.triole__lead { margin: 26px 0 0; max-width: 520px; font-size: 17px; line-height: 1.7; color: #D9D3C6; }
.triole__words { list-style: none; margin: clamp(32px, 4vw, 48px) 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); }
.triole__words li {
  display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 18px; align-items: baseline;
  padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.12); cursor: pointer; outline: none;
  opacity: .45; transition: opacity .4s, padding-left .5s var(--ease);
}
.triole__words li.is-active { opacity: 1; padding-left: 12px; }
.triole__num { font-family: var(--serif); font-style: italic; font-size: 22px; color: var(--gold); }
.triole__word { font-family: var(--serif); font-weight: 500; font-size: clamp(32px, 3vw, 48px); line-height: 1; letter-spacing: -.02em; }
.triole__desc { grid-column: 2; margin-top: 10px; font-size: 15px; line-height: 1.6; color: #D9D3C6; max-height: 0; overflow: hidden; opacity: 0; transition: max-height .6s var(--ease), opacity .4s; }
.triole__words li.is-active .triole__desc { max-height: 80px; opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .tri-ring, .tri-staff { stroke-dashoffset: 0; }
  .tri-note, .tri-beam, .tri-three { opacity: 1; transform: none; }
}

/* ---------- Konzept + Triole verschmolzen ---------- */
.tri-photo { opacity: 0; transition: opacity .9s var(--ease); }
.tri-photo.is-active { opacity: 1; }
.tri-veil { fill: var(--ink); opacity: .42; }
.triole__globe { flex-direction: column; align-items: center; gap: 22px; }
.triole__caption { font-family: var(--sub); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #9A9384; }
.triole__words li { grid-template-columns: 52px minmax(0, 1fr); }
.triole__tag { grid-column: 2; font-family: var(--sub); font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.triole__num { grid-row: 1 / span 2; align-self: center; }
.triole__words .triole__word { grid-column: 2; }
.triole__words li { padding: 24px 0; }
/* Helle Fassung (wie das positive Logo), damit sie sich von der dunklen Galerie davor absetzt */
.triole { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); }
.tri-ring { stroke: var(--ink); }
.triole__svg { filter: drop-shadow(0 30px 50px rgba(14,40,65,.18)); }
.triole__eyebrow { color: var(--brass); }
.triole__title { color: var(--ink); }
.triole__title em { color: var(--brass); }
.triole__lead, .triole__desc { color: var(--muted); }
.triole__words { border-top-color: var(--ink); }
.triole__words li { border-bottom-color: var(--line); }
.triole__num { color: var(--brass); }
.triole__tag { color: var(--brass); }
.triole__caption { color: var(--muted-2); }
/* Kein Seitwärts-Sprung mehr: aktiver Begriff bleibt stehen, eine Messing-Linie zeichnet sich darunter */
.triole__words li, .triole__words li.is-active { padding-left: 0; position: relative; transition: opacity .5s var(--ease); }
.triole__words li::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: var(--brass);
  transform: scaleX(0); transform-origin: left; transition: transform .9s var(--ease);
}
.triole__words li.is-active::after { transform: scaleX(1); }
/* Triole und Vision liegen beide auf Elfenbein – doppelten Sektionsabstand vermeiden */
.triole__inner { padding-bottom: clamp(56px, 6vw, 88px); }
.triole + .section { padding-top: clamp(40px, 4.5vw, 64px); }

/* =========================================================
   Kundenfeedback 10/2026: Schrift & Logo nach Arto, Stiftung im Vordergrund
   ========================================================= */
:root {
  --serif: 'Federo', 'Hanken Grotesk', sans-serif;
  --sans: 'Hanken Grotesk', system-ui, sans-serif;
  --sub: 'Hanken Grotesk', system-ui, sans-serif;
}
/* Federo hat nur einen Schnitt: keine künstliche Kursive/Fette, Akzente in Gold statt kursiv */
body { font-synthesis: none; }
.h2, .hero__line, .campus__title, .hscroll__title, .network__title, .mothers__title, .triole__word, .prio__title,
.way__title, .card__title, .event__city, .kitem__title, .footer__word, .member__name, .reg-form__title, .reg-done__title { font-weight: 400; letter-spacing: 0; }
.h2 { line-height: 1.02; }
.h2 em, .campus__title em, .network__title em, .triole__title em, .hscroll__title em, .newsletter__title em, .found__title em { font-style: normal; color: var(--brass); }
.network__title em, .newsletter__title em { color: var(--gold); }
.hero__line--italic, .footer__word--italic { font-style: normal; }
.triole__num, .prio__num { font-style: normal; font-family: var(--serif); }
.eyebrow, .btn, .nav-toggle { font-weight: 600; }
.mothers__quote, .intro__claim { font-style: normal; }

/* ---------- Logo: WSK ▪ VISION, Quadrat mit ausgesparter Triole ---------- */
.logo { display: inline-flex; align-items: center; font-family: var(--serif); font-weight: 400; font-size: 25px; letter-spacing: .13em; line-height: 1; white-space: nowrap; color: inherit; }
.logo__mark { width: .62em; height: .62em; margin: 0 .36em 0 .24em; color: var(--gold); fill: currentColor; flex: none; transform: translateY(-.02em); }
.logo__sub { display: block; font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .32em; text-transform: uppercase; color: var(--gold); }
.brand { color: var(--ink); transition: color .45s var(--ease); }
.brand:hover { color: var(--ink); }
.navbar.is-light .brand, html.menu-open .navbar .brand { color: var(--white); }
.brand .logo { transition: font-size .4s var(--ease); }
.navbar.is-scrolled:not(.is-light) .brand .logo { font-size: 22px; }
.logo--xl { font-size: clamp(40px, 4.4vw, 64px); color: var(--white); animation: aUp .8s .1s var(--ease) both; }
.intro__inner { gap: 22px; }
.intro__inner .logo__sub { animation: aUp .8s .4s var(--ease) both; }
.logo--footer { font-size: 34px; color: var(--white); }
.footer__brand .logo__sub { margin-top: -10px; }

/* Newsletter-Button im Header */
.navbar__news { flex: none; }
.navbar.is-light .navbar__news, html.menu-open .navbar__news { border-color: rgba(255,255,255,.6); color: var(--white); --fill: var(--white); --fill-fg: var(--blue); }
.navbar__news { --fill: var(--blue); --fill-fg: var(--white); }
@media (max-width: 1320px) { .navbar__news { display: none; } }

/* ---------- Hero (Variante C): Bildband im Hintergrund, Stiftung im Zentrum ---------- */
.hv-kicker { display: block; font-family: var(--sub); font-size: 13px; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; animation: aUp .8s calc(var(--intro) + .02s) var(--ease) both; }
.hv-c { position: relative; background: var(--ink); color: var(--white); min-height: max(760px, 100vh); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.hv-c__strip { position: absolute; inset: 0; display: flex; align-items: center; }
.hv-c__track { display: flex; gap: 18px; width: max-content; animation: hvMarq 80s linear infinite; }
.hero.hv-c:hover .hv-c__track { animation-play-state: paused; }
@keyframes hvMarq { to { transform: translateX(-50%); } }
.hv-c__card { margin: 0; width: clamp(220px, 19vw, 320px); height: 64vh; overflow: hidden; translate: 0 var(--o); filter: saturate(.8); }
.hv-c__card img { width: 100%; height: 100%; object-fit: cover; }
.hv-c__shade { position: absolute; inset: 0; background: radial-gradient(60% 58% at 50% 50%, rgba(8,24,40,.9) 0%, rgba(8,24,40,.6) 55%, rgba(8,24,40,.3) 100%); pointer-events: none; }
.hv-c__center { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 26px; padding-top: 80px; }
.hv-c .hv-kicker { color: var(--gold); }
.hv-c__title { margin: 0; }
.hv-c .hero__line { font-size: clamp(60px, 7.6vw, 136px); line-height: 1; letter-spacing: .005em; color: var(--white); margin-left: auto; margin-right: auto; }
.hv-c .hero__line--accent { color: #E3CB97; }
.hv-c__lead { margin: 0; max-width: 620px; font-size: 17px; line-height: 1.7; color: #DDD6C8; animation: aUp .9s calc(var(--intro) + .6s) var(--ease) both; }
.hv-c .hero__actions { display: flex; gap: 14px; justify-content: center; animation: aUp .9s calc(var(--intro) + .75s) var(--ease) both; }
@media (prefers-reduced-motion: reduce) { .hv-c__track { animation: none; } }

/* ---------- Zahlen auf Notenlinien ---------- */
.zahlen { padding: var(--section-y) 0 calc(var(--section-y) * 1.1); border-top: 1px solid var(--line); }
.zahlen__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 22px; align-items: end; margin-bottom: clamp(110px, 11vw, 170px); }
.zahlen__head .eyebrow { grid-column: 1 / -1; }
.zahlen__title { grid-column: 1 / span 8; }
.zahlen__lead { grid-column: 9 / -1; max-width: 360px; }
.zstaff { --sp: clamp(18px, 1.9vw, 26px); position: relative; height: calc(var(--sp) * 4); margin-bottom: 90px; }
.zstaff__lines { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; }
.zstaff__lines i { height: 1px; background: var(--line-2); transform: scaleX(0); transform-origin: left; transition: transform 1.6s cubic-bezier(.65, 0, .35, 1); transition-delay: calc(var(--n, 0) * .08s); }
.zstaff__lines i:nth-child(2) { --n: 1; } .zstaff__lines i:nth-child(3) { --n: 2; } .zstaff__lines i:nth-child(4) { --n: 3; } .zstaff__lines i:nth-child(5) { --n: 4; }
.zahlen.is-in .zstaff__lines i { transform: none; }
.zstaff::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: var(--line-2); }
.zstaff::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 7px; border-left: 1px solid var(--ink); border-right: 4px solid var(--ink); }
.zstaff__notes { position: absolute; inset: 0; margin: 0; padding: 0 4%; list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
/* --step: halbe Linienabstände von oben (0 = oberste Linie, 8 = unterste) */
.znote { position: relative; --y: calc(var(--step) * var(--sp) / 2); }
.znote__glyph { position: absolute; left: 0; top: calc(var(--y) - var(--sp) * 3.45); height: calc(var(--sp) * 4.2); width: auto; fill: var(--gold);
  opacity: 0; transform: translateY(-26px); transition: opacity .7s var(--ease), transform 1s cubic-bezier(.34, 1.56, .64, 1); transition-delay: calc(.45s + var(--i) * .16s); }
.znote__num { position: absolute; left: calc(var(--sp) * 2.1); top: calc(var(--y) - var(--sp) * 3.2); display: flex; align-items: baseline;
  font-family: var(--serif); font-size: clamp(44px, 4.6vw, 76px); line-height: 1; color: var(--ink); white-space: nowrap;
  opacity: 0; transform: translateY(14px); transition: opacity .8s var(--ease), transform .9s var(--ease); transition-delay: calc(.6s + var(--i) * .16s); }
.znote__num i { font-style: normal; color: var(--brass); }
.znote__label { position: absolute; left: 0; top: calc(var(--sp) * 4 + 26px); font-family: var(--sub); font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--muted);
  opacity: 0; transition: opacity .8s var(--ease); transition-delay: calc(.8s + var(--i) * .16s); }
.zahlen.is-in .znote__glyph, .zahlen.is-in .znote__num, .zahlen.is-in .znote__label { opacity: 1; transform: none; }
.znote:hover .znote__glyph { transform: translateY(-6px); transition-delay: 0s; transition-duration: .5s; }

/* ---------- Gründung & Zeitleiste ---------- */
.found { padding: var(--section-y) 0; background: var(--mist); }
.found__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(48px, 7vw, 120px); align-items: center; }
.found__media { position: relative; padding-bottom: 70px; }
.found__portrait { margin: 0; position: relative; aspect-ratio: 4 / 5; overflow: hidden; width: 82%; background: var(--line); }
.found__portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); }
.found__portrait figcaption { position: absolute; left: 0; bottom: 0; padding: 14px 18px; background: var(--paper); font-size: 12px; letter-spacing: .08em; color: var(--muted); }
.found__portrait figcaption span { display: block; font-family: var(--serif); font-size: 18px; letter-spacing: .02em; color: var(--ink); margin-bottom: 2px; }
.found__card { position: absolute; right: 0; bottom: 0; width: 56%; padding: 28px 28px 26px; background: var(--ink); color: var(--white); box-shadow: 0 40px 70px -40px rgba(14,40,65,.7); }
.found__card-eyebrow { display: block; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.found__card-years { display: block; font-family: var(--serif); font-size: clamp(40px, 3.6vw, 56px); line-height: 1.1; margin: 10px 0 14px; }
.found__card ul { margin: 0; padding: 14px 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 8px; font-size: 14px; line-height: 1.5; color: #D9D3C6; }
.found__card li::before { content: "♪"; color: var(--gold); margin-right: 10px; }
.found__body { display: flex; flex-direction: column; gap: 26px; }
.found__quote { margin: 8px 0 0; padding: 4px 0 0 28px; border-left: 2px solid var(--gold); }
.found__quote p { margin: 0; font-family: var(--serif); font-size: clamp(22px, 1.9vw, 28px); line-height: 1.35; color: var(--ink); }
.found__quote cite { display: block; margin-top: 16px; font-style: normal; font-size: 13px; letter-spacing: .06em; color: var(--muted); }
.ftime { position: relative; margin: clamp(80px, 8vw, 120px) 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.ftime::before { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 1px; background: var(--line-2); }
.ftime li { position: relative; padding-top: 34px; }
.ftime li::before { content: ""; position: absolute; left: 0; top: 0; width: 15px; height: 15px; background: var(--paper); border: 1px solid var(--brass); border-radius: 50%; }
.ftime__year { display: block; font-family: var(--serif); font-size: clamp(26px, 2.2vw, 34px); line-height: 1; color: var(--ink); margin-bottom: 10px; }
.ftime__text { display: block; font-size: 14px; line-height: 1.55; color: var(--muted); max-width: 230px; }
.ftime__crisis li::before, .ftime li.ftime__crisis::before { background: var(--ink); border-color: var(--ink); }
.ftime li.ftime__now::before { background: var(--gold); border-color: var(--gold); box-shadow: 0 0 0 6px rgba(194,155,79,.2); }
.ftime li.ftime__now .ftime__year { color: var(--brass); }

/* ---------- Drei Rechtsträger ---------- */
.rtraeger { border-top: 1px solid var(--line); }
.rtraeger__head { margin-bottom: clamp(48px, 5vw, 72px); align-items: end; }
.rtraeger__head .body { max-width: 440px; }
.entities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2vw, 28px); }
.entity { display: flex; flex-direction: column; gap: 10px; padding: 34px 32px 30px; background: var(--white); border-top: 3px solid var(--gold); box-shadow: 0 30px 60px -44px rgba(14,40,65,.45); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.entity:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -40px rgba(14,40,65,.5); }
.entity__land { margin: 0 0 6px; display: flex; align-items: center; gap: 14px; font-family: var(--serif); font-weight: 400; font-size: 30px; color: var(--ink); }
.flag { display: inline-block; height: 20px; box-shadow: 0 0 0 1px rgba(14,40,65,.12); }
.flag svg { display: block; height: 100%; width: auto; }
.entity__name { font-weight: 600; font-size: 15px; color: var(--ink); }
.entity__status { align-self: flex-start; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); }
.entity p { margin: 6px 0 0; font-size: 15px; line-height: 1.65; color: var(--muted); flex: 1; }
.entity__for { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }

/* ---------- Senior Advancement Team ---------- */
.team { margin-top: clamp(80px, 8vw, 120px); padding-top: clamp(56px, 6vw, 80px); border-top: 1px solid var(--line); }
.team__head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 48px; }
.team__head .body { max-width: 420px; }
.team__title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(34px, 3.2vw, 48px); line-height: 1.05; color: var(--ink); }
.team__grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.2vw, 32px); }
.tm { display: flex; flex-direction: column; }
.tm__portrait { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #D9D4CA; margin-bottom: 20px; }
/* Einheitliche Bildsprache für unterschiedlich fotografierte Porträts */
.tm__portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.06) brightness(1.03); transition: filter .7s var(--ease), transform 1.2s var(--ease); }
.tm__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,40,65,0) 55%, rgba(14,40,65,.35)); mix-blend-mode: multiply; pointer-events: none; }
.tm:hover .tm__portrait img { filter: grayscale(0) contrast(1) brightness(1); transform: scale(1.04); }
.tm__region { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--brass); }
.tm__name { margin: 8px 0 12px; font-family: var(--serif); font-weight: 400; font-size: 26px; line-height: 1.1; color: var(--ink); }
.tm__bio { margin: 0 0 18px; font-size: 14px; line-height: 1.65; color: var(--muted); flex: 1; }
.tm__link { appearance: none; background: none; border: 0; padding: 0 0 6px; cursor: pointer; align-self: flex-start; display: inline-flex; gap: 10px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--gold); transition: gap .4s var(--ease), color .3s; }
.tm__link:hover { gap: 16px; color: var(--brass); }
.team__note { margin: 36px 0 0; font-size: 14px; color: var(--muted); }

/* ---------- Newsletter ---------- */
.newsletter { position: relative; background: var(--blue-dark); color: var(--white); padding: clamp(80px, 9vw, 130px) 0; overflow: hidden; }
.newsletter::before { content: ""; position: absolute; right: -6%; top: 50%; width: 46vw; height: calc(4 * 26px); transform: translateY(-50%);
  background: repeating-linear-gradient(180deg, rgba(194,155,79,.22) 0 1px, transparent 1px 26px); pointer-events: none; }
.newsletter__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(48px, 7vw, 120px); align-items: center; }
.newsletter__text { display: flex; flex-direction: column; gap: 22px; }
.newsletter__title { color: var(--white); }
.newsletter__text p { margin: 0; max-width: 460px; font-size: 17px; line-height: 1.7; color: #D9D3C6; }
.newsletter__form { display: flex; flex-direction: column; gap: 22px; padding: 40px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(4px); }
.newsletter__field span { display: block; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.newsletter__field input { width: 100%; padding: 12px 0; background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.4); color: var(--white); font: inherit; font-size: 20px; outline: none; transition: border-color .3s; }
.newsletter__field input::placeholder { color: rgba(255,255,255,.35); }
.newsletter__field input:focus { border-bottom-color: var(--gold); }
.consent--light { color: #B9B3A6; }
.consent--light input { accent-color: var(--gold); }
.newsletter__form .btn { align-self: flex-start; }
.newsletter__done { margin: 0; font-family: var(--serif); font-size: 24px; line-height: 1.35; color: var(--white); }
/* Zahl sitzt über ihrer Note und folgt so der Melodie */
.znote__num { left: -.04em; top: calc(var(--y) - var(--sp) * 3.7); translate: 0 -100%; font-size: clamp(40px, 3.8vw, 64px); }
.zahlen__head { margin-bottom: clamp(150px, 14vw, 210px); }
/* Gründung: Karte überlappt nur noch Schulter/Brust, nicht das Gesicht */
.found__media { padding-bottom: 0; display: flex; flex-direction: column; }
.found__card { position: relative; right: auto; bottom: auto; align-self: flex-end; margin-top: -110px; z-index: 1; }

/* =========================================================
   Sektionen aus Artos Entwurf (Präfix ar-, Farben an unsere CI angepasst)
   ========================================================= */
.ar-scope{--blue:#0E2841;--blue-2:#16365A;--ink:#0E2841;--ink-2:#434a5e;--paper:#F7F4EE;--paper-2:#EEE8DC;--cream:#FBF8F2;--gold:#A5854E;--gold-lt:#D9B872;
  --line:rgba(14,40,65,.16);--line-2:rgba(14,40,65,.4);--line-inv:rgba(247,242,232,.22);--f-d:"Federo",sans-serif;--f-t:"Hanken Grotesk",system-ui,sans-serif;
  --gutter:clamp(20px,4vw,56px);--hdr:92px;--maxw:1440px;--fs-h2:clamp(2.6rem,1.35rem + 3vw,5.2rem);--fs-h2s:clamp(2.2rem,1.3rem + 2.1vw,3.8rem);
  --fs-h3:clamp(1.7rem,1.2rem + 1.3vw,2.7rem);--ease:cubic-bezier(.22,.61,.12,1);--ease-io:cubic-bezier(.65,0,.35,1);
  font-family:var(--f-t);font-size:1.125rem;line-height:1.62;color:var(--ink)}
:where(.ar-scope) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:where(.ar-scope) a{color:inherit} :where(.ar-scope) a:hover{color:inherit} .ar-btn:hover{color:var(--cream)}
.ar-scope [data-rise]{opacity:0;transform:translateY(26px)}
.no-gsap .ar-scope [data-rise]{opacity:1;transform:none}
.ar-mile__clef{font-family:"Noto Music",serif}
@keyframes ar-kb{from{transform:scale(1) translate3d(1.5%,0,0)}to{transform:scale(1.07) translate3d(-1.5%,-1.5%,0)}}
.ar-wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.ar-d{font-family:var(--f-d);font-weight:400;line-height:1.02;letter-spacing:.005em;margin:0}
.ar-g{color:var(--gold)} .ar-on-dark .ar-g{color:var(--gold-lt)}
.ar-cap{font-family:var(--f-d);font-size:.8rem;letter-spacing:.17em;text-transform:uppercase}
.ar-lead{font-size:clamp(1.15rem,1rem + .35vw,1.35rem);line-height:1.55}
.ar-muted{color:var(--ink-2)}
.ar-on-dark{color:var(--cream)} .ar-on-dark .ar-muted{color:rgba(247,242,232,.82)}


.ar-mark{display:flex;align-items:center;gap:16px}
.ar-mark b{font-family:var(--f-d);font-weight:400;font-size:.8rem;letter-spacing:.12em;color:var(--gold)}
.ar-on-dark .ar-mark b{color:var(--gold-lt)}
.ar-mark i{width:48px;height:1px;background:currentColor;opacity:.45}


.ar-ln{position:relative;display:inline-flex;align-items:center;gap:.6em;padding-bottom:6px;font-family:var(--f-d);font-size:.84rem;letter-spacing:.15em;text-transform:uppercase}
.ar-ln::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.4}
.ar-ln::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease);z-index:1}
.ar-on-dark .ar-ln::before{background:var(--gold-lt)}
.ar-ln:hover::before{transform:scaleX(1);transform-origin:left}
.ar-arr{display:inline-block;transition:transform .7s var(--ease)}
.ar-ln:hover .ar-arr,.ar-btn:hover .ar-arr{transform:translateX(6px)}
.ar-btn{position:relative;display:inline-flex;align-items:center;gap:18px;padding:20px 30px 19px;background:var(--ink);color:var(--cream);font-family:var(--f-d);font-size:.86rem;letter-spacing:.16em;text-transform:uppercase;overflow:hidden;isolation:isolate}
.ar-btn::before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .7s var(--ease);z-index:-1}
.ar-btn:hover::before{transform:translateY(0)}
.ar-btn--cream{background:var(--cream);color:var(--ink)}
.ar-btn--cream:hover{color:var(--ink)}
.ar-btn--cream::before{background:var(--gold-lt)}


.ar-card{position:absolute;will-change:transform}
.ar-card__in{background:var(--cream);padding:7px 7px 0;box-shadow:0 40px 70px -40px rgba(15,23,48,.6),0 2px 0 rgba(15,23,48,.05)}
.ar-card__in img{width:100%;aspect-ratio:var(--ar,4/3);object-fit:cover}
.ar-card__cap{display:flex;justify-content:space-between;gap:12px;padding:9px 2px 8px;font-family:var(--f-d);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ar-bob{animation:ar-bob var(--t,9s) ease-in-out infinite;animation-delay:var(--dl,0s)}
@keyframes ar-bob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-12px,0)}}
.ar-pola{margin:0;background:#f7f2e8;padding:12px 12px 0;transform:rotate(var(--r,0deg));box-shadow:0 46px 70px -36px rgba(0,0,0,.75),0 2px 0 rgba(0,0,0,.08);transition:transform .9s var(--ease)}
.ar-stop:hover .ar-pola{transform:rotate(0deg) translateY(-8px)}
.ar-pola__ph{overflow:hidden;aspect-ratio:var(--ar);background:#d8d1c3}
.ar-pola__ph img{width:100%;height:100%;object-fit:cover;will-change:transform}
.ar-pola figcaption{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:3px;align-items:center;padding:14px 4px 18px}
.ar-pola figcaption i{width:9px;height:9px;background:var(--gold);grid-row:1}
.ar-pola figcaption b{font-family:var(--f-d);font-weight:400;font-size:clamp(1.2rem,1rem + .5vw,1.6rem);line-height:1.05;color:var(--gold);letter-spacing:.02em}
.ar-pola figcaption span{grid-column:2;font-family:var(--f-d);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2)}
.ar-found__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:center}
.ar-found__pics{grid-column:1/6;position:relative;padding-bottom:30%}
.ar-found__portrait{width:64%;position:relative;z-index:1}
.ar-found__portrait .ar-pola{--r:-2.2deg;--ar:4/5}
.ar-found__portrait img{filter:grayscale(1) contrast(1.05)}
.ar-found__tour{position:absolute;right:-7%;bottom:0;width:50%;z-index:2}
.ar-tourcard{background:var(--blue);color:var(--cream);padding:clamp(22px,2.2vw,32px);transform:rotate(1.8deg);box-shadow:0 46px 70px -34px rgba(15,23,48,.75)}
.ar-tourcard .ar-cap{color:var(--gold-lt)}
.ar-tourcard b{display:block;font-family:var(--f-d);font-weight:400;font-size:clamp(2.2rem,1.4rem + 1.8vw,3.4rem);line-height:1;color:var(--gold-lt);margin:10px 0 18px}
.ar-tourcard ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-inv)}
.ar-tourcard li{display:grid;grid-template-columns:12px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--line-inv);font-size:1rem;line-height:1.45;color:rgba(247,242,232,.92)}
.ar-tourcard li::before{content:"";width:7px;height:7px;background:var(--gold-lt);transform:translateY(-2px)}
.ar-found__body{grid-column:7/13}
.ar-found__body .ar-mark{margin-bottom:28px}
.ar-found__body h2{font-size:var(--fs-h2);margin-bottom:30px;line-height:1.02}
.ar-found__body .ar-lead{margin:0;max-width:44ch}
.ar-found__body blockquote{margin:44px 0 0;padding:6px 0 4px 28px;border-left:2px solid var(--gold)}
.ar-found__body blockquote p{font-family:var(--f-d);font-size:clamp(1.3rem,1.05rem + .7vw,1.75rem);line-height:1.4;margin:0 0 18px}
.ar-found__body cite{display:flex;flex-direction:column;gap:4px;font-style:normal}
.ar-found__body cite b{font-family:var(--f-d);font-weight:400;font-size:1.05rem;letter-spacing:.06em;color:var(--gold)}
.ar-found__body cite span{font-size:.95rem;color:var(--ink-2)}
.ar-mile{grid-column:1/-1;--sp:11px;--top:46px;position:relative;margin-top:clamp(90px,10vw,150px);padding-left:62px}
.ar-mile__staff{position:absolute;left:0;right:0;top:var(--top);height:calc(var(--sp)*4);display:flex;flex-direction:column;justify-content:space-between}
.ar-mile__staff i{height:1px;background:rgba(15,23,48,.42);transform-origin:left}
.ar-mile__staff::after{content:"";position:absolute;right:0;top:0;bottom:0;width:6px;border-left:1px solid var(--ink);border-right:3px solid var(--ink)}
.ar-mile__clef{position:absolute;left:4px;top:calc(var(--top) - var(--sp)*2.15);font-family:"Noto Music",serif;font-size:calc(var(--sp)*7.2);line-height:1;color:var(--ink)}
.ar-mile ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px;position:relative}
.ar-mile li{position:relative;padding-top:calc(var(--top) + var(--sp)*4 + 34px)}
.ar-mn{position:absolute;left:18px;top:calc(var(--top) + var(--pos) * var(--sp) / 2);width:0;height:0}
.ar-mn i{position:absolute;left:0;top:0;width:calc(var(--sp)*1.42);height:calc(var(--sp)*1.02);border-radius:50%;background:var(--ink);transform:translate(-50%,-50%) rotate(-22deg)}
.ar-mn b{position:absolute;left:calc(var(--sp)*.62);bottom:0;width:1.5px;height:calc(var(--sp)*3.3);background:var(--ink);transform-origin:bottom}
.ar-mn--gold i,.ar-mn--gold b{background:var(--gold)}
.ar-mn svg{position:absolute;left:-13px;bottom:calc(var(--pos) * var(--sp) / 2 + 14px);width:26px;height:14px;color:var(--gold);overflow:visible}
.ar-mile__yr{display:block;font-family:var(--f-d);font-size:clamp(1.7rem,1.2rem + 1.4vw,2.6rem);line-height:1;margin-bottom:12px}
.ar-mile li.ar-is-gold .ar-mile__yr{color:var(--gold)}
.ar-mile__tx{display:block;font-size:1rem;line-height:1.5;color:var(--ink-2);max-width:24ch}
.ar-beg{padding:clamp(110px,12vw,190px) 0}
.ar-beg__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.ar-invite{grid-column:1/5;position:sticky;top:calc(var(--hdr) + 40px)}
.ar-invite .ar-mark{margin-bottom:28px}
.ar-invite h2{font-size:var(--fs-h2s);margin-bottom:28px}
.ar-invite p{margin:0 0 1em}
.ar-invite dl{margin:32px 0 38px;display:grid;gap:20px}
.ar-invite dl div{display:grid;grid-template-columns:130px 1fr;gap:14px}
.ar-invite dt{font-family:var(--f-d);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;padding-top:3px;color:var(--gold)}
.ar-invite dd{margin:0;font-size:1.02rem;color:var(--ink-2);line-height:1.5}
.ar-prog{grid-column:6/13}
.ar-weekend{position:relative;height:clamp(660px,58vw,900px);margin-bottom:clamp(64px,7vw,110px)}
.ar-weekend > div{position:absolute}
.ar-wk1{left:0;top:0;width:66%;z-index:1}.ar-wk1 .ar-pola{--r:-1.5deg;--ar:16/10}
.ar-wk2{right:0;top:16%;width:38%;z-index:2}.ar-wk2 .ar-pola{--r:2.2deg;--ar:4/3}
.ar-wk3{left:3%;bottom:0;width:38%;z-index:2}.ar-wk3 .ar-pola{--r:-2.4deg;--ar:4/3}
.ar-wk4{right:0;bottom:2%;width:49%;z-index:3}.ar-wk4 .ar-pola{--r:1.6deg;--ar:4/3}
.ar-wk4 img{object-position:52% 40%}
.ar-weekend__txt{background:var(--blue);color:var(--cream);padding:clamp(26px,3vw,44px);display:grid;grid-template-columns:1fr auto;gap:20px 32px;align-items:end;margin-bottom:64px}
.ar-weekend__txt .ar-cap{color:var(--gold-lt)}
.ar-weekend__txt h3{font-family:var(--f-d);font-weight:400;font-size:var(--fs-h3);line-height:1.04;margin:12px 0 14px}
.ar-weekend__txt p{margin:0;color:rgba(247,242,232,.88);max-width:46ch}
.ar-rows{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.ar-row a{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line-2);position:relative}
.ar-row a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.ar-row a:hover::after{transform:scaleX(1)}
.ar-row__when{font-family:var(--f-d);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ar-row__city{font-family:var(--f-d);font-size:var(--fs-h3);line-height:1;transition:transform .8s var(--ease)}
.ar-row a:hover .ar-row__city{transform:translateX(14px)}
.ar-row__go{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line-2);transition:background .5s,color .5s,border-color .5s}
.ar-row a:hover .ar-row__go{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.ar-dc{position:relative;background:var(--ink);padding:clamp(100px,10vw,150px) 0;overflow:hidden;isolation:isolate}

.ar-dc__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--ink)}
.ar-dc__bg .ar-kb{position:absolute;inset:-5%;opacity:0;transition:opacity 1.6s var(--ease);animation:ar-kb 34s ease-in-out infinite alternate}
.ar-dc__bg .ar-kb.ar-on{opacity:1}
.ar-dc__bg .ar-kb:nth-child(2){animation-delay:-11s}.ar-dc__bg .ar-kb:nth-child(3){animation-delay:-22s}
.ar-dc__bg img{width:100%;height:100%;object-fit:cover}
@keyframes ar-kb{from{transform:scale(1) translate3d(1.5%,0,0)}to{transform:scale(1.07) translate3d(-1.5%,-1.5%,0)}}
.ar-dc__bg::before{content:"";position:absolute;inset:0;z-index:2;opacity:.16;mix-blend-mode:overlay;pointer-events:none;
  background: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='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ar-dc__bg::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(17,26,61,.92) 0%,rgba(17,26,61,.74) 36%,rgba(17,26,61,.5) 60%,rgba(17,26,61,.62) 100%),
             linear-gradient(180deg,rgba(15,23,48,.45) 0%,rgba(15,23,48,0) 22%,rgba(15,23,48,0) 72%,var(--blue) 100%)}
.ar-dc__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:start}
.ar-dc__left{grid-column:1/7}
.ar-dc .ar-mark{margin-bottom:24px}
.ar-dc h2{font-size:var(--fs-h2s);line-height:1.06;margin-bottom:26px}
.ar-dc__left > p{margin:0 0 30px;max-width:42ch}

.ar-regions{position:relative;display:flex;border:1px solid var(--line-inv);width:max-content;max-width:100%;margin-bottom:clamp(40px,4.4vw,56px);background:rgba(15,23,48,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.ar-regions__ind{position:absolute;left:0;top:-1px;bottom:-1px;width:0;background:var(--cream);transition:transform .75s var(--ease),width .75s var(--ease)}
.ar-regions button{position:relative;z-index:1;padding:13px 22px 12px;font-family:var(--f-d);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(247,242,232,.75);transition:color .6s var(--ease)}
.ar-regions button[aria-selected="true"]{color:var(--ink)}
.ar-regions button:not([aria-selected="true"]):hover{color:var(--cream)}
.ar-regions:not(.ar-is-ready) button[aria-selected="true"]{background:var(--cream)}


.ar-dc__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;margin-bottom:clamp(28px,3vw,40px)}
.ar-dc__bar .ar-regions{margin-bottom:0}
.ar-dc__time{margin:0;display:flex;align-items:baseline;gap:10px;font-family:var(--f-d);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,242,232,.72)}
.ar-dc__time b{font-weight:400;font-size:1.5rem;line-height:1;letter-spacing:.04em;color:var(--cream);font-variant-numeric:tabular-nums}

.ar-contacts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ar-contacts li{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:18px;align-items:center;padding:16px;background:rgba(247,242,232,.06);border:1px solid var(--line-inv);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ar-ava{position:relative;width:72px;height:88px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(160deg,#22346f,#111a3d);border:1px solid rgba(220,181,99,.45)}
.ar-ava b{font-family:var(--f-d);font-weight:400;font-size:1.3rem;letter-spacing:.06em;color:var(--gold-lt)}
.ar-ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.ar-ava i{width:12px;height:12px;background:var(--gold-lt)}
.ar-who{display:flex;flex-direction:column;gap:4px;min-width:0}
.ar-contacts .ar-who b{font-family:var(--f-d);font-weight:400;font-size:clamp(1.15rem,1rem + .4vw,1.4rem);line-height:1.2}
.ar-contacts .ar-who span{font-size:.88rem;line-height:1.4;color:rgba(247,242,232,.76)}
.ar-contacts .ar-who em{font-style:normal;font-family:var(--f-d);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-lt);margin-top:2px}
.ar-formcard{grid-column:8/13;background:#f7f2e8;color:var(--ink);border-top:3px solid var(--gold);padding:clamp(26px,2.6vw,40px);box-shadow:0 50px 90px -40px rgba(0,0,0,.6)}
.ar-formcard h3{font-family:var(--f-d);font-weight:400;font-size:clamp(1.6rem,1.2rem + 1vw,2.2rem);margin:0 0 6px}
.ar-formcard > p{margin:0 0 24px;font-size:.98rem;color:var(--ink-2)}
.ar-form{display:grid;grid-template-columns:1fr 1fr;gap:20px 20px}
.ar-ff{display:flex;flex-direction:column;gap:4px}.ar-ff--full{grid-column:1/-1}
.ar-ff label{font-family:var(--f-d);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-2)}
.ar-ff input,.ar-ff select,.ar-ff textarea{font:inherit;font-size:1.02rem;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-2);padding:8px 0 10px;border-radius:0;transition:border-color .6s var(--ease)}
.ar-ff select{appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a37d2c'/%3E%3C/svg%3E") right 4px center no-repeat}
.ar-ff textarea{resize:vertical;min-height:58px}
.ar-ff input:focus,.ar-ff select:focus,.ar-ff textarea:focus{outline:none;border-color:var(--gold)}
.ar-consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink-2);line-height:1.45}
.ar-consent input{accent-color:var(--gold);margin-top:3px;width:15px;height:15px;flex:none}
.ar-consent a{text-decoration:underline;text-underline-offset:3px}
.ar-form__act{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:4px}
.ar-form__act small{color:var(--ink-2);font-size:.9rem}
.ar-form__done{grid-column:1/-1;display:none;padding:22px 0 4px;border-top:2px solid var(--gold);font-family:var(--f-d);font-size:1.35rem;line-height:1.35;color:var(--ink)}
.ar-form.ar-is-sent > :not(.ar-form__done){display:none}.ar-form.ar-is-sent .ar-form__done{display:block}
@media (max-width:1100px){.ar-dc__left{grid-column:1/-1}.ar-formcard{grid-column:1/-1;margin-top:48px}}
@media (max-width:600px){.ar-contacts{grid-template-columns:1fr}.ar-form{grid-template-columns:1fr}}
.ar-form.ar-was-validated :is(input,select,textarea):invalid{border-color:#b9493d}
.ar-form.ar-was-validated .ar-ff:has(:invalid) label{color:#a33d32}
.ar-form.ar-was-validated .ar-consent input:invalid + span{color:#a33d32}
.ar-mosaic{background:#cbc2b1;position:relative;overflow:hidden;padding-top:clamp(110px,12vw,180px)}
.ar-mosaic__intro{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:end;margin-bottom:clamp(56px,6vw,90px)}
.ar-mosaic__intro .ar-mark{grid-column:1/-1;margin-bottom:22px}
.ar-mosaic__intro h2{grid-column:1/9;font-size:var(--fs-h2)}
.ar-mosaic__intro p{grid-column:9/13;margin:0;color:#2e3448}
.ar-mosaic__cols{height:min(100vh,980px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,44px);padding-inline:var(--gutter);overflow:hidden}
.ar-mcol{display:flex;flex-direction:column;align-self:start;gap:clamp(16px,2.4vw,44px);will-change:transform}
.ar-tile{position:relative;display:block;overflow:hidden;background:#b5ab98}
.ar-tile img{width:100%;aspect-ratio:var(--ar,4/5);object-fit:cover;object-position:var(--op,50% 50%);transition:transform 1.4s var(--ease),filter 1.4s var(--ease)}
.ar-tile::after{content:"";position:absolute;inset:0;background:rgba(15,23,48,.5);opacity:0;transition:opacity .7s var(--ease)}
.ar-tile__lbl{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;padding:16px;font-family:var(--f-d);font-size:clamp(1.3rem,.9rem + 1.2vw,2.3rem);letter-spacing:.08em;text-transform:uppercase;color:var(--cream);line-height:1.05;opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .9s var(--ease)}
.ar-tile__lbl small{display:block;font-size:.42em;letter-spacing:.18em;color:var(--gold-lt);margin-top:.7em}
.ar-tile:hover img{transform:scale(1.06)}
.ar-mosaic__cols:hover .ar-tile:not(:hover) img{filter:saturate(.7) brightness(.92)}
.ar-tile:hover::after{opacity:1}
.ar-tile:hover .ar-tile__lbl{opacity:1;transform:none}
/* Buttons: kein Strecken mehr beim Hover, nur Farbfläche + Pfeil */
.btn:hover, .btn:focus-visible { letter-spacing: .12em; }
/* Mosaik: Spalten auf eigener Ebene, damit das Mitlaufen beim Scrollen flüssig bleibt */
.ar-mcol { backface-visibility: hidden; transform: translateZ(0); }
.ar-tile img { transition: transform 1.2s var(--ease), filter .6s ease; }

/* =========================================================
   Abstände vereinheitlicht: jede Section oben/unten var(--section-y);
   folgen zwei Sections mit gleichem Hintergrund, entfällt der obere Abstand der zweiten
   (sonst doppelter Abstand). Keine Trennlinien zwischen Sections.
   ========================================================= */
.zahlen, .rtraeger, .people, .triole { border-top: 0; }
.zahlen { padding: var(--section-y) 0; }
.zstaff { margin-bottom: 44px; }
.ar-found { padding: 0 0 var(--section-y); }               /* folgt auf Zahlen (gleicher Grund) */
.ar-found .ar-mile { margin-top: clamp(72px, 7vw, 110px); }
.triole__inner { padding-top: 0; padding-bottom: var(--section-y); }   /* folgt auf Gründung */
.ar-mosaic { padding-top: var(--section-y); }
.ar-beg { padding: 0 0 var(--section-y); }                 /* folgt auf Veranstaltungen */
#veranstaltungen { padding-top: 0; }                       /* folgt auf Rechtsträger */
#engagement { padding-top: 0; }                            /* folgt auf Begegnungen */
.ar-dc { padding: var(--section-y) 0; }
.tour-map { margin-bottom: 0; }

/* =========================================================
   Keine Höhensprünge mehr beim Stehenbleiben:
   Hervorhebungen verschieben nur noch per transform, Texte reservieren ihre Höhe
   ========================================================= */
/* Vision: aktive Priorität rückt ein, ohne dass sich Zeilenumbrüche/Höhe ändern */
.prio, .prio:hover, .prio-stage .prio.is-current { padding-left: 0; }
.prio > * { transition: transform .5s var(--ease); }
.prio:hover > *, .prio-stage .prio.is-current > * { transform: translateX(20px); }
.prio-stage .prio { transition: opacity .5s var(--ease); }
/* Konzept/Triole: Beschreibung ist immer da, nur der aktive Begriff ist voll sichtbar */
.triole__desc, .triole__words li.is-active .triole__desc { max-height: none; opacity: 1; overflow: visible; transition: none; }

/* Goldener Saal: „Ein Klang … seit 1498“ (wie bei Arto) – Wörter weichen zur Seite, während sich das Bild öffnet */
.expand__frame { clip-path: inset(calc(var(--ins-y, 22) * 1%) calc(var(--ins-x, 32) * 1%)); }
.expand__words { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--gutter); pointer-events: none; }
.expand__words span { font-family: var(--serif); font-size: clamp(44px, 5.4vw, 96px); line-height: 1; white-space: nowrap; color: var(--ink);
  opacity: calc(1 - var(--ep, 0) * 1.8); will-change: transform, opacity; }
.expand__words span:first-child { transform: translateX(calc(var(--ep, 0) * -140%)); }
.expand__words span:last-child { transform: translateX(calc(var(--ep, 0) * 140%)); color: var(--brass); }
/* Barrierefreiheit: ausgegraute Einträge bleiben lesbar (Kontrast) */
.triole__words li { opacity: .62; }
.triole__words li.is-active { opacity: 1; }
.prio-stage .prio:not(.is-current) { opacity: .6; }
/* Kein globales Smooth-Scroll: kollidiert mit dem Neuvermessen der Scroll-Animationen (sichtbarer Ruck).
   Weiches Scrollen gibt es nur noch beim Klick auf Anker-Links (main.js). */
html { scroll-behavior: auto; }

/* =========================================================
   Buttons – einheitlich: genau zwei Arten, ohne Pfeile.
   Dunkel (Navy, helle Schrift)  → Hover: helle Fläche fährt ein, Schrift wird Navy
   Hell  (Elfenbein, Navy-Schrift) → Hover: Navy-Fläche fährt ein, Schrift wird hell
   ========================================================= */
.btn, .ar-btn,
.btn--solid, .btn--outline, .navbar__news, .ar-btn:not(.ar-btn--cream) {
  --b-bg: #0E2841; --b-fg: #F7F4EE; --b-fill: #F7F4EE; --b-fill-fg: #0E2841; --b-bd: #0E2841;
}
.btn--light, .btn--outline-light, .ar-btn--cream {
  --b-bg: #F7F4EE; --b-fg: #0E2841; --b-fill: #0E2841; --b-fill-fg: #F7F4EE; --b-bd: #F7F4EE;
}
/* Header über dem dunklen Hero bzw. bei offenem Menü: helle Buttons */
.navbar.is-light .btn, html.menu-open .navbar .btn {
  --b-bg: #F7F4EE; --b-fg: #0E2841; --b-fill: #0E2841; --b-fill-fg: #F7F4EE; --b-bd: #F7F4EE;
}
.btn, .ar-btn,
.navbar .btn, .navbar.is-light .navbar__cta, .navbar.is-light .navbar__news, html.menu-open .navbar__cta, html.menu-open .navbar .btn {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 16px 28px; border: 1px solid var(--b-bd); border-radius: 0;
  background: var(--b-bg); color: var(--b-fg);
  font-family: var(--sans); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  cursor: pointer; transition: color .45s var(--ease), border-color .45s var(--ease), transform .16s ease-out;
}
.btn--sm, .navbar .btn { padding: 13px 22px; }
.btn::before, .ar-btn::before {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--b-fill);
  transform: scaleX(0); transform-origin: right center; transition: transform .55s var(--ease);
}
.btn:hover::before, .btn:focus-visible::before, .ar-btn:hover::before, .ar-btn:focus-visible::before { transform: scaleX(1); transform-origin: left center; }
.btn:hover, .btn:focus-visible, .ar-btn:hover, .ar-btn:focus-visible { color: var(--b-fill-fg) !important; letter-spacing: .14em; }
/* Dunkle Buttons auf hellem Grund: Rahmen bleibt Navy, damit die helle Hover-Fläche eine Kante hat */
.btn--solid:hover, .btn--outline:hover, .ar-btn:not(.ar-btn--cream):hover { border-color: #0E2841; }
.btn:active, .ar-btn:active { transform: scale(.97); }

/* „Mehr erfahren“ in den Engagement-Karten: heller Button im selben Stil */
.way__more { padding: 16px 28px; font-family: var(--sans); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: .14em; background: #F7F4EE; color: #0E2841; }
.way__more::before { background: #0E2841; }
.way__more:hover { color: #F7F4EE; letter-spacing: .14em; }
/* Größen: Header kompakt, alle anderen Buttons gleich groß */
.navbar .btn.navbar__cta, .navbar .btn.navbar__news, .navbar.is-light .btn.navbar__cta, .navbar.is-light .btn.navbar__news, html.menu-open .navbar .btn { padding: 13px 22px; }
.footer .btn, .menu .btn { padding: 16px 28px; }

/* =========================================================
   Kundenfeedback Jörg (10/2026)
   ========================================================= */
/* Auf einen Blick: acht Noten auf der Zeile */
.zstaff__notes { grid-template-columns: repeat(8, minmax(0, 1fr)); padding: 0 2%; }
.znote__num { font-size: clamp(32px, 3vw, 50px); }
.znote__label { font-size: 11px; letter-spacing: .14em; max-width: 140px; line-height: 1.4; }
.zahlen__lead { max-width: 440px; }
/* Gründung entfällt im Flow: Konzept folgt direkt auf „Auf einen Blick“ (gleicher Grund) */
.zahlen + .triole .triole__inner { padding-top: 0; }

/* Weltkarte global: Länderpunkte statt Städte */
.tour-map__svg .country .city__dot { fill: #E3CB97; }
.tour-map__svg .country .city__pulse { stroke-width: 1; }
.tour-map__svg .country__label { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; fill: #C9C2B3; }
.tour-map__svg .home .city__label { font-size: 22px; }

/* Begegnungen: blaue Mother's-Day-Box über den (kleineren) Bildern */
.ar-beg .ar-weekend__txt { margin-bottom: clamp(36px, 4vw, 56px); }
.ar-beg .ar-weekend { height: clamp(500px, 44vw, 680px); width: 88%; margin-left: auto; margin-right: auto; }

/* Menschen: Geschäftsführung in zwei Reihen, Chairman dezent mit Text, Box und Zitat */
.board { gap: 32px; }
.chair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 44px); align-items: start; padding-bottom: 36px; border-bottom: 1px solid var(--line); }
.chair__portrait { aspect-ratio: 1 / 1; }
.chair:hover .member__portrait img { filter: grayscale(0); transform: scale(1.05); }
.chair__text { display: flex; flex-direction: column; gap: 6px; }
.chair__lead { margin: 14px 0 0; font-size: 15px; line-height: 1.7; color: var(--muted); max-width: 560px; }
.chair__quote { margin: 18px 0 0; padding-left: 20px; border-left: 2px solid var(--gold); }
.chair__quote p { margin: 0; font-family: var(--serif); font-size: 19px; line-height: 1.45; color: var(--ink); }
.chair__card { padding: 22px 22px 20px; background: var(--ink); color: var(--white); }
.chair__card-eyebrow { display: block; font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.chair__card-years { display: block; font-family: var(--serif); font-size: 32px; line-height: 1.1; margin: 8px 0 12px; }
.chair__card ul { margin: 0; padding: 12px 0 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 6px; font-size: 13px; line-height: 1.5; color: #D9D3C6; }
.chair__card li::before { content: "♪"; color: var(--gold); margin-right: 8px; }
.board__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.2vw, 32px); }
.gf__bio { margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
.member__initials { font-family: var(--serif); font-size: 44px; letter-spacing: .06em; color: #A9AEB4; }

/* Fachausschüsse & Kuratorium */
.circles { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(20px, 2.2vw, 32px); margin-top: clamp(64px, 7vw, 96px); }
.circle { padding: clamp(28px, 3vw, 44px); background: var(--white); border-top: 3px solid var(--gold); box-shadow: 0 30px 60px -44px rgba(14,40,65,.45); display: flex; flex-direction: column; gap: 14px; }
.circle__title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 2.4vw, 38px); line-height: 1.1; color: var(--ink); }
.circle p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--muted); }
.circle__list { margin: 4px 0; padding: 0; list-style: none; counter-reset: c; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; }
.circle__list li { counter-increment: c; display: flex; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--ink); }
.circle__list li::before { content: counter(c, lower-roman); font-family: var(--serif); color: var(--brass); min-width: 22px; }

/* =========================================================
   „Vier Wege zu geben“ als Zeilenliste statt schmaler Karten:
   Kategorie | Titel | Text (breite Spalte) | Button – trägt kurze wie lange Texte
   ========================================================= */
.ways { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--ink); }
.way {
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.15fr) minmax(0, 1.6fr) 190px;
  column-gap: clamp(24px, 3vw, 56px); align-items: start;
  min-height: 0; padding: clamp(32px, 3.4vw, 48px) clamp(20px, 2vw, 32px);
  border: 0; border-bottom: 1px solid var(--line); background: none;
}
.way:hover { background: none; border-top-color: transparent; }
.way__tag { padding-top: 10px; }
.way__title { font-size: clamp(28px, 2.6vw, 40px); line-height: 1.08; }
.way p { font-size: 15px; line-height: 1.75; max-width: 620px; }
.way__more { margin-top: 0; align-self: center; justify-self: end; }

/* Senior Advancement Team: Bio auf 3 Zeilen begrenzt, „Mehr lesen“ klappt sie auf (Text bleibt vollständig) */
.tm__bio { flex: none; margin: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.tm__bio.is-open { display: block; -webkit-line-clamp: unset; line-clamp: none; overflow: visible; }
.tm__more { appearance: none; background: none; border: 0; padding: 0; margin: 10px 0 0; align-self: flex-start; cursor: pointer;
  font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--brass); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.tm__more:hover { color: var(--ink); }
.tm__more[hidden] { display: none; }
.tm__link { margin-top: 22px; }
.tm__more + .tm__link, .tm__more[hidden] + .tm__link { margin-top: 22px; }

/* Senior Advancement Team auf kleineren Bildschirmen */
@media (max-width: 1000px) {
  .team__head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
}
@media (max-width: 600px) {
  .team__grid { grid-template-columns: 1fr; }
  .tm__portrait { max-width: 320px; }
}
/* Header auf kleineren Bildschirmen: Buttons wieder ausblenden (Menü enthält alle Links) */
@media (max-width: 1320px) { .navbar .btn.navbar__news { display: none; } }
@media (max-width: 1239px) { .navbar .btn.navbar__cta { display: none; } }

/* Arto-Sektionen: Mobil-Regeln aus seinem Entwurf (mit Präfix) */
@media (max-width: 900px) {
  .ar-invite { grid-column: 1 / -1; position: static; } .ar-prog { grid-column: 1 / -1; margin-top: 48px; }
  .ar-beg .ar-weekend { height: auto; width: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 26px 16px; align-items: start; }
  .ar-weekend > div { position: relative; inset: auto; width: auto; }
  .ar-wk1 { grid-column: 1 / -1; margin-right: 7%; } .ar-wk3 { margin-top: 34px; } .ar-wk4 { grid-column: 1 / -1; margin-left: 12%; }
  .ar-weekend__txt { grid-template-columns: 1fr; }
  .ar-row a { grid-template-columns: 1fr auto; } .ar-row__when { grid-column: 1 / -1; }
  .ar-mosaic__intro h2, .ar-mosaic__intro p { grid-column: 1 / -1; }
  .ar-mosaic__cols { grid-template-columns: 1fr 1fr; height: auto; padding-bottom: 64px; }
  .ar-mcol:nth-child(n+3) { display: none; } .ar-mcol:nth-child(2) { margin-top: 56px; }
}
@media (hover: none), (max-width: 900px) {
  .ar-tile::after { opacity: 1; background: linear-gradient(transparent 50%, rgba(15,23,48,.7)); }
  .ar-tile__lbl { opacity: 1; transform: none; place-items: end start; text-align: left; font-size: 1.05rem; }
}
@media (max-width: 700px) {
  .ar-row__go { width: 44px; height: 44px; }
  .ar-tile__lbl small { font-size: .7rem; letter-spacing: .14em; }
}

/* =========================================================
   Mobil & Tablet: alle eigenen Sektionen einspaltig bzw. zweispaltig
   ========================================================= */
@media (max-width: 1000px) {
  .triole__inner, .prio-stage, .newsletter__inner, .chair, .circles { grid-template-columns: 1fr; }
  .triole__globe { max-width: 420px; margin: 0 auto; }
  .prio-visual { position: relative; top: 0; height: 56vw; max-height: 480px; }
  .entities { grid-template-columns: 1fr; }
  .board__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chair__portrait { max-width: 320px; }
  .way { grid-template-columns: 1fr; row-gap: 14px; }
  .way__tag { padding-top: 0; }
  .way__more { justify-self: start; opacity: 1; transform: none; }
  .zahlen__title, .zahlen__lead { grid-column: 1 / -1; }
  .menu__inner { grid-template-columns: 1fr; }
  .menu__media { display: none; }
  .menu__label { font-size: clamp(30px, min(7.6vw, 6vh), 56px); }
}
@media (max-width: 700px) {
  /* Zahlen: statt Notenzeile ein ruhiges 2er-Raster */
  .zstaff { height: auto; margin-bottom: 0; }
  .zstaff::before, .zstaff::after, .zstaff__lines { display: none; }
  .zstaff__notes { position: static; padding: 0; grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .znote { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid var(--line-2); }
  .znote__glyph { display: none; }
  .znote__num, .znote__label { position: static; translate: none; opacity: 1; transform: none; }
  .znote__num { font-size: 40px; }
  .zahlen__head { margin-bottom: 48px; }
  .campus__title, .campus__portrait, .campus__body { grid-column: 1 / -1; grid-row: auto; }
  .campus__title { font-size: clamp(44px, 12vw, 64px); }
  .campus__portrait { margin-top: 32px; }
  .h2 { font-size: clamp(36px, 10vw, 52px); }
  .hv-c .hero__line { font-size: clamp(44px, 12vw, 64px); }
  .hv-c__lead { font-size: 15px; }
  .hv-c .hero__actions { flex-direction: column; align-items: stretch; }
  .expand__words span { font-size: clamp(26px, 7vw, 40px); }
  .board__grid, .circle__list { grid-template-columns: 1fr; }
  .newsletter__form { padding: 24px; }
  .footer__main { grid-template-columns: 1fr; }
  .footer__motto { font-size: clamp(34px, 10vw, 56px); }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
  .entity__status { white-space: normal; }
}
@media (max-width: 700px) {
  .tour-map__head { left: 16px; top: 14px; right: 16px; }
  .tour-map__hint { display: none; }
  .way__more { background: #0E2841; color: #F7F4EE; box-shadow: none; }
  .way__more::before { background: #F7F4EE; }
  .way__more:hover { color: #0E2841; }
  .prio, .prio-stage .prio { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; }
  .prio:hover > *, .prio-stage .prio.is-current > * { transform: none; }
}

/* Menschen: Intro mit großer Headline, Porträt-Reihe als Teaser und gegliedertem Text */
.people-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(48px, 7vw, 120px); align-items: start; margin-bottom: clamp(72px, 8vw, 120px); }
.people-intro__head { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 22px; }
.people-intro__title { font-size: clamp(48px, 5.6vw, 96px); line-height: .98; }
.people-intro__faces { display: flex; align-items: center; margin-top: 18px; }
.people-intro__faces img { width: clamp(52px, 4.4vw, 68px); height: clamp(52px, 4.4vw, 68px); border-radius: 50%; object-fit: cover; object-position: 50% 25%;
  border: 3px solid var(--paper); margin-left: -14px; filter: grayscale(1); transition: transform .5s var(--ease), filter .5s var(--ease);
  opacity: 0; transform: translateX(-16px); animation: faceIn .7s var(--ease) forwards; animation-delay: calc(.2s + var(--i) * .07s); animation-play-state: paused; }
.people-intro__faces img:first-child { margin-left: 0; }
.people-intro.is-in .people-intro__faces img, .people-intro__faces img { animation-play-state: running; }
.people-intro__faces img:hover { transform: translateY(-6px); filter: grayscale(0); z-index: 1; }
@keyframes faceIn { to { opacity: 1; transform: none; } }
.people-intro__more { display: grid; place-items: center; width: clamp(52px, 4.4vw, 68px); height: clamp(52px, 4.4vw, 68px); margin-left: -14px; border-radius: 50%; border: 3px solid var(--paper); background: var(--ink); color: var(--gold); font-family: var(--serif); font-size: 26px; }
.people-intro__cap { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); max-width: 360px; line-height: 1.6; }
.people-intro__body { display: flex; flex-direction: column; }
.people-intro__lead { margin: 0 0 40px; font-family: var(--serif); font-size: clamp(24px, 2.2vw, 32px); line-height: 1.35; color: var(--ink); }
.people-intro__point { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 24px; padding: 26px 0; border-top: 1px solid var(--line); }
.people-intro__point:last-child { border-bottom: 1px solid var(--line); }
.people-intro__label { font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--brass); padding-top: 4px; }
.people-intro__point p { margin: 0; font-size: 16px; line-height: 1.7; color: var(--muted); }
@media (max-width: 1000px) {
  .people-intro { grid-template-columns: 1fr; }
  .people-intro__head { position: static; }
}
@media (max-width: 600px) {
  .people-intro__point { grid-template-columns: 1fr; gap: 10px; }
  .people-intro__faces img, .people-intro__more { width: 44px; height: 44px; margin-left: -10px; }
}
@media (max-width: 480px) {
  .nav-toggle__label { display: none; }
  .navbar__tools { gap: 14px; padding-left: 14px; }
}

/* =========================================================
   Feedback Chef (10/2026)
   ========================================================= */
/* Headlines insgesamt kleiner */
.h2 { font-size: clamp(36px, 3.7vw, 62px); line-height: 1.05; }
.people-intro__title { font-size: clamp(40px, 4vw, 66px); }
.ar-scope { --fs-h2: clamp(2.2rem, 1.2rem + 2vw, 3.9rem); --fs-h2s: clamp(2rem, 1.1rem + 1.6vw, 3.3rem); --fs-h3: clamp(1.6rem, 1.1rem + 1vw, 2.3rem); }
.newsletter__title, .zahlen__title { font-size: clamp(36px, 3.7vw, 62px); }

/* Woran wir gerade arbeiten: Text + Bildcollage + Bausteine */
.campus2 { padding: var(--section-y) 0; }
.campus2__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(48px, 7vw, 120px); align-items: center; }
.campus2__text { display: flex; flex-direction: column; gap: 22px; }
.campus2__lead { margin: 6px 0 0; font-family: var(--serif); font-size: clamp(21px, 1.8vw, 27px); line-height: 1.4; color: var(--ink); }
.campus2__text .body { font-size: 16px; max-width: 560px; }
.campus2__media { position: relative; padding: 0 0 18% 0; }
.campus2__img { margin: 0; overflow: hidden; }
.campus2__img img { width: 100%; height: 100%; object-fit: cover; }
.campus2__img--a { width: 78%; aspect-ratio: 4 / 5; }
.campus2__img--b { position: absolute; right: 0; bottom: 0; width: 52%; aspect-ratio: 4 / 3; box-shadow: 0 40px 70px -40px rgba(14,40,65,.6); border: 8px solid var(--paper); }
.campus2__img--b figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 14px 10px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: linear-gradient(transparent, rgba(8,24,40,.75)); }
.campus2__goals-head { margin-top: clamp(64px, 7vw, 104px); padding-bottom: 18px; border-bottom: 1px solid var(--ink); }
.campus2__goals { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.campus2__goals li { display: flex; flex-direction: column; gap: 14px; padding: 28px 28px 30px 0; border-right: 1px solid var(--line); }
.campus2__goals li + li { padding-left: 28px; }
.campus2__goals li:last-child { border-right: 0; }
.campus2__goal-num { font-family: var(--serif); font-size: 15px; color: var(--brass); letter-spacing: .1em; }
.campus2__goal-txt { font-family: var(--serif); font-size: clamp(20px, 1.6vw, 25px); line-height: 1.25; color: var(--ink); }
.campus2 + .zahlen { padding-top: 0; }

/* Ein einzigartiges Konzept: drei Säulen, die sich auf Hover/Fokus öffnen */
.pillars { padding: 0 0 var(--section-y); }
.pillars__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 96px); align-items: end; margin-bottom: clamp(40px, 4vw, 64px); }
.pillars__head .lead { max-width: 560px; }
.pillars__row { display: flex; gap: 14px; height: clamp(520px, 44vw, 640px); }
.pillar { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; cursor: pointer; outline: none; background: var(--ink); transition: flex-grow .9s cubic-bezier(.65, 0, .35, 1); }
.pillar.is-active { flex-grow: 2.6; }
.pillar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.4s var(--ease), filter .9s var(--ease); filter: grayscale(.6) brightness(.8); }
.pillar.is-active img { transform: scale(1); filter: none; }
.pillar__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,24,40,.15) 0%, rgba(8,24,40,.25) 40%, rgba(8,24,40,.88) 100%); }
.pillar__num { position: absolute; top: 26px; left: 28px; font-family: var(--serif); font-size: clamp(44px, 4vw, 64px); line-height: 1; color: var(--gold); }
.pillar__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 28px 32px; color: #fff; }
.pillar__tag { display: block; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: #E3CB97; margin-bottom: 10px; }
.pillar__title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2vw, 34px); line-height: 1.1; color: #fff; }
.pillar__desc { margin: 0; max-width: 520px; font-size: 15px; line-height: 1.65; color: #DDD6C8; max-height: 0; opacity: 0; overflow: hidden; transition: max-height .8s var(--ease), opacity .5s, margin .6s; }
.pillar.is-active .pillar__desc { max-height: 260px; opacity: 1; margin-top: 14px; transition-delay: .25s; }
.pillar:not(.is-active) .pillar__title { font-size: clamp(20px, 1.5vw, 24px); }
.pillar:focus-visible { box-shadow: inset 0 0 0 2px var(--gold); }
.zahlen + .pillars { padding-top: 0; }

/* Newsletter & Formulare: eigenes, ruhiges Häkchen statt Browser-Checkbox */
.consent input[type="checkbox"], .ar-consent input[type="checkbox"] {
  appearance: none; -webkit-appearance: none; flex: none; width: 18px; height: 18px; margin: 2px 0 0; border-radius: 0; cursor: pointer;
  border: 1px solid var(--brass); background: transparent no-repeat center / 12px 12px; transition: background-color .25s, border-color .25s;
}
.consent input[type="checkbox"]:checked, .ar-consent input[type="checkbox"]:checked {
  background-color: var(--gold); border-color: var(--gold);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3' fill='none' stroke='%230E2841' stroke-width='1.6'/%3E%3C/svg%3E");
}
.consent--light input[type="checkbox"] { border-color: rgba(255,255,255,.55); }
.consent input[type="checkbox"]:focus-visible, .ar-consent input[type="checkbox"]:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

/* Vier Prioritäten: Arto-Kartenstapel */
.ar-stack-wrap { margin-top: clamp(48px, 5vw, 80px); }
.ar-stack { display: flex; flex-direction: column; gap: clamp(24px, 3vw, 40px); }
.ar-slab { position: sticky; top: calc(var(--hdr) + 24px); height: min(calc(100svh - var(--hdr) - 80px), 640px); display: grid; grid-template-columns: 1.05fr 1fr; background: var(--cream); box-shadow: 0 1px 0 var(--line), 0 50px 80px -50px rgba(15,23,48,.45); overflow: hidden; }
.ar-slab__shade { position: absolute; inset: 0; background: var(--ink); opacity: 0; pointer-events: none; z-index: 3; }
.ar-slab__img { position: relative; overflow: hidden; }
.ar-slab__img img { position: absolute; left: 0; top: 0; width: 100%; height: 114%; object-fit: cover; object-position: var(--op, 50% 50%); }
.ar-slab__body { padding: clamp(28px, 4vw, 64px); display: flex; flex-direction: column; justify-content: space-between; }
.ar-slab__no { font-family: var(--f-d); font-size: clamp(3rem, 1.8rem + 2.6vw, 5.2rem); line-height: .8; color: var(--gold); }
.ar-slab h3 { font-family: var(--f-d); font-weight: 400; font-size: var(--fs-h3); line-height: 1.08; margin: 0 0 20px; color: var(--ink); }
.ar-slab p { margin: 0; max-width: 46ch; font-size: 1.02rem; line-height: 1.65; }
.ar-slab--blue { background: var(--blue); color: var(--cream); }
.ar-slab--blue h3 { color: var(--cream); }
.ar-slab--blue .ar-slab__no { color: var(--gold-lt); }
@media (max-width: 900px) {
  .ar-slab { position: relative; top: auto; height: auto; grid-template-columns: 1fr; }
  .ar-slab__img { aspect-ratio: 4 / 3; }
  .ar-slab__no { margin-bottom: 24px; }
}

/* Footer: große Wortmarke mit Notenlinien */
.footer { position: relative; overflow: hidden; }
.footer::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(600px circle at var(--mx, 70%) var(--my, 80%), rgba(194,155,79,.16), transparent 60%); transition: background .2s; }
.footer > * { position: relative; z-index: 1; }
.footer__main { padding-top: clamp(72px, 8vw, 110px); }
.fbig { padding: clamp(24px, 3vw, 40px) 0 clamp(20px, 2vw, 32px); }
.fbig__inner { position: relative; container-type: inline-size; }
.fbig__staff { position: absolute; left: var(--gutter); right: var(--gutter); top: 50%; height: 12cqi; transform: translateY(-58%); display: flex; flex-direction: column; justify-content: space-between; pointer-events: none; }
.fbig__staff i { height: 1px; background: rgba(194,155,79,.28); transform: scaleX(0); transform-origin: left; transition: transform 1.6s cubic-bezier(.65, 0, .35, 1); }
.fbig__staff i:nth-child(2) { transition-delay: .08s; } .fbig__staff i:nth-child(3) { transition-delay: .16s; } .fbig__staff i:nth-child(4) { transition-delay: .24s; } .fbig__staff i:nth-child(5) { transition-delay: .32s; }
.fbig.is-in .fbig__staff i { transform: none; }
.fbig__word { position: relative; display: flex; align-items: center; justify-content: space-between; font-family: var(--serif); font-size: 15.2cqi; line-height: 1; letter-spacing: .04em; color: #F7F4EE; white-space: nowrap; overflow: hidden; padding: .06em 0 .1em; }
.fbig__l { display: inline-block; transform: translateY(105%); transition: transform 1.3s cubic-bezier(.19, 1, .22, 1); }
.fbig__l:last-child { transition-delay: .18s; }
.fbig__mark { width: .5em; height: .5em; flex: none; color: var(--gold); fill: currentColor; transform: scale(0) rotate(-90deg); transition: transform 1.1s cubic-bezier(.34, 1.56, .64, 1) .45s; }
.fbig.is-in .fbig__l { transform: none; }
.fbig.is-in .fbig__mark { transform: none; }
.fbig__word:hover .fbig__mark { transform: rotate(90deg); transition-delay: 0s; transition-duration: .8s; }
.fbig__claim { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 18px; font-size: 12px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--gold);
  opacity: 0; transform: translateY(10px); transition: opacity .8s .8s, transform .8s .8s var(--ease); }
.fbig__claim i { width: 5px; height: 5px; background: var(--gold); transform: rotate(45deg); }
.fbig.is-in .fbig__claim { opacity: 1; transform: none; }

@media (max-width: 1000px) {
  .campus2__grid, .pillars__head { grid-template-columns: 1fr; }
  .campus2__goals { grid-template-columns: 1fr 1fr; }
  .campus2__goals li:nth-child(2) { border-right: 0; }
  .campus2__goals li:nth-child(3) { padding-left: 0; }
  .pillars__row { flex-direction: column; height: auto; }
  .pillar, .pillar.is-active { flex: none; height: 440px; }
  .pillar .pillar__desc { max-height: 300px; opacity: 1; margin-top: 12px; }
  .pillar img { filter: none; transform: none; }
}
@media (max-width: 600px) {
  .campus2__goals { grid-template-columns: 1fr; }
  .campus2__goals li, .campus2__goals li + li { padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .pillar, .pillar.is-active { height: 480px; }
  .fbig__claim { gap: 10px; letter-spacing: .2em; font-size: 10px; }
}
@media (max-width: 1000px) {
  .pillar, .pillar.is-active { height: auto; display: flex; flex-direction: column; cursor: default; }
  .pillar img { position: relative; inset: auto; height: auto; aspect-ratio: 4 / 3; }
  .pillar__shade { display: none; }
  .pillar__body { position: relative; padding: 24px 22px 28px; background: var(--ink); }
}

/* Zahlen auf Tablets: Raster statt Notenzeile (vorher erst unter 700 px – auf 768 px überlappten Zahlen/Labels) */
@media (max-width: 1000px) {
  .zstaff { height: auto; margin-bottom: 0; }
  .zstaff::before, .zstaff::after, .zstaff__lines { display: none; }
  .zstaff__notes { position: static; padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 24px; }
  .znote { display: flex; flex-direction: column; gap: 6px; padding-top: 14px; border-top: 1px solid var(--line-2); }
  .znote__glyph { display: none; }
  .znote__num, .znote__label { position: static; translate: none; opacity: 1; transform: none; }
  .znote__num { font-size: 44px; }
  .znote__label { max-width: none; }
  .zahlen__head { margin-bottom: 48px; }
}
@media (max-width: 700px) {
  .zstaff__notes { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .znote__num { font-size: 40px; }
}

/* Abstände angeglichen (alle Übergänge = var(--section-y)) */
@media (min-width: 1001px) { .zstaff { margin-bottom: 57px; } }        /* Zahlen → Konzept: vorher 123 px */
.newsletter { padding: var(--section-y) 0; }                             /* vorher 130 px */
.footer__main { padding-top: 0; }                                        /* Da capo und Footer sind beide dunkelblau: kein doppelter Abstand */
@media (max-width: 900px) { .ar-mosaic__cols { padding-bottom: var(--section-y); } }   /* vorher 64 px statt Standardabstand */

/* =========================================================
   Runde 5: Rechtsträger, Fachausschüsse/Kuratorium, Footer
   ========================================================= */
/* Die Stiftung – Eine Mission, lokale Rechtsträger: dunkles Band, große Ländercodes, verbindende Linie */
.rtraeger { background: var(--ink); color: #fff; }
.rtraeger .eyebrow { color: var(--gold); }
.rtraeger .h2 { color: #fff; }
.rtraeger .h2 em { color: #E3CB97; }
.rtraeger__head .body { color: #C9C2B3; }
.entities__line { display: flex; align-items: center; gap: 22px; margin: 0 0 clamp(28px, 3vw, 44px); font-size: 11px; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); }
.entities__line i { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(194,155,79,.7)); transform: scaleX(0); transform-origin: right; transition: transform 1.4s cubic-bezier(.65,0,.35,1); }
.entities__line i:last-child { background: linear-gradient(90deg, rgba(194,155,79,.7), transparent); transform-origin: left; }
.rtraeger .entities__line i { transform: scaleX(1); }
.entities { gap: 0; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.entity { position: relative; overflow: hidden; background: transparent; border-top: 0; box-shadow: none; padding: clamp(32px, 3vw, 48px) clamp(24px, 2.6vw, 40px) clamp(32px, 3vw, 44px);
  border-left: 1px solid rgba(255,255,255,.14); transition: background .6s var(--ease); }
.entity:first-child { border-left: 0; }
.entity:hover { transform: none; box-shadow: none; background: rgba(255,255,255,.04); }
.entity::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .7s var(--ease); }
.entity:hover::after { transform: scaleX(1); }
.entity__code { display: block; font-family: var(--serif); font-size: clamp(88px, 9vw, 150px); line-height: .85; letter-spacing: .02em; color: transparent; -webkit-text-stroke: 1px rgba(194,155,79,.65); margin-bottom: 26px; transition: color .6s var(--ease), -webkit-text-stroke-color .6s; }
.entity:hover .entity__code { color: var(--gold); -webkit-text-stroke-color: var(--gold); }
.entity__land { color: #fff; font-size: clamp(24px, 2vw, 30px); }
.entity__name { color: #fff; }
.entity__status { color: #E3CB97; }
.entity p { color: #C9C2B3; }
.entity__for { color: #fff; border-top-color: rgba(255,255,255,.14); }
.flag { box-shadow: 0 0 0 1px rgba(255,255,255,.2); }
/* angrenzende Sections haben jetzt eigenen (hellen) Grund: Abstände wieder voll */
#veranstaltungen { padding-top: var(--section-y); }

/* Fachausschüsse & Administration + Kuratorium */
.gov { margin-top: clamp(80px, 8vw, 120px); padding-top: clamp(56px, 6vw, 80px); border-top: 1px solid var(--line); }
.gov__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 96px); align-items: end; margin-bottom: clamp(36px, 4vw, 56px); }
.gov__title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 3vw, 46px); line-height: 1.08; color: var(--ink); }
.gov__intro { margin: 0; font-size: 16px; line-height: 1.7; color: var(--muted); max-width: 560px; }
.gov__grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.gov__item { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 190px; padding: 28px 28px 30px; border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); overflow: hidden; isolation: isolate; transition: color .5s var(--ease); }
.gov__item:nth-child(3n) { border-right: 0; }
.gov__item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ink); transform: scaleY(0); transform-origin: bottom; transition: transform .6s var(--ease); }
.gov__item:hover::before { transform: scaleY(1); }
.gov__num { font-family: var(--serif); font-size: clamp(40px, 3.4vw, 56px); line-height: 1; color: var(--brass); transition: color .5s; }
.gov__name { font-family: var(--serif); font-size: clamp(20px, 1.6vw, 25px); line-height: 1.25; color: var(--ink); transition: color .5s; }
.gov__item:hover .gov__num { color: var(--gold); }
.gov__item:hover .gov__name { color: #fff; }
.gov__notes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 72px); margin-top: 28px; }
.gov__notes p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--muted); }
.kur { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); min-height: 440px; margin-top: clamp(64px, 7vw, 104px); background: var(--ink); color: #fff; overflow: hidden; }
.kur__img { position: relative; overflow: hidden; }
.kur__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 45% 40%; transition: transform 1.6s var(--ease); }
.kur:hover .kur__img img { transform: scale(1.05); }
.kur__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,40,65,0) 40%, rgba(14,40,65,1)); }
.kur__body { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: clamp(36px, 4.4vw, 72px); }
.kur__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--gold); }
.kur__title { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 2.8vw, 44px); line-height: 1.1; color: #fff; }
.kur__body p { margin: 0; font-family: var(--serif); font-size: clamp(18px, 1.5vw, 22px); line-height: 1.55; color: #DDD6C8; max-width: 560px; }

/* Footer: Abschluss-Aufruf */
.fcta { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 96px); align-items: end; padding-top: var(--section-y); padding-bottom: clamp(56px, 6vw, 88px); margin-bottom: clamp(56px, 6vw, 88px); border-bottom: 1px solid rgba(255,255,255,.14); }
.fcta__title { margin: 0; font-family: var(--serif); font-size: clamp(40px, 4.6vw, 76px); line-height: 1.02; color: #fff; }
.fcta__side { display: flex; flex-direction: column; gap: 22px; }
.fcta__sub { margin: 0; font-size: 15px; line-height: 1.7; color: #C9C2B3; max-width: 440px; }
.fcta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.fcta__mail { display: inline-flex; align-items: baseline; gap: 14px; align-self: flex-start; font-family: var(--serif); font-size: clamp(20px, 1.7vw, 26px); color: #fff; border-bottom: 1px solid rgba(194,155,79,.5); padding-bottom: 6px; transition: color .3s, border-color .3s; }
.fcta__mail span { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.fcta__mail:hover { color: #E3CB97; border-color: var(--gold); }
/* Footer: Noten wandern über die Notenlinien hinter der Wortmarke */
.fbig__note { position: absolute; left: 0; top: calc(var(--l) * 25% - 4.2cqi); height: 4.6cqi; width: auto; fill: rgba(194,155,79,.55); opacity: 0;
  animation: noteWalk var(--d) linear infinite; animation-delay: var(--del); }
@keyframes noteWalk { 0% { transform: translateX(-6cqi); opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { transform: translateX(100cqi); opacity: 0; } }
.fbig__staff { overflow: visible; }

@media (max-width: 1000px) {
  .gov__head, .gov__notes, .kur, .fcta { grid-template-columns: 1fr; }
  .gov__grid { grid-template-columns: 1fr 1fr; }
  .gov__item:nth-child(3n) { border-right: 1px solid var(--line); }
  .gov__item:nth-child(2n) { border-right: 0; }
  .kur__img { min-height: 260px; }
  .kur__img::after { background: linear-gradient(180deg, rgba(14,40,65,0) 40%, rgba(14,40,65,1)); }
  .entities { border-bottom: 0; }
  .entity { border-left: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
}
@media (max-width: 600px) {
  .gov__grid { grid-template-columns: 1fr; }
  .gov__item { border-right: 0 !important; min-height: 0; flex-direction: row; align-items: baseline; gap: 18px; padding: 20px 0; }
  .gov__num { font-size: 30px; min-width: 44px; }
  .entity__code { font-size: 80px; }
}
@media (prefers-reduced-motion: reduce) { .fbig__note { animation: none; display: none; } }

/* =========================================================
   Die Stiftung (neu): Diagramm „Eine Mission → lokale Rechtsträger“ + Liste
   ========================================================= */
.mission { background: var(--paper); color: var(--ink); }
.mission__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(48px, 7vw, 120px); align-items: start; }
.mission__aside { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 22px; }
.mission__lead { max-width: 520px; }
.mission__diagram { margin-top: 18px; max-width: 420px; }
.mission__svg { display: block; width: 100%; height: auto; overflow: visible; }
.mission__halo { fill: rgba(194,155,79,.12); transform-box: fill-box; transform-origin: center; animation: haloPulse 3.6s ease-in-out infinite; }
@keyframes haloPulse { 50% { transform: scale(1.14); opacity: .5; } }
.mission__core { fill: var(--ink); }
.mission__mark { color: var(--gold); fill: currentColor; }
.mission__label { font-family: var(--sans); font-size: 11px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; fill: var(--brass); }
.mission__branch { fill: none; stroke: var(--line-2); stroke-width: 1.4; stroke-dasharray: 300; stroke-dashoffset: 300; transition: stroke .5s, stroke-width .5s; }
.mission.is-in .mission__branch { stroke-dashoffset: 0; transition: stroke-dashoffset 1.6s cubic-bezier(.65,0,.35,1), stroke .5s, stroke-width .5s; }
.mission.is-in .mission__branch[data-i="1"] { transition-delay: .2s, 0s, 0s; }
.mission.is-in .mission__branch[data-i="2"] { transition-delay: .4s, 0s, 0s; }
.mission__branch.is-active { stroke: var(--gold); stroke-width: 2.4; }
.mission__node circle { fill: var(--paper); stroke: var(--line-2); stroke-width: 1.2; transition: fill .5s, stroke .5s; }
.mission__node text { font-family: var(--serif); font-size: 15px; fill: var(--muted); transition: fill .5s; }
.mission__node { cursor: pointer; opacity: 0; transition: opacity .6s .9s; }
.mission.is-in .mission__node { opacity: 1; }
.mission__node.is-active circle { fill: var(--ink); stroke: var(--gold); }
.mission__node.is-active text { fill: var(--gold); }
.mission__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.mission__item { position: relative; display: grid; grid-template-columns: clamp(80px, 8vw, 128px) minmax(0, 1fr); gap: clamp(20px, 2.4vw, 40px); padding: clamp(28px, 3vw, 44px) 0; border-bottom: 1px solid var(--line); cursor: default; outline: none; transition: opacity .5s var(--ease); }
.mission__item:not(.is-active) { opacity: .55; }
.mission__item::before { content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 100%; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .8s var(--ease); }
.mission__item.is-active::before { transform: scaleX(1); }
.mission__code { font-family: var(--serif); font-size: clamp(56px, 5.4vw, 88px); line-height: .85; color: transparent; -webkit-text-stroke: 1px var(--brass); transition: color .5s; }
.mission__item.is-active .mission__code { color: var(--gold); -webkit-text-stroke-color: var(--gold); }
.mission__body { display: flex; flex-direction: column; gap: 8px; }
.mission__land { margin: 0 0 4px; display: flex; align-items: center; gap: 12px; font-family: var(--serif); font-weight: 400; font-size: clamp(26px, 2.2vw, 34px); color: var(--ink); }
.mission__land .flag { height: 18px; box-shadow: 0 0 0 1px rgba(14,40,65,.15); }
.mission__name { font-weight: 600; font-size: 15px; color: var(--ink); }
.mission__status { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); }
.mission__body p { margin: 6px 0 0; font-size: 15px; line-height: 1.7; color: var(--muted); max-width: 560px; }
.mission__for { margin-top: 10px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
/* angrenzend: Veranstaltungen hat wieder denselben Grund → kein doppelter Abstand */
.mission + #veranstaltungen { padding-top: 0; }
@media (max-width: 1000px) {
  .mission__grid { grid-template-columns: 1fr; }
  .mission__aside { position: static; }
  .mission__diagram { max-width: 340px; }
}
@media (max-width: 600px) {
  .mission__item { grid-template-columns: 1fr; gap: 10px; }
  .mission__code { font-size: 56px; }
}

/* Footer: „Kontakt“ als Button, sieht aus wie die anderen Links */
.footer__legal-btn { appearance: none; background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: inherit; }
.footer__legal-btn:hover { color: #fff; }
/* Footer: kein Licht-Effekt am Cursor mehr */
.footer::before { content: none; }

/* Da capo → Footer: Abdunklung im WSK-Navy (statt Artos Violett-Blau), unten nahtlos in den Footer;
   Footer hat wieder eigenen Abstand oben */
.ar-dc__bg::after {
  background: linear-gradient(90deg, rgba(14,40,65,.92) 0%, rgba(14,40,65,.74) 36%, rgba(14,40,65,.5) 60%, rgba(14,40,65,.62) 100%),
              linear-gradient(180deg, rgba(14,40,65,.45) 0%, rgba(14,40,65,0) 22%, rgba(14,40,65,0) 62%, #0E2841 100%);
}
.ar-dc { background: #0E2841; }
.footer__main { padding-top: clamp(56px, 6vw, 88px); border-top: 1px solid rgba(255,255,255,.1); }
/* Linie zwischen Da capo und Footer genau in der Mitte: gleicher Abstand oben und unten */
.ar-dc { padding-bottom: clamp(56px, 6vw, 88px); }
/* Fachausschüsse: Hover mit Notensystem + Noten im Blau */
.gov__staff { position: absolute; z-index: -1; right: -8px; top: 50%; width: 88%; height: auto; transform: translateY(-58%); pointer-events: none; overflow: visible; }
.gov__staff .gs-line { stroke: rgba(255,255,255,.16); stroke-width: 1; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .9s var(--ease) var(--d); }
.gov__staff .gs-note { opacity: 0; transform: translateY(14px); transform-box: fill-box; transition: opacity .5s var(--ease), transform .7s cubic-bezier(.34,1.56,.64,1); }
.gov__staff .gs-note ellipse { fill: rgba(194,155,79,.55); }
.gov__staff .gs-note path { stroke: rgba(194,155,79,.55); stroke-width: 1.4; fill: none; }
.gov__item:hover .gs-line { stroke-dashoffset: 0; }
.gov__item:hover .gs-note { opacity: 1; transform: none; transition-delay: var(--d); }
.gov__item:hover .gs-note:nth-of-type(2n) ellipse { fill: rgba(217,184,114,.75); }
.gov__num { display: inline-block; transform-origin: left bottom; transition: color .5s, transform .6s var(--ease); }
.gov__item:hover .gov__num { transform: translateY(-4px) scale(1.06); }
@media (hover: none) { .gov__staff { display: none; } }
/* Begegnungen-Collage: „Samstag“-Karte liegt oben, damit ihre Beschriftung nie verdeckt wird */
.ar-wk2 { top: 9%; z-index: 4; }
.ar-weekend { height: clamp(700px, 58vw, 900px); }
.gov__staff { left: auto; right: 0; top: 22px; width: 74%; transform: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%); mask-image: linear-gradient(90deg, transparent 0%, #000 28%); }
/* Begegnungen-Collage auf Desktop weiter auseinander: mehr Höhe, Karten versetzt, kaum Überlappung → längerer Scroll-Effekt */
@media (min-width: 901px) {
  .ar-beg .ar-weekend { height: auto; aspect-ratio: 10 / 17; width: 92%; }
  .ar-wk1 { left: 0; top: 0; width: 62%; }
  .ar-wk2 { right: 0; left: auto; top: 25%; width: 38%; z-index: 2; }
  .ar-wk3 { left: 4%; top: 50%; bottom: auto; width: 40%; }
  .ar-wk4 { right: 0; bottom: 0; width: 48%; }
}
/* Footer-Links: kein Pfeil/Einrücken beim Hover, nur Farbwechsel */
.footer__col a::before, .footer__col a:hover::before { content: none; display: none; }

/* =========================================================
   V8-Texte (12.10.): neue Bausteine
   ========================================================= */
/* Zahlen: Fakten-Leiste unter dem Notensystem */
.zfacts { list-style: none; margin: 8px 0 0; padding: 26px 0 0; border-top: 1px solid var(--line-2); display: grid; grid-template-columns: 1fr 1fr 1.6fr; gap: 24px clamp(24px, 4vw, 64px); }
.zfacts li { display: flex; align-items: baseline; gap: 14px; }
.zfacts b { font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 2.4vw, 40px); line-height: 1; color: var(--ink); white-space: nowrap; }
.zfacts span { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); line-height: 1.45; }
@media (max-width: 1000px) { .zfacts { grid-template-columns: 1fr; margin-top: 36px; } }

/* Über die Wiener Sängerknaben */
.about4 { background: var(--pale); padding: var(--section-y) 0; }
.about4__head { max-width: 980px; margin-bottom: clamp(40px, 5vw, 72px); }
.about4__head .h2 { margin-top: 18px; }
.about4__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); }
.about4__grid li { display: flex; flex-direction: column; }
.about4__img { margin: 0 0 22px; aspect-ratio: 4 / 5; overflow: hidden; background: var(--line); }
.about4__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--ease); }
.about4__grid li:hover .about4__img img { transform: scale(1.04); }
.about4__no { font-family: var(--serif); font-size: 15px; color: var(--brass); letter-spacing: .1em; padding-bottom: 12px; margin-bottom: 14px; border-bottom: 1px solid var(--line-2); }
.about4__grid h3 { margin: 0 0 12px; font-family: var(--serif); font-weight: 400; font-size: clamp(21px, 1.7vw, 27px); line-height: 1.2; color: var(--ink); }
.about4__grid p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--muted); }
.about4__more { margin: clamp(36px, 4vw, 56px) 0 0; font-size: 15px; color: var(--muted); }
.about4__more a { color: var(--ink); border-bottom: 1px solid var(--gold); }
@media (max-width: 1100px) { .about4__grid { grid-template-columns: 1fr 1fr; row-gap: 48px; } }
@media (max-width: 600px) { .about4__grid { grid-template-columns: 1fr; } }

/* Mosaik-Intro: längerer Campus-Text */
.ar-mosaic__intro h2 { grid-column: 1 / 7; }
.ar-mosaic__intro p { grid-column: 7 / 13; font-size: 1.02rem; line-height: 1.7; }
@media (max-width: 900px) { .ar-mosaic__intro h2, .ar-mosaic__intro p { grid-column: 1 / -1; } }

/* Vision: Klang & Chormädchen + Zwischentitel */
.vtexts { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 72px); margin-top: clamp(48px, 5vw, 80px); }
.vtext__img { margin: 0 0 26px; aspect-ratio: 16 / 9; overflow: hidden; }
.vtext__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vtext h3 { margin: 0 0 14px; font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2.1vw, 34px); line-height: 1.15; color: var(--ink); }
.vtext p { margin: 0; font-size: 16px; line-height: 1.75; color: var(--muted); }
.prio-sub { margin-top: clamp(72px, 8vw, 120px); margin-bottom: clamp(28px, 3vw, 44px); }
.prio-sub__title { margin: 0; padding-top: 22px; border-top: 1px solid var(--ink); font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 2.6vw, 42px); color: var(--ink); }
@media (max-width: 900px) { .vtexts { grid-template-columns: 1fr; } }

/* Gründungsgeschichte (wieder im Ablauf) */
.ar-found { padding: var(--section-y) 0; }
.ar-found__grid { align-items: start; }
.ar-found__pics { position: sticky; top: 120px; }
.ar-found__body h2 { font-size: var(--fs-h2s); }
.ar-found__sub { margin: 40px 0 16px; font-family: var(--f-d); font-weight: 400; font-size: clamp(1.4rem, 1.1rem + .8vw, 1.9rem); color: var(--ink); }
.ar-found__text p { margin: 0 0 16px; color: var(--ink-2); line-height: 1.7; max-width: 60ch; }
.ar-found__quote { grid-column: 1 / -1; margin: clamp(56px, 6vw, 96px) 0 0; padding: clamp(28px, 3.4vw, 52px) clamp(28px, 4vw, 64px); background: var(--blue); color: var(--cream); position: relative; }
.ar-found__quote::before { content: "“"; position: absolute; top: -.18em; left: clamp(18px, 3vw, 44px); font-family: var(--f-d); font-size: clamp(90px, 9vw, 150px); line-height: 1; color: var(--gold-lt); }
.ar-found__quote p { margin: 0 0 22px; font-family: var(--f-d); font-size: clamp(1.1rem, .95rem + .45vw, 1.45rem); line-height: 1.6; columns: 2 380px; column-gap: clamp(32px, 4vw, 64px); }
.ar-found__quote cite { display: flex; gap: 14px; align-items: baseline; font-style: normal; }
.ar-found__quote cite b { font-family: var(--f-d); font-weight: 400; letter-spacing: .06em; color: var(--gold-lt); font-size: 1.1rem; }
.ar-found__quote cite span { color: rgba(247,242,232,.75); font-size: .95rem; }
.ar-found .ar-mile { margin-top: clamp(72px, 7vw, 110px); }
.ar-mile__head { position: absolute; left: 0; top: 0; color: var(--gold); }
.ar-mile ol { grid-template-columns: repeat(6, 1fr); gap: 22px; }
.ar-mile__yr { font-size: clamp(1.5rem, 1.1rem + 1.1vw, 2.3rem); }
.ar-mile__tx { font-size: .95rem; }
#rechtstraeger { padding-top: 0; }
@media (max-width: 900px) {
  .ar-found__pics { position: relative; top: auto; }
  .ar-mile ol { grid-template-columns: 1fr 1fr; }
}

/* Zuwendungen */
.mission__intro { margin-top: 22px; color: var(--ink); }
.mission__sub { margin: 30px 0 10px; font-family: var(--serif); font-weight: 400; font-size: 22px; color: var(--ink); }
.mission__fine { font-size: 13px !important; color: var(--muted) !important; margin-top: 10px !important; }
.mission__fine a { color: var(--ink); border-bottom: 1px solid var(--gold); }
.mission__doc { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; font-weight: 500; color: var(--ink); border-bottom: 1px solid var(--gold); }
.mission__doc::before { content: "↓"; color: var(--brass); }
.funds { display: grid; grid-template-columns: auto 1fr; gap: clamp(20px, 3vw, 44px); align-items: start; margin-top: clamp(56px, 6vw, 90px); padding: clamp(28px, 3.4vw, 48px); border: 1px solid var(--line-2); background: #fff; }
.funds__icon { width: 56px; height: 56px; display: grid; place-items: center; background: var(--ink); color: var(--gold); }
.funds__icon svg { width: 30px; height: 30px; }
.funds__title { margin: 0 0 12px; font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2vw, 32px); color: var(--ink); }
.funds p { margin: 0; font-size: 16px; line-height: 1.75; color: var(--muted); max-width: 900px; }

/* Begegnungen */
.ar-invite__about { margin: 26px 0 0; padding: 20px 0 0; border-top: 1px solid var(--line); }
.ar-invite__about .ar-cap { color: var(--gold); }
.ar-invite__about p { margin: 10px 0 0; font-size: .95rem; line-height: 1.65; color: var(--ink-2); }
.ar-invite .ar-btn { border: 0; cursor: pointer; }
.ar-invite__fine { margin: 14px 0 0; font-size: .85rem; line-height: 1.55; color: var(--ink-2); max-width: 40ch; }
.ar-rows__head { margin: 0 0 14px; color: var(--gold); }

/* Muttertagswochenende */
.mday { background: var(--blue-dark); color: #F7F2E8; padding: var(--section-y) 0; }
.mday .h2 { color: #fff; }
.mday__head { max-width: 1000px; }
.mday__head .h2 { margin: 18px 0 22px; }
.mday__head .lead { color: rgba(247,242,232,.8); max-width: 760px; }
.mday__grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: clamp(32px, 5vw, 96px); margin-top: clamp(48px, 6vw, 90px); align-items: start; }
.mday__quote { margin: 0; padding-left: 28px; border-left: 2px solid var(--gold); }
.mday__quote p { margin: 0 0 18px; font-family: var(--serif); font-size: clamp(24px, 2.2vw, 36px); line-height: 1.3; color: #fff; }
.mday__quote cite { font-style: normal; font-size: 14px; color: rgba(247,242,232,.7); }
.mday__text h3, .mday__ways-head h3 { margin: 0 0 14px; font-family: var(--serif); font-weight: 400; font-size: clamp(24px, 2vw, 32px); color: var(--gold); }
.mday__text p { margin: 0 0 16px; font-size: 16px; line-height: 1.75; color: rgba(247,242,232,.82); }
.mday__img { margin: clamp(56px, 6vw, 96px) 0 0; aspect-ratio: 21 / 8; overflow: hidden; position: relative; }
.mday__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mday__img figcaption { position: absolute; left: 18px; bottom: 14px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.5); }
.mday__ways { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0; margin-top: clamp(48px, 5vw, 80px); border-top: 1px solid rgba(247,242,232,.22); }
.mday__ways-head, .mday__way { padding: 32px 32px 32px 0; }
.mday__way { padding-left: 32px; border-left: 1px solid rgba(247,242,232,.22); }
.mday__ways-head p { margin: 0; color: rgba(247,242,232,.75); line-height: 1.65; }
.mday__no { display: block; font-family: var(--serif); font-size: 40px; line-height: 1; color: var(--gold); margin-bottom: 18px; }
.mday__way h4 { margin: 0 0 10px; font-family: var(--serif); font-weight: 400; font-size: 22px; color: #fff; }
.mday__way p { margin: 0; font-size: 15px; line-height: 1.7; color: rgba(247,242,232,.78); }
.mday__foot { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(32px, 5vw, 96px); margin-top: clamp(40px, 4vw, 64px); padding-top: 32px; border-top: 1px solid rgba(247,242,232,.22); align-items: start; }
.mday__foot > p { margin: 0; font-size: 15px; line-height: 1.75; color: rgba(247,242,232,.75); }
.mday__cta { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.mday__cta-title { font-family: var(--serif); font-size: 26px; color: #fff; }
.mday__cta > span:not(.mday__cta-title) { color: rgba(247,242,232,.8); margin-bottom: 8px; }
@media (max-width: 900px) {
  .mday__grid, .mday__foot { grid-template-columns: 1fr; }
  .mday__ways { grid-template-columns: 1fr; }
  .mday__way { padding-left: 0; border-left: 0; border-top: 1px solid rgba(247,242,232,.22); }
  .mday__img { aspect-ratio: 4 / 3; }
}

/* Engagement: Claim + FAQ */
#engagement { padding-top: var(--section-y); }
.way p + p { margin-top: 12px; }
.engage__claim { margin: clamp(48px, 5vw, 80px) 0 0; font-family: var(--serif); font-size: clamp(26px, 2.6vw, 44px); line-height: 1.25; color: var(--ink); max-width: 1100px; }
.engage__claim em { font-style: normal; color: var(--brass); }
.faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: clamp(32px, 5vw, 96px); margin-top: clamp(64px, 7vw, 120px); padding-top: clamp(40px, 4vw, 64px); border-top: 1px solid var(--ink); }
.faq__side { position: sticky; top: 120px; align-self: start; }
.faq__title { margin: 16px 0 0; font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 2.6vw, 42px); line-height: 1.12; color: var(--ink); }
.faq__talk { margin-top: 36px; padding: 26px; background: var(--pale); }
.faq__talk-title { display: block; font-family: var(--serif); font-size: 22px; color: var(--ink); margin-bottom: 8px; }
.faq__talk p { margin: 0 0 18px; font-size: 15px; line-height: 1.65; color: var(--muted); }
.faq__item { border-bottom: 1px solid var(--line-2); }
.faq__item:first-child { border-top: 1px solid var(--line-2); }
.faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 22px 0; font-family: var(--serif); font-size: clamp(19px, 1.5vw, 23px); line-height: 1.3; color: var(--ink); transition: color .3s; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; flex: none; width: 34px; height: 34px; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; font-family: var(--sans); font-size: 18px; color: var(--brass); transition: transform .4s var(--ease), background .3s, color .3s; }
.faq__item[open] summary::after { transform: rotate(45deg); background: var(--ink); color: #fff; border-color: var(--ink); }
.faq__item summary:hover { color: var(--brass); }
.faq__item p { margin: 0; padding: 0 56px 24px 0; font-size: 16px; line-height: 1.75; color: var(--muted); }
@media (max-width: 900px) { .faq { grid-template-columns: 1fr; } .faq__side { position: static; } }
.ar-found__pics { position: relative; top: auto; }
.ar-found__tour .ar-tourcard b { font-size: clamp(1.7rem, 1.1rem + 1.2vw, 2.5rem); white-space: nowrap; }
.ar-found__quote { position: relative; z-index: 3; }
.ar-mile__head { top: -34px; }
.funds__icon svg { fill: currentColor; }
.mday__img { max-width: 1040px; margin-left: auto; margin-right: auto; aspect-ratio: 2 / 1; }
.mday__img img { transform: scale(1.05); }   /* weißen Rand im Originalbild ausblenden */
.way__text { display: block; }
.way__text p + p { margin-top: 12px; }

/* Rechtsseiten (Impressum, Datenschutz, Legal Notice, Privacy Policy) */
.legal-page { background: var(--paper); }
.legal-head { border-bottom: 1px solid var(--line); background: var(--paper); position: sticky; top: 0; z-index: 10; }
.legal-head__inner { display: flex; align-items: center; justify-content: space-between; height: 84px; }
.legal-head .logo { font-size: 22px; color: var(--ink); }
.legal-head__nav { display: flex; gap: 28px; align-items: center; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.legal-head__nav a { color: var(--ink); }
.legal-head__nav a:hover { color: var(--brass); }
.legal { padding: clamp(56px, 7vw, 110px) 0 var(--section-y); }
.legal__inner { max-width: 860px; }
.legal__title { margin: 16px 0 clamp(32px, 4vw, 56px); font-family: var(--serif); font-weight: 400; font-size: clamp(40px, 5vw, 72px); line-height: 1.05; color: var(--ink); }
.legal__body h2 { margin: 44px 0 12px; font-family: var(--serif); font-weight: 400; font-size: clamp(22px, 2vw, 28px); color: var(--ink); }
.legal__body p, .legal__body li { font-size: 16px; line-height: 1.75; color: var(--ink-2); }
.legal__body p { margin: 0 0 14px; }
.legal__body ul { margin: 0 0 16px; padding-left: 20px; }
.legal__body a { color: var(--ink); border-bottom: 1px solid var(--gold); }
.legal__addr { padding-left: 18px; border-left: 2px solid var(--gold); }
.legal__meta { font-size: 13px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--muted) !important; }
.legal-foot { background: var(--blue-dark); color: rgba(255,255,255,.7); padding: 28px 0; font-size: 13px; }
.legal-foot__inner { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.legal-foot nav { display: flex; gap: 22px; }
.legal-foot a { color: #fff; }
/* Fakten-Leiste: genug Abstand zu den (bis zu dreizeiligen) Noten-Beschriftungen */
@media (min-width: 1001px) { .zfacts { margin-top: 72px; } }

/* Über die Wiener Sängerknaben – Scroll-Erzählung (dunkel, Bild links sticky, Texte rechts) */
.about4 { background: var(--blue-dark); color: #F7F2E8; padding: var(--section-y) 0; position: relative; overflow: clip; }
.about4::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background: radial-gradient(60% 50% at 85% 10%, rgba(194,155,79,.14), transparent 70%); }
.about4 .container { position: relative; }
.about4__head { max-width: 1100px; margin-bottom: clamp(48px, 6vw, 96px); }
.about4__head .h2 { color: #fff; }
.about4__head .h2 em { color: var(--gold); }
.about4__body { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 120px); align-items: start; }
.about4__stage { position: sticky; top: 14vh; }
.about4__frame { position: relative; aspect-ratio: 4 / 4.6; max-height: 72vh; width: 100%; overflow: hidden; background: #0b1f33; }
.about4__shot { position: absolute; inset: 0; margin: 0; clip-path: inset(100% 0 0 0); transition: clip-path 1.1s cubic-bezier(.77, 0, .18, 1); z-index: 1; }
.about4__shot img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.14); transition: transform 1.8s cubic-bezier(.22, 1, .36, 1); }
.about4__shot.is-on { clip-path: inset(0 0 0 0); z-index: 2; }
.about4__shot.is-on img { transform: scale(1); }
.about4__shot.was-on { clip-path: inset(0 0 0 0); z-index: 1; }
.about4__frame::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(180deg, transparent 55%, rgba(8,25,43,.75) 100%); }
.about4__big { position: absolute; z-index: 4; left: clamp(18px, 2vw, 32px); bottom: clamp(6px, 1vw, 16px); font-family: var(--serif); font-size: clamp(90px, 11vw, 190px); line-height: 1; color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.85); letter-spacing: -.02em; }
.about4__big.is-flip { animation: a4flip .7s cubic-bezier(.22, 1, .36, 1); }
@keyframes a4flip { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
.about4__progress { display: flex; align-items: center; gap: 18px; margin-top: 20px; font-size: 13px; letter-spacing: .14em; color: rgba(247,242,232,.6); }
.about4__count b { color: var(--gold); font-weight: 600; }
.about4__bar { flex: 1; height: 1px; background: rgba(247,242,232,.2); position: relative; }
.about4__bar i { position: absolute; left: 0; top: -1px; height: 3px; width: 25%; background: var(--gold); transition: width .8s cubic-bezier(.22, 1, .36, 1); }
.about4__list { list-style: none; margin: 0; padding: 0; counter-reset: a4; }
.about4__item { min-height: 62vh; display: flex; flex-direction: column; justify-content: center; padding: 6vh 0 6vh 34px; border-left: 1px solid rgba(247,242,232,.16); position: relative; opacity: .28; transition: opacity .7s; }
.about4__item::before { content: ""; position: absolute; left: -1px; top: 0; bottom: 0; width: 2px; background: var(--gold); transform: scaleY(0); transform-origin: top; transition: transform .9s cubic-bezier(.22, 1, .36, 1); }
.about4__item.is-on { opacity: 1; }
.about4__item.is-on::before { transform: none; }
.about4__item:first-child { min-height: 50vh; padding-top: 0; justify-content: flex-start; }
.about4__item .about4__img { display: none; }
.about4__no { font-family: var(--serif); font-size: 15px; letter-spacing: .14em; color: var(--gold); margin-bottom: 18px; border: 0; padding: 0; }
.about4__item h3 { margin: 0 0 18px; font-family: var(--serif); font-weight: 400; font-size: clamp(32px, 3.2vw, 54px); line-height: 1.05; color: #fff; }
.about4__item p { margin: 0; max-width: 54ch; font-size: 17px; line-height: 1.75; color: rgba(247,242,232,.8); }
.about4__more { margin: clamp(40px, 5vw, 72px) 0 0; font-size: 15px; color: rgba(247,242,232,.7); }
.about4__more a { color: #fff; border-bottom: 1px solid var(--gold); }
@media (max-width: 900px) {
  .about4__body { grid-template-columns: 1fr; }
  .about4__stage { display: none; }
  .about4__item, .about4__item:first-child { min-height: 0; opacity: 1; padding: 0 0 44px 0; border-left: 0; }
  .about4__item::before { display: none; }
  .about4__item .about4__img { display: block; aspect-ratio: 4 / 3; margin: 0 0 18px; overflow: hidden; }
  .about4__item .about4__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
}

/* Muttertagswochenende – kompakt: Bild + Zitat links, Inhalt rechts, Langtext zum Aufklappen */
.mday { padding: clamp(72px, 8vw, 120px) 0; }
.mday__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(36px, 5vw, 96px); align-items: center; margin: 0 auto; }
.mday__visual { position: relative; margin: 0; aspect-ratio: 4 / 5; max-height: 78vh; overflow: hidden; }
.mday__visual img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.06); transition: transform 2s cubic-bezier(.22, 1, .36, 1); }
.mday__visual:hover img { transform: scale(1.1); }
.mday__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,25,43,0) 40%, rgba(8,25,43,.92) 100%); }
.mday__visual .mday__quote { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; margin: 0; padding: clamp(22px, 2.6vw, 36px); border: 0; }
.mday__visual .mday__quote p { margin: 0 0 12px; font-family: var(--serif); font-size: clamp(20px, 1.7vw, 27px); line-height: 1.3; color: #fff; }
.mday__visual .mday__quote cite { font-style: normal; font-size: 12px; letter-spacing: .06em; color: rgba(247,242,232,.75); }
.mday__content .h2 { margin: 16px 0 18px; font-size: clamp(36px, 3.6vw, 58px); color: #fff; }
.mday__lead { margin: 0 0 30px; font-size: 17px; line-height: 1.7; color: rgba(247,242,232,.82); max-width: 54ch; }
.mday__ways { display: grid; gap: 0; margin: 0 0 30px; border-top: 1px solid rgba(247,242,232,.2); grid-template-columns: 1fr; }
.mday__ways-title { display: block; padding: 14px 0 4px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.mday__way { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 0; border: 0; border-bottom: 1px solid rgba(247,242,232,.2); }
.mday__way .mday__no { font-family: var(--serif); font-size: 26px; line-height: 1.1; color: var(--gold); margin: 0; }
.mday__way h3 { margin: 0 0 4px; font-family: var(--serif); font-weight: 400; font-size: 20px; color: #fff; }
.mday__way p { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(247,242,232,.72); }
.mday__cta { display: flex; flex-direction: row; align-items: center; gap: 22px; flex-wrap: wrap; }
.mday__cta span { font-size: 14px; color: rgba(247,242,232,.7); max-width: 34ch; margin: 0; }
.mday__more { margin-top: 26px; }
.mday__more summary { list-style: none; cursor: pointer; display: inline-flex; gap: 10px; align-items: center; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.mday__more summary::-webkit-details-marker { display: none; }
.mday__more summary::after { content: "+"; font-size: 18px; transition: transform .3s; }
.mday__more[open] summary::after { transform: rotate(45deg); }
.mday__more h3 { margin: 22px 0 10px; font-family: var(--serif); font-weight: 400; font-size: 22px; color: #fff; }
.mday__more p { margin: 0 0 12px; font-size: 15px; line-height: 1.7; color: rgba(247,242,232,.75); }
@media (max-width: 900px) { .mday__grid { grid-template-columns: 1fr; } .mday__visual { aspect-ratio: 4 / 3; } }
.ar-invite__fine { margin-top: 16px; font-size: .82rem; max-width: 36ch; }
.ar-invite p.ar-invite__fine { margin-top: 16px; }
/* Hinweistext genau so breit wie der Button darüber */
.ar-invite__cta { display: inline-grid; }
.ar-invite__cta .ar-btn { justify-content: center; }
.ar-invite p.ar-invite__fine { width: 0; min-width: 100%; max-width: none; }
.ar-invite p.ar-invite__fine { font-size: 11px; line-height: 1.6; color: var(--ink-2); opacity: .85; }
.mday__cta span { font-size: 11px; line-height: 1.6; max-width: 30ch; }
/* Engagement: alle vier Zeilen gleich hoch, breitere Textspalte, Button einzeilig */
@media (min-width: 901px) {
  .ways { display: grid; grid-auto-rows: 1fr; }
  .way { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr) minmax(0, 2.1fr) 220px; align-content: center; }
  .way__more { white-space: nowrap; }
}
@media (min-width: 901px) {
  .way { grid-template-columns: minmax(0, .75fr) minmax(0, 1.2fr) minmax(0, 1.9fr) 220px; padding-top: clamp(28px, 2.6vw, 40px); padding-bottom: clamp(28px, 2.6vw, 40px); }
}
@media (min-width: 901px) {
  .way { grid-template-columns: minmax(0, 1fr) minmax(0, 1.75fr) 230px; grid-template-rows: auto 1fr; row-gap: 14px; }
  .way__tag { grid-column: 1; grid-row: 1; padding-top: 0; }
  .way__title { grid-column: 1; grid-row: 2; align-self: start; }
  .way__text { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .way__text p { max-width: 68ch; }
  .way__more { grid-column: 3; grid-row: 1 / span 2; align-self: center; justify-self: end; }
}
@media (min-width: 901px) {
  .way { align-content: start; }
  .way__text { align-self: start; padding-top: 2px; }
}
/* Hover-Bild gleichmäßig abdunkeln, damit auch der zweite Absatz lesbar bleibt */
.way__media::after { background: linear-gradient(90deg, rgba(14,40,65,.9) 0%, rgba(14,40,65,.82) 60%, rgba(14,40,65,.7) 100%); }
.way__more, .ar-invite .ar-btn { min-height: 46px; box-sizing: border-box; }

/* Chef-Feedback 12.10.: weniger Noten */
.gov__staff { display: none !important; }
.gov__item:hover .gov__num { transform: none; }
.pillars { padding-top: var(--section-y); }   /* „Auf einen Blick“ entfällt – Konzept braucht wieder eigenen Abstand */
.ar-found { padding-bottom: var(--section-y); }

/* Gründungsgeschichte gekürzt: Kurz-Zitat sichtbar, Langtext zum Aufklappen */
.ar-found__grid { align-items: center; }
.ar-found__pull { margin: 36px 0 0; padding: 4px 0 4px 28px; border-left: 2px solid var(--gold); }
.ar-found__pull p { margin: 0 0 16px; font-family: var(--f-d); font-size: clamp(1.35rem, 1.05rem + .9vw, 1.9rem); line-height: 1.35; color: var(--ink); }
.ar-found__pull cite { display: flex; gap: 12px; align-items: baseline; font-style: normal; }
.ar-found__pull cite b { font-family: var(--f-d); font-weight: 400; letter-spacing: .06em; color: var(--gold); }
.ar-found__pull cite span { font-size: .92rem; color: var(--ink-2); }
.ar-found__more { margin-top: 30px; }
.ar-found__more summary { list-style: none; cursor: pointer; display: inline-flex; gap: 10px; align-items: center; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); border-bottom: 1px solid var(--gold); padding-bottom: 4px; }
.ar-found__more summary::-webkit-details-marker { display: none; }
.ar-found__more summary::after { content: "+"; font-size: 16px; color: var(--gold); transition: transform .3s; }
.ar-found__more[open] summary::after { transform: rotate(45deg); }
.ar-found__more .ar-found__sub { font-size: 1.3rem; margin: 26px 0 12px; }
.ar-found__full { margin: 0; color: var(--ink-2); line-height: 1.7; font-style: italic; }

/* Gründungsgeschichte mobil: alles untereinander (Porträt, Tourneekarte, Titel, Text, Zitat, Aufklapper) */
@media (max-width: 900px) {
  .ar-found__grid { grid-template-columns: 1fr; gap: 40px; align-items: start; }
  .ar-found__pics, .ar-found__body { grid-column: 1 / -1; }
  .ar-found__pics { padding-bottom: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 16px; align-items: end; }
  .ar-found__portrait { width: auto; transform: none !important; }
  .ar-found__tour { position: relative; right: auto; bottom: auto; width: auto; transform: none !important; margin-bottom: -6px; }
  .ar-found__tour .ar-tourcard { padding: 18px 16px; }
  .ar-found__tour .ar-tourcard b { font-size: 26px; white-space: nowrap; margin: 8px 0 12px; }
  .ar-tourcard .ar-cap { font-size: 10px; letter-spacing: .12em; line-height: 1.5; }
  .ar-tourcard li { font-size: 13px; line-height: 1.4; padding: 8px 0; grid-template-columns: 10px 1fr; gap: 8px; }
  .ar-found__body h2 { font-size: clamp(32px, 9vw, 44px); }
  .ar-found__pull { margin-top: 28px; padding-left: 18px; }
  .ar-found__pull p { font-size: 20px; }
  .ar-found__more summary { min-height: 44px; }
  .ar-found__text p, .ar-found__full { font-size: 15px; }
}
@media (max-width: 420px) {
  .ar-found__pics { grid-template-columns: 1fr; }
  .ar-found__portrait { width: 72%; }
  .ar-found__tour { width: 86%; justify-self: end; margin-top: -48px; margin-bottom: 0; }
}
.expand { overflow-x: clip; }   /* nie breiter als der Bildschirm (mobil) */
@media (max-width: 420px) { .ar-found__tour { margin-top: 14px; } }
/* Rechtsträger-Diagramm: Wortmarke statt goldenem Quadrat im Kreis */
.mission__word { font-family: var(--serif); font-size: 15px; letter-spacing: .14em; fill: #F7F2E8; }
.mission__dot { fill: var(--gold); }
.mission__ring { fill: none; stroke: rgba(194,155,79,.45); stroke-width: 1; }
.mission__word { font-size: 13px; letter-spacing: .12em; }
/* Rechtsträger: Foto statt Diagramm */
.mission__photo { margin: clamp(32px, 4vw, 52px) 0 0; position: relative; aspect-ratio: 5 / 4; overflow: hidden; max-width: 560px; }
.mission__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; display: block; transition: transform 1.6s var(--ease); }
.mission__photo:hover img { transform: scale(1.04); }
.mission__photo figcaption { position: absolute; left: 0; bottom: 0; padding: 10px 14px; background: var(--paper); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); }
.funds { grid-template-columns: 1fr; border-left: 3px solid var(--gold); }
.pillars { padding-top: 0; }   /* folgt direkt auf Campus (gleicher Grund) – ein Abstand statt zwei */

/* Fragen & Antworten – dunkler Block, Nummern, weiches Akkordeon */
.faq { position: relative; margin-top: clamp(64px, 7vw, 110px); padding: clamp(40px, 5vw, 80px) clamp(24px, 4.5vw, 72px); border-top: 0; background: var(--blue-dark); color: #F7F2E8; overflow: hidden; isolation: isolate; }
.faq::before { content: ""; position: absolute; z-index: -1; width: 620px; height: 620px; right: -220px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(194,155,79,.18), transparent 65%); }
.faq__side .eyebrow { color: var(--gold); }
.faq__title { color: #fff; font-size: clamp(32px, 3.2vw, 52px); }
.faq__talk { background: rgba(255,255,255,.05); border: 1px solid rgba(247,242,232,.14); padding: 26px; }
.faq__talk-title { color: #fff; }
.faq__talk p { color: rgba(247,242,232,.72); }
/* (Ansprechperson-Button: Standard btn--light) */
.faq__faces { display: flex; margin-bottom: 18px; }
.faq__faces img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; border: 2px solid var(--blue-dark); margin-left: -10px; filter: grayscale(.2); }
.faq__faces img:first-child { margin-left: 0; }
.faq__item, .faq__item:first-child { border-color: rgba(247,242,232,.14); position: relative; }
.faq__item::before { content: ""; position: absolute; left: -24px; top: 0; bottom: 0; width: 2px; background: var(--gold); transform: scaleY(0); transform-origin: top; transition: transform .5s var(--ease); }
.faq__item[open]::before { transform: none; }
.faq__item summary { display: grid; grid-template-columns: 54px 1fr 34px; align-items: center; gap: 14px; color: #F7F2E8; padding: 24px 0; transition: color .3s, padding-left .4s var(--ease); }
.faq__item summary:hover { color: var(--gold); padding-left: 8px; }
.faq__item[open] summary { color: #fff; }
.faq__no { font-family: var(--serif); font-size: 28px; line-height: 1; color: rgba(194,155,79,.55); transition: color .3s; }
.faq__item[open] .faq__no, .faq__item summary:hover .faq__no { color: var(--gold); }
.faq__item summary::after { border-color: rgba(247,242,232,.3); color: var(--gold); }
.faq__item[open] summary::after { background: var(--gold); border-color: var(--gold); color: var(--blue-dark); }
.faq__a { overflow: hidden; }
.faq__a p { margin: 0; padding: 0 56px 26px 68px; font-size: 16px; line-height: 1.75; color: rgba(247,242,232,.78); }
@media (max-width: 900px) {
  .faq { padding: 36px 20px; }
  .faq__item::before { left: -12px; }
  .faq__item summary { grid-template-columns: 38px 1fr 30px; gap: 10px; font-size: 18px; }
  .faq__no { font-size: 22px; }
  .faq__a p { padding: 0 0 22px 48px; font-size: 15px; }
}
.faq { overflow: clip; }   /* nicht scrollbar – verhindert seitliches Verrutschen beim Anklicken */
/* Anlage-Link als Dokument-Kästchen */
.mission__doc { display: inline-flex; align-items: center; gap: 12px; margin-top: 16px; padding: 10px 16px 10px 10px; border: 1px solid var(--line-2); border-bottom-width: 1px; background: #fff; font-size: 13px; font-weight: 500; line-height: 1.35; color: var(--ink); transition: border-color .3s, background .3s; }
.mission__doc::before { content: "PDF"; flex: none; display: grid; place-items: center; width: 38px; height: 30px; background: var(--ink); color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.mission__doc:hover { border-color: var(--gold); background: var(--paper); }
.mission__doc { width: fit-content; align-self: flex-start; }
.mission__att a { font-weight: 500; }
.way__more { border: 1px solid #F7F4EE; }   /* wie die übrigen hellen Buttons: Kante bleibt beim Hover sichtbar */

/* ===== Prüfung 13.10.: Buttons, Hover, Abstände vereinheitlicht ===== */
/* „Interesse registrieren“ (Besondere Einblicke): Rahmen wie alle dunklen Buttons auf hellem Grund */
.ar-invite .ar-btn { border: 1px solid #0E2841; }
/* Aufklapper (Muttertag „Mehr lesen“, Gründung „Die ganze Geschichte lesen“): Hover-Zustand */
.mday__more summary, .ar-found__more summary { transition: color .3s, border-color .3s; }
.mday__more summary:hover { color: #fff; }
.ar-found__more summary:hover { color: var(--brass); border-bottom-color: var(--ink); }
.mday__more summary:hover::after, .ar-found__more summary:hover::after { transform: rotate(90deg); }
.mday__more[open] summary:hover::after, .ar-found__more[open] summary:hover::after { transform: rotate(45deg); }
/* Schließen-Kreuz im Dialog */
.dialog__close { transition: color .3s, transform .4s var(--ease), background .3s; }
.dialog__close:hover { color: var(--brass); transform: rotate(90deg); }
/* Muttertagswochenende: Standard-Abschnittsabstand wie alle anderen */
.mday { padding: var(--section-y) 0; }
/* Weltkarte: Lichtpunkte statt wandernder Noten */
.tour-map__svg .traveller { opacity: 1; }
.tour-map__svg .traveller__glow { fill: #E3C27E; opacity: .28; filter: blur(3px); animation: sparkGlow 1.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.tour-map__svg .traveller__core { fill: #FFF6E2; }
@keyframes sparkGlow { 0%, 100% { opacity: .2; transform: scale(.85); } 50% { opacity: .45; transform: scale(1.15); } }
/* Da capo: Ansprechpersonen immer in einer Reihe (2 oder 3), Foto oben, Text darunter */
.ar-contacts { grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
.ar-contacts li { grid-template-columns: 1fr; row-gap: 14px; align-items: start; align-content: start; padding: 18px; }
.ar-contacts .ar-ava { width: 64px; height: 78px; }
.ar-contacts .ar-who b { font-size: clamp(1.02rem, .95rem + .3vw, 1.2rem); }
.ar-contacts .ar-who span { font-size: .82rem; }
@media (max-width: 600px) { .ar-contacts { grid-template-columns: 1fr; } .ar-contacts li { grid-template-columns: 64px minmax(0, 1fr); column-gap: 16px; align-items: center; } }
.fbig__note { fill: rgba(194,155,79,.22); }   /* Footer-Noten dezenter */
/* Über die WSK: letzter Punkt so hoch wie das stehende Bild, Text oben – fährt bis zur Bildoberkante */
@media (min-width: 901px) {
  .about4__item:last-child { min-height: var(--a4-stage, 80vh); justify-content: flex-start; padding-top: 0; padding-bottom: 0; }
}

/* ===== Kundenmail 14.10. ===== */
/* Über die WSK: Link zu wsk.at im Kopf, ohne Nummerierung */
.about4__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: clamp(32px, 4vw, 72px); align-items: end; max-width: none; }
.about4__head .eyebrow, .about4__head .h2 { grid-column: 1; max-width: 1000px; }
.about4__link { grid-column: 2; grid-row: 1 / span 2; align-self: end; white-space: nowrap; }
.about4__progress { gap: 0; }
@media (max-width: 900px) { .about4__head { grid-template-columns: 1fr; } .about4__link { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 24px; } }

/* Gründung: neutrales Bild statt Porträt + Karte */
.ar-found__img { grid-column: 1 / 6; margin: 0; position: relative; aspect-ratio: 4 / 5; overflow: hidden; align-self: center; }
.ar-found__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; display: block; }
.ar-found__img figcaption { position: absolute; left: 0; bottom: 0; padding: 10px 14px; background: var(--paper); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--brass); }
@media (max-width: 900px) { .ar-found__img { grid-column: 1 / -1; aspect-ratio: 4 / 3; } }

/* Vision folgt jetzt auf die Gründungsgeschichte (gleicher Grund): ein Abstand statt zwei */
#vision { padding-top: 0; }

/* Besondere Einblicke: rechts die Terminliste, nach Regionen */
.ar-events { align-self: start; }
.ar-region { margin-top: 26px; }
.ar-region:first-of-type { margin-top: 6px; }
.ar-region__name { display: block; margin-bottom: 4px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--ink); }
.ar-row--tbd { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 2fr) 44px; align-items: center; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); }
.ar-row--tbd .ar-row__city { opacity: .55; }
.ar-row--tbd { grid-template-columns: 150px 1fr; padding: 24px 0; border-bottom-color: var(--line-2); }
@media (max-width: 900px) { .ar-row--tbd { grid-template-columns: 1fr; gap: 6px; } }

/* Kapitel-Überschriften (klein) überall golden – auch in den Arto-Abschnitten */
.ar-scope .ar-mark.ar-cap { color: #A5854E; }
.ar-scope.ar-on-dark .ar-mark.ar-cap { color: #C29B4F; }

/* ===== Online-Spenden (Kundenwunsch 16.10.) ===== */
/* Karte 01 „Zustiftung & Spende“: zwei Buttons + Hinweis „nur Deutschland“ */
.way__actions { display: flex; flex-direction: column; align-items: stretch; gap: 10px; align-self: center; justify-self: end; }
.way__actions .way__more { margin: 0; align-self: stretch; justify-content: center; grid-column: auto; grid-row: auto; }
.way__note { font-family: var(--sub); font-size: 11px; line-height: 1.4; letter-spacing: .04em; text-align: center; color: var(--muted);
  opacity: 0; transform: translateY(12px); transition: opacity .5s var(--ease), transform .6s var(--ease), color .5s var(--ease); }
.way:hover .way__note, .way:focus-within .way__note { opacity: 1; transform: none; transition-delay: .2s; color: #DDD6C8; }
.way:focus-within .way__media { clip-path: inset(0 0 0 0); }
.way:focus-within .way__media img { transform: none; }
.way:focus-within .way__tag { color: #C29B4F; }
.way:focus-within .way__title { color: var(--white); }
.way:focus-within p { color: #DDD6C8; }
.way:focus-within .way__more { opacity: 1; transform: none; }
.way__more--donate { background: transparent; color: #F7F4EE; }
.way__more--donate::before { background: #F7F4EE; }
.way__more--donate:hover { color: #0E2841; }
@media (min-width: 901px) {
  .way__actions { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 1000px) {
  .way__actions { justify-self: start; }
  .way__actions .way__more, .way__note { opacity: 1; transform: none; }
  .way__note { color: var(--muted); text-align: left; }
}
@media (max-width: 700px) {
  .way__more--donate { background: transparent; color: #0E2841; border-color: #0E2841; }
  .way__more--donate::before { background: #0E2841; }
  .way__more--donate:hover { color: #F7F4EE; }
}
/* „Online spenden“ ist breiter als „Kontakt“: Newsletter-Button erst ab 1400px */
@media (max-width: 1399px) { .navbar .btn.navbar__news, .navbar__news { display: none; } }
