@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("assets/fonts/cinzel/Cinzel-Variable.ttf") format("truetype-variations");
}

@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/eb-garamond/EBGaramond-Variable.ttf") format("truetype-variations");
}

:root {
  --cream: #fcfaf4;
  --cream-deep: #f5efe0;
  --paper: #fffdf8;
  --ink: #2b2620;
  --ink-soft: #62594c;
  --line: #d9ccb1;
  --gold: #8a691c;
  --gold-soft: #c9a24a;
  --audhs: #7a6496;
  --relations: #945c60;
  --systems: #a8ac68;
  --source: #d4c69e;
  --audhs-plum: #8b587f;
  --audhs-lavender: #b9a7cf;
  --audhs-blue: #7283a8;
  --relations-rose: #b67981;
  --relations-clay: #b66f58;
  --relations-blush: #d5a5a7;
  --systems-moss: #75834b;
  --systems-sage: #a9b58a;
  --systems-ochre: #b28a43;
  --source-gold: #b58a32;
  --source-amber: #bd7338;
  --source-pearl: #e8ddbd;
  --audhs-text: #6b5488;
  --relations-text: #874f54;
  --systems-text: #666a35;
  --source-text: #71623d;
  --audhs-wash: #eee9f3;
  --relations-wash: #f3e7e7;
  --systems-wash: #eff0df;
  --source-wash: #f2eddf;
  --danger: #8b3f36;
  --radius-sm: 0.35rem;
  --radius-md: 0.25rem;
  --radius-lg: 0.25rem;
  --shadow: 0 1.25rem 3rem rgb(43 38 32 / 0.08);
  --content: 74rem;
  --reading: 46rem;
  --space-1: 0.35rem;
  --space-2: 0.65rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.25rem;
  --space-6: 3.5rem;
  --space-7: 5.5rem;
  color-scheme: light;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 18rem;
  color: var(--ink);
  background:
    linear-gradient(90deg, transparent 0 4.75rem, rgb(138 105 28 / 0.055) 4.75rem 4.8rem, transparent 4.8rem),
    radial-gradient(circle at 8% 2%, rgb(201 162 74 / 0.08), transparent 24rem),
    var(--cream);
  font-family: "EB Garamond", Georgia, serif;
  font-size: 1.15rem;
  line-height: 1.62;
}

body::before {
  position: fixed;
  inset: 0.8rem;
  z-index: 20;
  border: 1px solid rgb(138 105 28 / 0.35);
  pointer-events: none;
  content: "";
}

a { color: inherit; text-underline-offset: 0.22em; }
a:hover { text-decoration-thickness: 0.12em; }

button, input, select, textarea { font: inherit; }

:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
  border-radius: var(--radius-sm);
}

.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 1rem;
  z-index: 100;
  padding: 0.65rem 1rem;
  color: var(--cream);
  background: var(--ink);
  transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }

.test-banner {
  padding: 0.45rem 1.25rem;
  color: var(--cream);
  background: var(--ink);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.69rem;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 15;
  border-bottom: 1px solid var(--line);
  background: rgb(252 250 244 / 0.96);
  backdrop-filter: blur(12px);
}

.nav-shell {
  display: flex;
  width: min(calc(100% - 3rem), var(--content));
  min-height: 4.6rem;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.brand {
  font-family: Cinzel, Georgia, serif;
  font-size: 0.84rem;
  letter-spacing: 0.17em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-family: Cinzel, Georgia, serif;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-nav > a,
.topics-menu > summary,
.research-menu > summary,
.projects-menu > summary {
  display: inline-flex;
  min-height: 2.75rem;
  padding: 0.75rem 0.7rem;
  align-items: center;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  text-decoration: none;
}

.site-nav > a:hover,
.site-nav > a[aria-current="page"],
.topics-menu > summary:hover,
.topics-menu > summary[aria-current="page"],
.research-menu > summary:hover,
.research-menu > summary[aria-current="page"],
.projects-menu > summary:hover,
.projects-menu > summary[aria-current="page"] {
  border-bottom-color: var(--gold);
}

.topics-menu { position: relative; }
.research-menu { position: relative; }
.projects-menu { position: relative; }
.topics-menu > summary { list-style: none; }
.research-menu > summary { list-style: none; }
.projects-menu > summary { list-style: none; }
.topics-menu > summary::-webkit-details-marker { display: none; }
.research-menu > summary::-webkit-details-marker { display: none; }
.projects-menu > summary::-webkit-details-marker { display: none; }
.topics-menu > summary::after { margin-left: 0.45rem; content: "▾"; }
.topics-menu[open] > summary::after { content: "▴"; }
.research-menu > summary::after { margin-left: 0.45rem; content: "▾"; }
.research-menu[open] > summary::after { content: "▴"; }
.projects-menu > summary::after { margin-left: 0.45rem; content: "▾"; }
.projects-menu[open] > summary::after { content: "▴"; }

.topics-popover,
.research-popover,
.projects-popover {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  width: min(24rem, calc(100vw - 2rem));
  padding: 0.55rem;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  box-shadow: var(--shadow);
}

.topics-popover a,
.research-popover a,
.projects-popover a {
  display: block;
  padding: 0.75rem 0.85rem;
  border-left: 4px solid var(--hub-color, var(--gold));
  border-radius: var(--radius-sm);
  font-family: "EB Garamond", Georgia, serif;
  font-size: 1rem;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
}
.topics-popover a:hover,
.research-popover a:hover,
.projects-popover a:hover { background: var(--cream-deep); }
.topics-popover > a:first-child {
  margin-bottom: 0.35rem;
  border-left-color: var(--gold);
  border-bottom: 1px solid var(--line);
  color: var(--gold);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.69rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.research-popover > a:first-child,
.projects-popover > a:first-child {
  margin-bottom: 0.35rem;
  border-left-color: var(--gold);
  border-bottom: 1px solid var(--line);
  color: var(--gold);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.69rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.projects-popover .innenschau { --hub-color: var(--audhs); }
.projects-popover .architecture { --hub-color: var(--systems); }

.audhs { --hub-color: var(--audhs); --hub-text: var(--audhs-text); }
.relations { --hub-color: var(--relations); --hub-text: var(--relations-text); }
.systems { --hub-color: var(--systems); --hub-text: var(--systems-text); }
.source { --hub-color: var(--source); --hub-text: var(--source-text); }
.beziehungen { --hub-color: var(--relations); --hub-text: var(--relations-text); }
.macht { --hub-color: var(--systems); --hub-text: var(--systems-text); }
.quellcode { --hub-color: var(--source); --hub-text: var(--source-text); }

body.theme-audhs { --page-accent: var(--audhs); --page-accent-text: var(--audhs-text); --page-wash: var(--audhs-wash); --page-tone-2: var(--audhs-plum); --page-tone-3: var(--audhs-lavender); --page-tone-4: var(--audhs-blue); }
body.theme-relations { --page-accent: var(--relations); --page-accent-text: var(--relations-text); --page-wash: var(--relations-wash); --page-tone-2: var(--relations-rose); --page-tone-3: var(--relations-clay); --page-tone-4: var(--relations-blush); }
body.theme-systems { --page-accent: var(--systems); --page-accent-text: var(--systems-text); --page-wash: var(--systems-wash); --page-tone-2: var(--systems-moss); --page-tone-3: var(--systems-sage); --page-tone-4: var(--systems-ochre); }
body.theme-source { --page-accent: var(--source); --page-accent-text: var(--source-text); --page-wash: var(--source-wash); --page-tone-2: var(--source-gold); --page-tone-3: var(--source-amber); --page-tone-4: var(--source-pearl); }
body.theme-general { --page-accent: var(--audhs); --page-accent-text: var(--audhs-text); --page-wash: var(--cream-deep); --page-tone-2: var(--relations); --page-tone-3: var(--systems); --page-tone-4: var(--source-gold); }

main { display: block; }

.hero,
.page-hero {
  position: relative;
  width: min(calc(100% - 3rem), var(--content));
  margin: 0 auto;
  padding: clamp(4.5rem, 10vw, 8rem) 0 clamp(3.5rem, 7vw, 6rem);
}

.hero::before,
.page-hero::before {
  position: absolute;
  top: clamp(2.25rem, 6vw, 4.5rem);
  left: -1.25rem;
  width: 2.75rem;
  height: 2.75rem;
  border-top: 1px solid var(--gold);
  border-left: 1px solid var(--gold);
  content: "";
}

.hero::after,
.page-hero::after {
  position: absolute;
  right: 0;
  bottom: 1.75rem;
  width: min(12rem, 28vw);
  border-bottom: 1px solid var(--gold-soft);
  content: "369";
  color: var(--gold);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-align: right;
}

.hero { min-height: min(49rem, calc(100vh - 5rem)); }

.eyebrow {
  display: block;
  margin: 0 0 var(--space-3);
  color: var(--gold);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

h1, h2, h3 {
  margin: 0;
  font-family: Cinzel, Georgia, serif;
  font-weight: 500;
  line-height: 1.12;
  hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
}

h1 { max-width: 17ch; font-size: clamp(2.75rem, 7vw, 6.4rem); }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
h3 { font-size: clamp(1.25rem, 2.1vw, 1.6rem); }

.hero .lede,
.page-hero .lede {
  max-width: 42rem;
  margin: var(--space-4) 0 0;
  color: var(--ink-soft);
  font-size: clamp(1.25rem, 2.3vw, 1.65rem);
}

.hero-actions,
.card-actions {
  display: flex;
  margin-top: var(--space-5);
  flex-wrap: wrap;
  gap: var(--space-3);
}

.button {
  display: inline-flex;
  min-height: 3rem;
  padding: 0.72rem 1.1rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gold);
  border-radius: 0;
  font-family: Cinzel, Georgia, serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}
.button-primary { color: var(--cream); background: var(--ink); border-color: var(--ink); }
.button-secondary { background: transparent; }
.button:hover { color: var(--cream); background: var(--gold); }

.section {
  padding: clamp(3.5rem, 8vw, 6.5rem) 0;
  border-top: 1px solid var(--line);
}
.section-tinted { background: var(--cream-deep); }

.section-inner {
  width: min(calc(100% - 3rem), var(--content));
  margin: 0 auto;
}

.section-heading {
  position: relative;
  display: grid;
  margin-bottom: var(--space-5);
  padding-top: 1.15rem;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 30rem);
  align-items: end;
  gap: var(--space-5);
}
.section-heading::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5rem;
  border-top: 1px solid var(--gold);
  content: "";
}
.section-heading p { margin: 0; color: var(--ink-soft); }

.hub-grid,
.project-grid,
.content-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
}

.hub-grid > :nth-child(4n + 1),
.hub-grid > :nth-child(4n + 4),
.project-grid > :nth-child(4n + 1),
.project-grid > :nth-child(4n + 4),
.content-grid > :nth-child(4n + 1),
.content-grid > :nth-child(4n + 4) { grid-column: span 7; }

.hub-grid > :nth-child(4n + 2),
.hub-grid > :nth-child(4n + 3),
.project-grid > :nth-child(4n + 2),
.project-grid > :nth-child(4n + 3),
.content-grid > :nth-child(4n + 2),
.content-grid > :nth-child(4n + 3) { grid-column: span 5; }

.hub-card,
.project-card,
.content-card,
.principle-card {
  position: relative;
  min-width: 0;
  padding: clamp(1.35rem, 3vw, 2.1rem);
  overflow: hidden;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.principle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.principle-card p { margin-bottom: 0; color: var(--ink-soft); }

.innenschau-hub .section-heading {
  grid-template-columns: minmax(0, var(--reading));
}

.innenschau-section-intro { margin-bottom: var(--space-5); }

.innenschau-two-column-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.innenschau-principle-card,
.innenschau-perspective-card,
.innenschau-orientation-card,
.innenschau-trust-card {
  border-top-color: var(--page-accent, var(--gold));
}

.innenschau-principle-card .text-link,
.innenschau-trust-card .text-link {
  display: inline-block;
  margin-top: var(--space-3);
}

.innenschau-orientation-card p { margin: 0; }
.innenschau-orientation-card .text-link { text-decoration-thickness: 0.08em; }
.innenschau-reading-after-grid { margin-top: var(--space-5); }

.topic-next-branch {
  border: 1px solid color-mix(in srgb, var(--page-accent, var(--gold)) 42%, var(--line));
  background: color-mix(in srgb, var(--page-wash, var(--paper)) 52%, rgb(255 253 248 / 0.8));
}

.topic-status {
  float: right;
  padding: 0.2rem 0.48rem;
  color: var(--hub-text, var(--gold));
  border: 1px solid currentColor;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.topic-next-branch {
  display: grid;
  grid-template-columns: minmax(7rem, 0.32fr) minmax(0, 1fr);
  gap: var(--space-4);
  align-items: center;
  margin-top: var(--space-5);
  padding: clamp(1rem, 2.5vw, 1.5rem);
}

.topic-next-branch__label {
  color: var(--page-accent-text, var(--gold));
  font-family: Cinzel, Georgia, serif;
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.topic-next-branch p { margin: 0; color: var(--ink-soft); }

.topic-branch-card {
  margin-top: var(--space-5);
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid color-mix(in srgb, var(--page-accent, var(--gold)) 42%, var(--line));
  border-left: 0.32rem solid var(--page-accent, var(--gold));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--page-wash, var(--paper)) 76%, transparent), transparent 72%),
    rgb(255 253 248 / 0.76);
}

.topic-branch-card h3 {
  max-width: 34ch;
  margin: 0.75rem 0 1rem;
}

.topic-branch-card h3 a {
  color: inherit;
  text-decoration-color: color-mix(in srgb, var(--page-accent, var(--gold)) 55%, transparent);
  text-underline-offset: 0.16em;
}

.topic-branch-card > p { margin: 0; }

.topic-planned {
  display: grid;
  grid-template-columns: minmax(6.5rem, 0.22fr) minmax(0, 1fr);
  gap: var(--space-3);
  margin-top: 1.25rem !important;
  padding-top: 1.1rem;
  border-top: 1px solid color-mix(in srgb, var(--page-accent, var(--gold)) 28%, var(--line));
  color: var(--ink-soft);
}

.topic-planned span {
  color: var(--page-accent-text, var(--gold));
  font-family: Cinzel, Georgia, serif;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hub-card,
.project-card,
.content-card {
  border: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: rgb(255 253 248 / 0.58);
}

.hub-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0.2rem;
  background: var(--hub-color);
  content: "";
}

.hub-card.audhs { background: var(--audhs-wash); }
.hub-card.relations { background: var(--relations-wash); }
.hub-card.systems { background: var(--systems-wash); }
.hub-card.source { background: var(--source-wash); }

.hub-card::after {
  position: absolute;
  right: -2.5rem;
  bottom: -3.25rem;
  width: 8rem;
  height: 8rem;
  border: 1px solid var(--hub-color);
  border-radius: 50%;
  opacity: 0.25;
  content: "";
}

.card-index {
  color: var(--hub-text, var(--gold));
  font-family: Cinzel, Georgia, serif;
  font-size: 0.75rem;
  letter-spacing: 0.15em;
}

.hub-card h3,
.project-card h2,
.project-card h3,
.content-card h3 { margin-top: var(--space-3); }
.project-card h2 { font-size: clamp(1.25rem, 2.1vw, 1.6rem); }
.hub-card p,
.project-card p,
.content-card p { color: var(--ink-soft); }

.text-link {
  color: var(--hub-text, var(--gold));
  font-weight: 600;
  text-decoration: none;
}
.text-link::after { content: " →"; }

.split {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.autonomy-check-section h2 {
  max-width: 14ch;
  font-size: clamp(1.9rem, 3.45vw, 3rem);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.reading { max-width: var(--reading); }
.reading p { margin: 0 0 1.3em; }
.reading h2 { margin: 2em 0 0.65em; font-size: clamp(1.65rem, 3vw, 2.4rem); }

.orientation-list,
.article-list,
.principle-list { margin: 0; padding: 0; list-style: none; }

.orientation-list li,
.article-list li {
  display: grid;
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
}
.orientation-list .number { color: var(--gold); font-family: Cinzel, Georgia, serif; font-size: 0.75rem; }
.article-list a { font-weight: 600; text-decoration: none; }
.article-list small { display: block; margin-top: 0.15rem; color: var(--ink-soft); }

.hub-hero {
  overflow: hidden;
  border-bottom: 0.35rem solid var(--hub-color);
  background: linear-gradient(110deg, var(--page-wash, transparent) 0 48%, transparent 48% 100%);
}
.hub-hero .eyebrow,
.hub-hero .text-link { color: var(--hub-text); }

body[class*="theme-"] .hub-hero::before { border-color: var(--page-accent); }
body[class*="theme-"] .hub-hero::after { border-bottom-color: var(--page-accent); color: var(--page-accent-text); }

.theme-sigil {
  position: absolute;
  right: clamp(1rem, 5vw, 4.5rem);
  bottom: clamp(2.5rem, 6vw, 5.5rem);
  width: clamp(5.5rem, 13vw, 10rem);
  aspect-ratio: 1;
  color: var(--page-accent-text);
  opacity: 0.72;
  pointer-events: none;
}
.theme-sigil span,
.theme-sigil::before,
.theme-sigil::after {
  position: absolute;
  content: "";
}
.theme-sigil::before { inset: 8%; border: 1px solid currentcolor; border-radius: 50%; animation: sigil-turn 18s linear infinite; }
.theme-sigil::after { inset: 28%; border: 1px solid currentcolor; border-radius: 50%; animation: sigil-breathe 4.8s ease-in-out infinite; }
.theme-sigil span:nth-child(1) { inset: 0 48%; border-left: 1px solid currentcolor; transform: rotate(32deg); }
.theme-sigil span:nth-child(2) { inset: 48% 0; border-top: 1px solid currentcolor; transform: rotate(-18deg); }
.theme-sigil span:nth-child(3) { top: 12%; left: 49%; width: 0.48rem; height: 0.48rem; border-radius: 50%; background: currentcolor; box-shadow: 3.15rem 3.4rem 0 -0.08rem currentcolor, -2.5rem 4.6rem 0 -0.12rem currentcolor; animation: sigil-breathe 3.8s ease-in-out infinite reverse; }
body.theme-relations .theme-sigil::before { inset: 12% 35% 12% 5%; border-radius: 50%; animation: sigil-drift-left 6s ease-in-out infinite; }
body.theme-relations .theme-sigil::after { inset: 12% 5% 12% 35%; border-radius: 50%; animation: sigil-drift-right 6s ease-in-out infinite; }
body.theme-relations .theme-sigil span:nth-child(1) { inset: 20% 49%; transform: none; }
body.theme-relations .theme-sigil span:nth-child(2) { inset: 49% 18%; transform: none; }
body.theme-relations .theme-sigil span:nth-child(3) { top: 47%; left: 47%; box-shadow: none; }
body.theme-systems .theme-sigil::before { inset: 8%; border-radius: 0; transform: rotate(45deg); animation: sigil-turn 26s linear infinite; }
body.theme-systems .theme-sigil::after { inset: 25%; border-radius: 0; transform: rotate(45deg); animation: sigil-turn-reverse 18s linear infinite; }
body.theme-systems .theme-sigil span:nth-child(1) { inset: 12% 49%; transform: none; }
body.theme-systems .theme-sigil span:nth-child(2) { inset: 49% 12%; transform: none; }
body.theme-systems .theme-sigil span:nth-child(3) { top: 48%; left: 48%; box-shadow: none; }
body.theme-source .theme-sigil::before { inset: 20% 3%; border-radius: 50% 0; transform: rotate(45deg); animation: sigil-breathe 5.4s ease-in-out infinite; }
body.theme-source .theme-sigil::after { inset: 36%; background: currentcolor; border: 0; animation: sigil-breathe 3.2s ease-in-out infinite reverse; }
body.theme-source .theme-sigil span:nth-child(1) { inset: 4% 49%; transform: none; }
body.theme-source .theme-sigil span:nth-child(2) { inset: 49% 4%; transform: none; }
body.theme-source .theme-sigil span:nth-child(3) { display: none; }

@keyframes sigil-turn { to { transform: rotate(360deg); } }
@keyframes sigil-turn-reverse { from { transform: rotate(405deg); } to { transform: rotate(45deg); } }
@keyframes sigil-breathe { 50% { opacity: 0.4; transform: scale(0.82); } }
@keyframes sigil-drift-left { 50% { transform: translateX(8%); } }
@keyframes sigil-drift-right { 50% { transform: translateX(-8%); } }

body[class*="theme-"] .section-tinted { background: var(--page-wash); }
body[class*="theme-"] .article-list .number,
body[class*="theme-"] .article-list a,
body[class*="theme-"] .eyebrow { color: var(--page-accent-text); }
body[class*="theme-"] .notice { border-left-color: var(--page-accent); background: var(--page-wash); }

.status {
  display: inline-flex;
  padding-bottom: 0.3rem;
  border-bottom: 1px solid var(--gold-soft);
  color: var(--gold);
  background: transparent;
  font-family: Cinzel, Georgia, serif;
  font-size: 0.67rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.notice {
  padding: var(--space-4);
  border-left: 4px solid var(--gold);
  background: var(--cream-deep);
}

.portrait {
  display: block;
  width: 100%;
  max-width: 28rem;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  filter: sepia(0.08) saturate(0.85);
}

.music-section {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(120deg, rgb(43 38 32 / 0.965), rgb(43 38 32 / 0.93)),
    var(--ink);
  color: var(--cream-deep);
}
.music-section .eyebrow { color: var(--gold-soft); }
.music-section a { color: inherit; }
.music-intro { margin-bottom: var(--space-5); }
.music-intro .reading p { color: #e5dccb; }
.media-consent-note { max-width: 52rem; margin: 0 0 var(--space-4); color: #cfc2ad; font-size: 1rem; }
.music-player-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.media-embed { display: grid; min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid rgb(201 162 74 / 0.45); background: rgb(255 253 248 / 0.04); grid-template-rows: auto 1fr; }
.media-embed h3 { margin-bottom: 0.35rem; color: var(--cream); }
.media-embed p { margin: 0 0 1.25rem; color: #cfc2ad; }
.media-embed__stage { display: flex; min-height: 9rem; align-items: flex-start; flex-direction: column; justify-content: center; gap: 1rem; }
.media-embed__stage .button { color: var(--cream); border-color: var(--gold-soft); }
.media-embed__stage .button:hover { color: var(--ink); background: var(--gold-soft); }
.media-embed__iframe { display: block; width: 100%; max-width: 100%; border: 0; background: var(--cream); }

.principle-list {
  max-width: 64rem;
  counter-reset: principle;
}
.principle-list li {
  display: grid;
  padding: clamp(1.5rem, 4vw, 2.6rem) 0;
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(10rem, 0.75fr) minmax(0, 1.25fr);
  gap: clamp(1.25rem, 5vw, 5rem);
}
.principle-list li:last-child { border-bottom: 1px solid var(--line); }
.principle-list h2,
.principle-list h3 { color: var(--gold); }
.principle-list h2 { font-size: clamp(1.25rem, 2.1vw, 1.6rem); }
.principle-list p { max-width: 42rem; margin: 0; color: var(--ink-soft); }

.process-list {
  display: grid;
  margin: var(--space-5) 0 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
}
.process-list li {
  min-width: 0;
  padding: 1.25rem;
  border-top: 1px solid var(--gold);
  border-right: 1px solid var(--line);
}
.process-list li:last-child { border-right: 0; }
.process-list .number { display: block; margin-bottom: 0.75rem; color: var(--gold); font-family: Cinzel, Georgia, serif; font-size: 0.68rem; letter-spacing: 0.12em; }
.process-list strong { display: block; margin-bottom: 0.35rem; font-family: Cinzel, Georgia, serif; font-size: 0.92rem; font-weight: 500; }
.process-list p { margin: 0; color: var(--ink-soft); font-size: 1rem; }

.anti-manipulation-section {
  background:
    radial-gradient(circle at 8% 12%, rgb(168 172 104 / 0.18), transparent 21rem),
    radial-gradient(circle at 92% 86%, rgb(178 138 67 / 0.16), transparent 23rem),
    var(--cream);
}
.anti-manipulation-panel {
  padding: clamp(1.5rem, 5vw, 4.5rem);
  border-top: 0.35rem solid var(--systems-moss);
  color: var(--cream-deep);
  background:
    radial-gradient(circle at 94% 8%, rgb(178 138 67 / 0.16), transparent 22rem),
    linear-gradient(135deg, #29281f, var(--ink) 62%);
  box-shadow: var(--shadow);
}
.anti-manipulation-head {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(18rem, 1.15fr);
  gap: clamp(1.5rem, 6vw, 6rem);
  align-items: start;
}
.anti-manipulation-panel .eyebrow { color: #c8cf91; }
.anti-manipulation-panel h2 { max-width: 13ch; color: var(--cream); }
.anti-manipulation-intro { max-width: var(--reading); }
.anti-manipulation-intro p { margin-top: 0; color: #e2dacb; }
.anti-pattern-grid {
  display: grid;
  margin-top: clamp(2rem, 6vw, 5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgb(213 218 174 / 0.28);
  border-left: 1px solid rgb(213 218 174 / 0.18);
}
.anti-pattern-card {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-right: 1px solid rgb(213 218 174 / 0.18);
  border-bottom: 1px solid rgb(213 218 174 / 0.18);
  background: rgb(255 253 248 / 0.025);
}
.anti-pattern-card:nth-child(2) { background: rgb(178 138 67 / 0.065); }
.anti-pattern-card:nth-child(3) { background: rgb(117 131 75 / 0.07); }
.anti-pattern-card:nth-child(4) { background: rgb(169 181 138 / 0.065); }
.anti-pattern-card .card-index { color: #c8cf91; }
.anti-pattern-card h3 { margin: 0.8rem 0 1rem; color: var(--cream); }
.anti-pattern-card p { color: #ddd4c5; }
.pressure-example-list { margin: 0.9rem 0 1.2rem; padding-left: 1.2rem; color: #eee6d8; }
.pressure-example-list li { margin-bottom: 0.55rem; }
.anti-promise {
  display: grid;
  margin-top: clamp(2rem, 5vw, 4rem);
  padding: clamp(1.25rem, 4vw, 3rem);
  grid-template-columns: minmax(0, 0.8fr) minmax(18rem, 1.2fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  border-left: 0.35rem solid var(--systems-ochre);
  color: var(--ink);
  background: linear-gradient(120deg, #f0f1df, var(--source-wash));
}
.anti-promise h3 { margin-top: 0.5rem; }
.anti-promise p { margin-top: 0; }
.anti-promise strong { color: var(--systems-text); }

.project-grid-priority { grid-template-columns: minmax(0, 1.15fr) minmax(16rem, 0.85fr); }
.project-grid-priority > * { grid-column: auto !important; }
.project-card-featured { border-top: 0.3rem solid var(--gold); background: var(--source-wash); }
.project-card-quiet { background: transparent; }
.support-section { background: linear-gradient(90deg, var(--source-wash) 0 38%, transparent 38% 100%); }
.support-section .button-primary { margin-top: 0.5rem; }

.finance-page {
  --finance-accent: var(--gold);
  --finance-accent-soft: var(--source-gold);
  --finance-wash: var(--source-wash);
}
.finance-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1.1fr);
  gap: 0 clamp(2rem, 7vw, 7rem);
  align-items: start;
}
.finance-hero .eyebrow,
.finance-hero h1 { grid-column: 1; }
.finance-hero h1 {
  min-width: 0;
  max-width: 100%;
  font-size: clamp(2.55rem, 4.25vw, 4rem);
  letter-spacing: -0.015em;
  line-height: 1.04;
}
.finance-hero-copy {
  min-width: 0;
  max-width: var(--reading);
  grid-column: 2;
  grid-row: 1 / span 2;
}
.finance-hero-copy p { margin: 0 0 1.15em; }
.finance-summary-section { background: var(--finance-wash); }
.finance-metrics {
  display: grid;
  margin: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--finance-accent);
  border-bottom: 1px solid var(--line);
}
.finance-metrics > div {
  min-width: 0;
  padding: clamp(1.1rem, 2.5vw, 1.75rem);
  border-right: 1px solid var(--line);
}
.finance-metrics > div:last-child { border-right: 0; }
.finance-metrics dt,
.finance-detail-list dt {
  color: var(--gold);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.finance-metrics dd,
.finance-detail-list dd { margin: 0; }
.finance-metrics dd strong {
  display: block;
  margin: 0.5rem 0 0.65rem;
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(1.2rem, 2.25vw, 1.8rem);
  font-weight: 500;
  line-height: 1.22;
  overflow-wrap: anywhere;
}
.finance-metrics dd span { display: block; color: var(--ink-soft); font-size: 1rem; }
.finance-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}
.finance-ledger-item {
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-top: 0.2rem solid var(--finance-accent-soft);
  border-bottom: 1px solid var(--line);
  background: rgb(255 253 248 / 0.62);
}
.finance-ledger-item header {
  display: flex;
  margin-bottom: var(--space-3);
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}
.finance-ledger-item h3 { overflow-wrap: anywhere; }
.finance-ledger-item p { color: var(--ink-soft); }
.finance-ledger-item .status { flex: 0 0 auto; text-align: right; }
.finance-detail-list { margin: var(--space-4) 0 0; }
.finance-detail-list > div {
  display: grid;
  min-width: 0;
  padding: 0.75rem 0;
  border-top: 1px solid var(--line);
  grid-template-columns: minmax(8rem, 0.8fr) minmax(0, 1.2fr);
  gap: var(--space-3);
}
.finance-detail-list dd { min-width: 0; color: var(--ink-soft); text-align: right; }
.finance-detail-list dd strong { color: var(--ink); font-size: 1.08rem; }
.finance-detail-list dd span { display: block; }
.finance-detail-future { background: linear-gradient(90deg, transparent, var(--systems-wash)); }
.finance-detail-future dt,
.finance-detail-future dd strong { color: var(--systems-text); }
.finance-detail-total { border-top-color: var(--finance-accent) !important; }
.finance-detail-total dt,
.finance-detail-total dd strong { color: var(--gold); }
.finance-notes { margin: 0 0 var(--space-3); padding-left: 1.2rem; color: var(--ink-soft); }
.finance-method-note { margin-top: var(--space-5); }
.finance-method-note p { margin: 0.45rem 0 0; }
.finance-ledger-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.finance-ledger-item-ended { border-top-color: var(--relations); }
.finance-ledger-item-planned { border-top-color: var(--systems-moss); }
.finance-exclusion { margin-bottom: 0; font-size: 0.98rem; font-style: italic; }
.finance-support-section { background: linear-gradient(105deg, var(--systems-wash) 0 38%, transparent 38% 100%); }
.finance-large-number {
  margin-bottom: 0.35rem !important;
  color: var(--gold) !important;
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  line-height: 1;
}
.finance-support-section .notice { margin-top: var(--space-4); }
.finance-support-section .notice p { margin: 0.55rem 0 0; }
.finance-boundary-section { background: var(--finance-wash); }
.finance-boundary-section .anti-promise { margin-top: 0; }
.finance-boundary-section .anti-promise h2 { max-width: 12ch; }
.finance-cta-section { background: linear-gradient(115deg, var(--source-wash), var(--cream-deep)); }
.external-link-note { color: var(--ink-soft); font-size: 0.95rem; }

.site-footer {
  padding: var(--space-6) 0;
  color: var(--cream-deep);
  background: var(--ink);
}
.footer-inner {
  display: grid;
  width: min(calc(100% - 3rem), var(--content));
  margin: 0 auto;
  grid-template-columns: 1fr auto;
  gap: var(--space-4);
  align-items: end;
}
.footer-inner p { max-width: 36rem; margin: 0.6rem 0 0; color: #d7ccb9; }
.footer-links { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.footer-links a { color: inherit; }

@media (max-width: 52rem) {
  body::before { inset: 0.35rem; }
  .nav-shell { width: min(calc(100% - 2rem), var(--content)); padding: 0.75rem 0; align-items: flex-start; flex-direction: column; }
  .site-nav { width: 100%; padding-bottom: 0.25rem; }
  .topics-popover, .research-popover, .projects-popover { position: fixed; top: 8.2rem; right: 1rem; left: 1rem; width: auto; }
  .hero, .page-hero, .section-inner, .footer-inner { width: min(calc(100% - 2rem), var(--content)); }
  .hero { min-height: auto; }
  .section-heading, .split { grid-template-columns: 1fr; }
  .principle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topic-next-branch { grid-template-columns: 1fr; gap: 0.5rem; }
  .hub-grid, .project-grid, .content-grid { grid-template-columns: 1fr; }
  .hub-grid > *, .project-grid > *, .content-grid > * { grid-column: auto; }
  .principle-list li { grid-template-columns: 1fr; gap: 0.75rem; }
  .process-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-list li:nth-child(2) { border-right: 0; }
  .process-list li:nth-child(n + 3) { border-top-color: var(--line); }
  .project-grid-priority { grid-template-columns: 1fr; }
  .anti-manipulation-head,
  .anti-promise { grid-template-columns: 1fr; }
  .support-section { background: var(--source-wash); }
  .finance-hero { grid-template-columns: 1fr; }
  .finance-hero-copy { margin-top: var(--space-5); grid-column: 1; grid-row: auto; }
  .finance-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-metrics > div:nth-child(2) { border-right: 0; }
  .finance-metrics > div:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .finance-ledger,
  .finance-ledger-compact { grid-template-columns: 1fr; }
  .finance-support-section { background: var(--systems-wash); }
  .music-player-grid { grid-template-columns: 1fr; }
  .portrait-wrap { width: min(72vw, 19rem); margin-inline: auto; }
  .footer-inner { grid-template-columns: 1fr; }
}

@media (max-width: 34rem) {
  body { background: var(--cream); font-size: 1.06rem; }
  h1 { font-size: clamp(1.95rem, 9.6vw, 2.55rem); }
  h2 { font-size: clamp(1.65rem, 8vw, 2.15rem); }
  .site-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 0.45rem; font-size: 0.61rem; letter-spacing: 0.035em; }
  .site-nav > a, .topics-menu > summary, .research-menu > summary, .projects-menu > summary { padding: 0.45rem 0.1rem; justify-content: center; text-align: center; }
  .topics-popover, .research-popover, .projects-popover { top: 13.4rem; }
  .hub-hero { padding-right: 0; }
  .theme-sigil { right: 0.35rem; bottom: 1.5rem; width: 5rem; opacity: 0.28; }
  .process-list { grid-template-columns: 1fr; }
  .principle-grid { grid-template-columns: 1fr; }
  .topic-planned { grid-template-columns: 1fr; gap: 0.45rem; }
  .process-list li { border-right: 0; border-top-color: var(--line); }
  .process-list li:first-child { border-top-color: var(--gold); }
  .anti-manipulation-panel { margin: 0 -0.5rem; padding: 1.25rem; }
  .anti-pattern-grid { grid-template-columns: 1fr; }
  .anti-pattern-card { padding: 1.15rem 0.95rem; }
  .anti-promise { padding: 1.15rem; }
  .finance-metrics { grid-template-columns: 1fr; }
  .finance-metrics > div { border-top: 1px solid var(--line); border-right: 0; }
  .finance-metrics > div:first-child { border-top: 0; }
  .finance-ledger-item { padding: 1.15rem 0.95rem; }
  .finance-ledger-item header { align-items: flex-start; flex-direction: column; }
  .finance-ledger-item .status { text-align: left; }
  .finance-detail-list > div { grid-template-columns: 1fr; gap: 0.35rem; }
  .finance-detail-list dd { text-align: left; }
  .hero-actions .button { width: 100%; }
  .portrait-wrap { width: min(68vw, 15rem); }
  .hero::before, .page-hero::before { left: -0.35rem; }
  .hero::after, .page-hero::after { width: 6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  .theme-sigil, .theme-sigil *, .theme-sigil::before, .theme-sigil::after { animation: none !important; }
}

/* Öffentliche UX/UI-Ausschreibung: dieselbe Welle-1-Sprache, als Arbeitsfläche gedacht. */
.recruiting-page { --recruiting-accent: var(--audhs); --recruiting-wash: var(--audhs-wash); --recruiting-text: var(--audhs-text); }
.recruiting-engineering { --recruiting-accent: var(--source-gold); --recruiting-wash: var(--source-wash); --recruiting-text: var(--source-text); }
.recruiting-security { --recruiting-accent: var(--systems-moss); --recruiting-wash: var(--systems-wash); --recruiting-text: var(--systems-text); }
.recruiting-hero { border-bottom: 0.35rem solid var(--recruiting-accent); background: linear-gradient(112deg, var(--recruiting-wash) 0 44%, transparent 44%); }
.recruiting-hero h1 { max-width: 18ch; font-size: clamp(2.65rem, 6.2vw, 5.8rem); }
.recruiting-intro { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 7vw, 7rem); }
.recruiting-fields { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; }
.recruiting-fields li { padding: clamp(1.4rem, 3vw, 2.2rem); border-top: 1px solid var(--line); border-left: 0.2rem solid var(--recruiting-accent); background: rgb(255 253 248 / 0.55); }
.recruiting-fields li:nth-child(odd) { margin-right: var(--space-4); }
.recruiting-fields span { display: block; margin-bottom: 0.75rem; color: var(--recruiting-text); font-family: Cinzel, Georgia, serif; font-size: 0.68rem; letter-spacing: 0.13em; }
.recruiting-fields strong { font-family: Cinzel, Georgia, serif; font-size: 1rem; font-weight: 500; }
.recruiting-fields p { margin: 0.55rem 0 0; color: var(--ink-soft); }
.recruiting-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.recruiting-principles article { padding: 1.5rem 0; border-top: 2px solid var(--recruiting-accent); }
.recruiting-principles p { color: var(--ink-soft); }
.recruiting-frame { max-width: 58rem; margin: var(--space-6) 0 0 auto; padding: clamp(1.5rem, 4vw, 3rem); border-left: 0.3rem solid var(--gold); background: var(--source-wash); }
.recruiting-frame h3 { margin-bottom: var(--space-4); }
.recruiting-disclosure { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.recruiting-disclosure summary { min-height: 3.25rem; padding: 0.85rem 0; cursor: pointer; color: var(--recruiting-text); font-weight: 700; }

.recruiting-openings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.recruiting-opening { display: flex; min-width: 0; padding: clamp(1.35rem, 3vw, 2rem); flex-direction: column; border-top: .25rem solid var(--opening-accent, var(--gold)); background: rgb(255 253 248 / .66); }
.recruiting-opening:nth-child(1) { --opening-accent: var(--audhs); }
.recruiting-opening:nth-child(2) { --opening-accent: var(--source-gold); }
.recruiting-opening:nth-child(3) { --opening-accent: var(--systems-moss); }
.recruiting-opening p { color: var(--ink-soft); }
.recruiting-opening .button { width: fit-content; margin-top: auto; }
.recruiting-disclosure > div { padding: 0 0 0.5rem 1.2rem; border-left: 2px solid var(--recruiting-accent); }
.recruiting-contact { background: linear-gradient(90deg, transparent 0 48%, var(--recruiting-wash) 48% 100%); }
.recruiting-form-layout { display: grid; grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.recruiting-form-intro { position: sticky; top: 7rem; }
.recruiting-form-intro p { color: var(--ink-soft); }
.recruiting-form { padding: clamp(1.25rem, 3vw, 2.5rem); border-top: 0.3rem solid var(--recruiting-accent); background: var(--paper); box-shadow: var(--shadow); }
.recruiting-token-status { margin-bottom: var(--space-4); padding-bottom: 0.8rem; border-bottom: 1px solid var(--line); color: var(--ink-soft); font-size: 0.98rem; }
.form-field { margin-bottom: var(--space-4); }
.form-field > label, .choice-field legend { display: block; margin-bottom: 0.45rem; color: var(--ink); font-weight: 700; }
.optional { color: var(--ink-soft); font-size: 0.88em; font-weight: 400; }
.form-field input:not([type="checkbox"]):not([type="radio"]), .form-field select, .form-field textarea { width: 100%; min-height: 3.25rem; padding: 0.7rem 0.8rem; border: 1px solid #9f9179; border-radius: 0; color: var(--ink); background: #fff; }
.form-field textarea { min-height: 11rem; resize: vertical; }
.form-field small { display: block; margin-top: 0.35rem; color: var(--ink-soft); }
.form-field [aria-invalid="true"] { border-color: var(--danger) !important; box-shadow: 0 0 0 2px rgb(139 63 54 / 0.16); }
.field-error { display: block; min-height: 1.2rem; margin-top: 0.3rem; color: var(--danger); font-size: 0.93rem; font-weight: 700; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.choice-field { margin: 0 0 var(--space-4); padding: 1rem; border: 1px solid var(--line); }
.choice-field p { margin: 0 0 0.75rem; color: var(--ink-soft); font-size: 0.95rem; }
.choice-field label { display: flex; min-height: 2.75rem; align-items: center; gap: 0.65rem; }
.choice-field input, .consent-field input { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; accent-color: var(--audhs-text); }
.consent-field { padding: 1rem; border-left: 3px solid var(--gold); background: var(--cream-deep); }
.consent-field label { display: flex; align-items: flex-start; gap: 0.7rem; font-weight: 400; }
.form-status:not(:empty) { margin: 0 0 var(--space-4); padding: 1rem; border-left: 3px solid var(--danger); background: #f4e7e3; }
.form-fineprint { margin: 1rem 0 0; color: var(--ink-soft); font-size: 0.93rem; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.recruiting-success { padding: clamp(1.5rem, 4vw, 3rem); border-top: 0.3rem solid var(--recruiting-accent); background: var(--paper); box-shadow: var(--shadow); }
.recruiting-success h3 { margin-bottom: 1rem; }

@media (max-width: 52rem) {
  .recruiting-hero h1 { font-size: clamp(2.15rem, 10vw, 3.2rem); line-height: 1.06; }
  .recruiting-intro, .recruiting-form-layout { grid-template-columns: 1fr; }
  .recruiting-form-intro { position: static; }
  .recruiting-principles { grid-template-columns: 1fr; }
  .recruiting-openings { grid-template-columns: 1fr; }
  .recruiting-contact { background: var(--recruiting-wash); }
}

@media (max-width: 34rem) {
  .recruiting-fields, .form-row { grid-template-columns: 1fr; }
  .recruiting-fields li:nth-child(odd) { margin-right: 0; }
  .recruiting-form { margin: 0 -0.25rem; padding: 1.15rem; }
}

/* Ein gemeinsamer Farb- und Motivkanon für alle öffentlichen Seiten. */
.site-header::after,
.site-footer::before {
  position: absolute;
  right: 0;
  left: 0;
  height: 0.16rem;
  background: linear-gradient(90deg, var(--audhs) 0 25%, var(--relations) 25% 50%, var(--systems) 50% 75%, var(--source) 75% 100%);
  content: "";
  opacity: 0.72;
}
.site-header::after { bottom: -1px; }
.site-footer { position: relative; }
.site-footer::before { top: 0; }

body:not([class*="theme-"]) .page-hero,
body:not([class*="theme-"]) .hero {
  background:
    radial-gradient(circle at 92% 14%, rgb(122 100 150 / 0.13), transparent 12rem),
    radial-gradient(circle at 78% 88%, rgb(148 92 96 / 0.10), transparent 13rem),
    radial-gradient(circle at 24% 94%, rgb(168 172 104 / 0.12), transparent 12rem),
    radial-gradient(circle at 8% 18%, rgb(212 198 158 / 0.19), transparent 13rem);
}

.hub-card::after {
  right: -0.75rem;
  bottom: -0.75rem;
  width: 9rem;
  height: 9rem;
  border: 0;
  border-radius: 0;
  opacity: 0.3;
}
.hub-card.audhs::after {
  background:
    radial-gradient(circle at 18% 22%, var(--audhs-text) 0 0.18rem, transparent 0.21rem),
    radial-gradient(circle at 72% 18%, var(--audhs-text) 0 0.23rem, transparent 0.26rem),
    radial-gradient(circle at 84% 68%, var(--audhs-text) 0 0.19rem, transparent 0.22rem),
    radial-gradient(circle at 32% 78%, var(--audhs-text) 0 0.25rem, transparent 0.28rem),
    linear-gradient(32deg, transparent 35%, var(--audhs-text) 36% 37%, transparent 38%),
    linear-gradient(151deg, transparent 42%, var(--audhs-text) 43% 44%, transparent 45%);
  animation: network-pulse 6s ease-in-out infinite;
}
.hub-card.relations::after {
  border: 1px solid var(--relations-text);
  background: rgb(148 92 96 / 0.13);
  animation: pattern-morph 8s ease-in-out infinite alternate;
}
.hub-card.systems::after {
  clip-path: polygon(50% 3%, 96% 92%, 4% 92%);
  background:
    linear-gradient(transparent 31%, var(--systems-text) 32% 33%, transparent 34% 61%, var(--systems-text) 62% 63%, transparent 64%),
    linear-gradient(90deg, transparent 49%, var(--systems-text) 49.5% 50.5%, transparent 51%),
    rgb(168 172 104 / 0.16);
  animation: pyramid-rise 7s ease-in-out infinite;
}
.hub-card.source::after {
  border: 1px solid var(--source-text);
  background: repeating-conic-gradient(from 0deg, transparent 0 18deg, var(--source-text) 19deg 20deg, transparent 21deg 44deg);
  clip-path: polygon(50% 0, 62% 35%, 100% 50%, 62% 65%, 50% 100%, 38% 65%, 0 50%, 38% 35%);
  animation: glyph-shift 16s linear infinite;
}

.section { position: relative; overflow: clip; }
body[class*="theme-"] .section::after {
  position: absolute;
  right: clamp(-2rem, -1vw, -0.5rem);
  bottom: -2rem;
  width: clamp(6rem, 12vw, 10rem);
  aspect-ratio: 1;
  color: var(--page-accent-text);
  pointer-events: none;
  content: "";
  opacity: 0.09;
}
body.theme-audhs .section::after {
  background: radial-gradient(circle, currentcolor 0 0.18rem, transparent 0.22rem) 0 0 / 2.1rem 2.1rem;
  animation: network-pulse 7s ease-in-out infinite;
}
body.theme-relations .section::after { border: 1px solid currentcolor; background: currentcolor; animation: pattern-morph 10s ease-in-out infinite alternate; }
body.theme-systems .section::after { clip-path: polygon(50% 0, 100% 100%, 0 100%); background: repeating-linear-gradient(0deg, transparent 0 20%, currentcolor 21% 22%); animation: pyramid-rise 9s ease-in-out infinite; }
body.theme-source .section::after { border: 1px solid currentcolor; background: repeating-conic-gradient(transparent 0 23deg, currentcolor 24deg 25deg); clip-path: polygon(50% 0, 61% 36%, 100% 50%, 61% 64%, 50% 100%, 39% 64%, 0 50%, 39% 36%); animation: glyph-shift 22s linear infinite; }
.section > * { position: relative; z-index: 1; }

body.theme-audhs .theme-sigil::before {
  inset: 5%;
  border: 0;
  background:
    radial-gradient(circle at 14% 22%, currentcolor 0 0.22rem, transparent 0.26rem),
    radial-gradient(circle at 76% 14%, currentcolor 0 0.28rem, transparent 0.32rem),
    radial-gradient(circle at 88% 72%, currentcolor 0 0.2rem, transparent 0.24rem),
    radial-gradient(circle at 28% 82%, currentcolor 0 0.3rem, transparent 0.34rem);
  animation: network-pulse 5.5s ease-in-out infinite;
}
body.theme-audhs .theme-sigil::after {
  inset: 8%;
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(31deg, transparent 37%, currentcolor 38% 39%, transparent 40%),
    linear-gradient(146deg, transparent 44%, currentcolor 45% 46%, transparent 47%),
    linear-gradient(83deg, transparent 52%, currentcolor 53% 54%, transparent 55%);
  animation: network-drift 9s ease-in-out infinite alternate;
}
body.theme-relations .theme-sigil::before,
body.theme-relations .theme-sigil::after { background: rgb(148 92 96 / 0.17); }
body.theme-relations .theme-sigil span:nth-child(1) { border: 1px solid currentcolor; border-radius: 44% 56% 39% 61% / 55% 39% 61% 45%; animation: pattern-morph 7s ease-in-out infinite alternate; }
body.theme-relations .theme-sigil span:nth-child(2) { border: 1px solid currentcolor; border-radius: 62% 38% 57% 43% / 42% 63% 37% 58%; animation: pattern-morph 7s ease-in-out infinite alternate-reverse; }
body.theme-systems .theme-sigil::before { inset: 3%; border: 0; border-radius: 0; clip-path: polygon(50% 0, 100% 94%, 0 94%); background: currentcolor; opacity: 0.38; animation: pyramid-rise 7s ease-in-out infinite; }
body.theme-systems .theme-sigil::after { inset: 22% 23% 14%; border: 0; border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: var(--page-wash); animation: none; }
body.theme-systems .theme-sigil span:nth-child(1) { inset: 34% 18% auto; border: 0; border-top: 1px solid currentcolor; }
body.theme-systems .theme-sigil span:nth-child(2) { inset: 61% 8% auto; border: 0; border-top: 1px solid currentcolor; }
body.theme-systems .theme-sigil span:nth-child(3) { display: block; top: 43%; left: 47%; width: 0.75rem; height: 0.5rem; border: 1px solid currentcolor; border-radius: 50%; background: transparent; }
body.theme-source .theme-sigil::before { inset: 6%; border-radius: 50%; background: repeating-conic-gradient(transparent 0 27deg, currentcolor 28deg 29deg); animation: glyph-shift 18s linear infinite; }
body.theme-source .theme-sigil::after { inset: 28%; border: 1px solid currentcolor; border-radius: 0; background: transparent; transform: rotate(45deg); animation: glyph-core 6s ease-in-out infinite alternate; }
body.theme-source .theme-sigil span:nth-child(3) { display: block; top: 46%; left: 46%; width: 0.8rem; height: 0.8rem; border: 1px solid currentcolor; border-radius: 50%; background: transparent; }

.research-hero { padding-bottom: clamp(4rem, 9vw, 7rem); }
.research-hero h1 { max-width: 15ch; }
.research-jump-grid { display: grid; max-width: 58rem; margin-top: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.research-jump { display: flex; min-height: 3.5rem; padding: 0.9rem 1rem; align-items: center; gap: 0.8rem; border-left: 0.25rem solid var(--hub-color); background: rgb(255 253 248 / 0.72); color: var(--hub-text); font-weight: 700; text-decoration: none; }
.research-jump > span { font-family: Cinzel, Georgia, serif; font-size: 0.65rem; letter-spacing: 0.12em; }
.research-spectrum { position: absolute; right: clamp(1rem, 4vw, 4rem); bottom: 1.25rem; display: grid; width: clamp(6rem, 12vw, 10rem); aspect-ratio: 1; grid-template-columns: repeat(2, 1fr); gap: 0.3rem; opacity: 0.46; transform: rotate(45deg); }
.research-spectrum span:nth-child(1) { background: var(--audhs); border-radius: 50% 0 50% 50%; animation: spectrum-pulse 7s ease-in-out infinite; }
.research-spectrum span:nth-child(2) { background: var(--relations); border-radius: 50% 50% 50% 0; animation: spectrum-pulse 7s 1s ease-in-out infinite; }
.research-spectrum span:nth-child(3) { background: var(--systems); border-radius: 50% 0 50% 50%; animation: spectrum-pulse 7s 2s ease-in-out infinite; }
.research-spectrum span:nth-child(4) { background: var(--source); border-radius: 50% 50% 50% 0; animation: spectrum-pulse 7s 3s ease-in-out infinite; }
.research-theme-block { --block-color: var(--gold); --block-text: var(--gold); --block-wash: var(--cream-deep); scroll-margin-top: 7rem; background: linear-gradient(110deg, var(--block-wash) 0 42%, var(--cream) 42%); }
.research-theme-block.audhs { --block-color: var(--audhs); --block-text: var(--audhs-text); --block-wash: var(--audhs-wash); }
.research-theme-block.beziehungen { --block-color: var(--relations); --block-text: var(--relations-text); --block-wash: var(--relations-wash); }
.research-theme-block.macht { --block-color: var(--systems); --block-text: var(--systems-text); --block-wash: var(--systems-wash); }
.research-theme-block.quellcode { --block-color: var(--source); --block-text: var(--source-text); --block-wash: var(--source-wash); }
.research-block-head { position: relative; display: grid; margin-bottom: var(--space-6); padding: 0 9rem 1.5rem 0; grid-template-columns: minmax(0, 0.9fr) minmax(16rem, 1.1fr); gap: var(--space-5); border-bottom: 0.2rem solid var(--block-color); align-items: end; }
.research-block-head .eyebrow { color: var(--block-text); }
.research-block-head p { margin: 0; color: var(--ink-soft); }
.research-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.research-card { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border-top: 1px solid var(--block-color); background: rgb(255 253 248 / 0.8); }
.research-card__number { color: var(--block-text); font-family: Cinzel, Georgia, serif; font-size: 0.65rem; letter-spacing: 0.12em; }
.research-card h3 { margin-top: 0.8rem; hyphens: manual; }
.research-card p { color: var(--ink-soft); }
.research-card .text-link { color: var(--block-text); }
.research-card[data-research-kind="tool"] { border: 1px solid color-mix(in srgb, var(--block-color) 58%, var(--rule)); border-top-width: 0.28rem; background: color-mix(in srgb, var(--block-wash) 48%, var(--cream)); }
.research-card[data-research-kind="tool"] .research-card__number { display: inline-flex; min-width: 2.2rem; min-height: 2.2rem; align-items: center; justify-content: center; border: 1px solid currentcolor; border-radius: 50%; }
[data-research-tools] .research-block-head { border-bottom-style: double; }
.research-motif { position: absolute; right: 0; bottom: 1rem; width: 6.5rem; aspect-ratio: 1; color: var(--block-text); opacity: 0.38; }
.research-theme-block.audhs .research-motif { background: radial-gradient(circle, currentcolor 0 0.2rem, transparent 0.24rem) 0 0 / 1.75rem 1.75rem; animation: network-pulse 6s ease-in-out infinite; }
.research-theme-block.beziehungen .research-motif { border: 1px solid currentcolor; background: rgb(148 92 96 / 0.15); animation: pattern-morph 8s ease-in-out infinite alternate; }
.research-theme-block.macht .research-motif { clip-path: polygon(50% 0, 100% 100%, 0 100%); background: repeating-linear-gradient(0deg, transparent 0 24%, currentcolor 25% 27%); animation: pyramid-rise 8s ease-in-out infinite; }
.research-theme-block.quellcode .research-motif { border: 1px solid currentcolor; background: repeating-conic-gradient(transparent 0 25deg, currentcolor 26deg 27deg); clip-path: polygon(50% 0, 61% 36%, 100% 50%, 61% 64%, 50% 100%, 39% 64%, 0 50%, 39% 36%); animation: glyph-shift 18s linear infinite; }

.legal-public .legal-public-main { display: block; }
.legal-public .page-hero { padding-bottom: clamp(2.75rem, 6vw, 4.5rem); }
.legal-public .page-hero h1 { max-width: 18ch; font-size: clamp(2.5rem, 6vw, 5rem); }
.legal-content { width: min(calc(100% - 3rem), 52rem); margin: 0 auto; }
.legal-content h2 { margin: 3rem 0 1rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: clamp(1.35rem, 2.7vw, 2rem); }
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 { margin: 2rem 0 0.75rem; font-size: 1.15rem; }
.legal-content p, .legal-content li { max-width: 46rem; }
.legal-content a { color: var(--gold); overflow-wrap: anywhere; }
.legal-content code { padding: 0.1rem 0.3rem; background: var(--cream-deep); }

@keyframes network-pulse { 50% { opacity: 0.58; transform: scale(1.06); } }
@keyframes network-drift { 50% { transform: rotate(5deg) scale(0.94); } }
@keyframes pattern-morph { 0% { border-radius: 58% 42% 63% 37% / 43% 57% 43% 57%; transform: rotate(-4deg); } 50% { border-radius: 35% 65% 38% 62% / 62% 34% 66% 38%; transform: rotate(5deg) scale(0.92); } 100% { border-radius: 67% 33% 55% 45% / 38% 68% 32% 62%; transform: rotate(-2deg); } }
@keyframes pyramid-rise { 50% { transform: translateY(-0.45rem); opacity: 0.48; } }
@keyframes glyph-shift { to { transform: rotate(360deg); } }
@keyframes glyph-core { 50% { border-radius: 50%; transform: rotate(135deg) scale(0.72); } }
@keyframes spectrum-pulse { 50% { opacity: 0.38; transform: scale(0.76); } }

@media (max-width: 52rem) {
  .topics-popover, .research-popover, .projects-popover { position: fixed; top: 8.2rem; right: 1rem; left: 1rem; width: auto; }
  .research-block-head { padding-right: 0; grid-template-columns: 1fr; }
  .research-motif { right: 0.25rem; bottom: calc(100% + 0.8rem); width: 4rem; }
  .research-card-grid { grid-template-columns: 1fr; }
}

@media (max-width: 34rem) {
  .topics-popover, .research-popover, .projects-popover { top: 13.4rem; }
  .theme-living .hub-hero h1 { font-size: clamp(1.75rem, 7.8vw, 2.55rem); }
  .research-hero h1 { font-size: clamp(1.5rem, 8.6vw, 2.55rem); }
  .research-jump-grid { grid-template-columns: 1fr; }
  .research-spectrum { right: 0.5rem; width: 4.75rem; opacity: 0.24; }
  .research-theme-block { background: var(--block-wash); }
  .legal-public .page-hero h1 { font-size: clamp(1.45rem, 6.1vw, 2.35rem); letter-spacing: -0.02em; }
  .legal-content { width: min(calc(100% - 2rem), 52rem); }
}

@media (prefers-reduced-motion: reduce) {
  .hub-card::after, .section::after, .research-spectrum span, .research-motif { animation: none !important; }
}

/*
 * Bereichsfarben 2.0
 *
 * Jede Grundfarbe entfaltet eine eigene, verwandte Farbfamilie. So bleibt die
 * Orientierung erhalten, ohne dass eine komplette Seite nur einen Ton wiederholt.
 */
body.theme-audhs {
  background:
    radial-gradient(circle at 8% 4%, rgb(122 100 150 / 0.18), transparent 28rem),
    radial-gradient(circle at 94% 32%, rgb(114 131 168 / 0.13), transparent 25rem),
    radial-gradient(circle at 18% 88%, rgb(139 88 127 / 0.1), transparent 26rem),
    linear-gradient(90deg, transparent 0 4.75rem, rgb(122 100 150 / 0.09) 4.75rem 4.82rem, transparent 4.82rem),
    var(--cream);
}

body.theme-relations {
  background:
    radial-gradient(circle at 8% 4%, rgb(148 92 96 / 0.17), transparent 28rem),
    radial-gradient(circle at 92% 34%, rgb(182 111 88 / 0.12), transparent 25rem),
    radial-gradient(circle at 16% 88%, rgb(213 165 167 / 0.15), transparent 26rem),
    linear-gradient(90deg, transparent 0 4.75rem, rgb(148 92 96 / 0.09) 4.75rem 4.82rem, transparent 4.82rem),
    var(--cream);
}

body.theme-systems,
body:has(.principle-list) {
  --page-accent: var(--systems);
  --page-accent-text: var(--systems-text);
  --page-wash: var(--systems-wash);
  --page-tone-2: var(--systems-moss);
  --page-tone-3: var(--systems-sage);
  --page-tone-4: var(--systems-ochre);
  background:
    radial-gradient(circle at 8% 4%, rgb(168 172 104 / 0.2), transparent 28rem),
    radial-gradient(circle at 92% 34%, rgb(178 138 67 / 0.12), transparent 25rem),
    radial-gradient(circle at 16% 88%, rgb(117 131 75 / 0.11), transparent 26rem),
    linear-gradient(90deg, transparent 0 4.75rem, rgb(102 106 53 / 0.09) 4.75rem 4.82rem, transparent 4.82rem),
    var(--cream);
}

body.theme-source,
body:has(.project-card-featured) {
  --page-accent: var(--source);
  --page-accent-text: var(--source-text);
  --page-wash: var(--source-wash);
  --page-tone-2: var(--source-gold);
  --page-tone-3: var(--source-amber);
  --page-tone-4: var(--source-pearl);
  background:
    radial-gradient(circle at 8% 4%, rgb(212 198 158 / 0.3), transparent 28rem),
    radial-gradient(circle at 92% 34%, rgb(189 115 56 / 0.11), transparent 25rem),
    radial-gradient(circle at 16% 88%, rgb(181 138 50 / 0.1), transparent 26rem),
    linear-gradient(90deg, transparent 0 4.75rem, rgb(113 98 61 / 0.08) 4.75rem 4.82rem, transparent 4.82rem),
    var(--cream);
}

body:not([class*="theme-"]):not(.legal-public):not(.recruiting-page) {
  background:
    radial-gradient(circle at 7% 7%, rgb(122 100 150 / 0.15), transparent 24rem),
    radial-gradient(circle at 93% 28%, rgb(148 92 96 / 0.12), transparent 25rem),
    radial-gradient(circle at 12% 82%, rgb(168 172 104 / 0.13), transparent 26rem),
    radial-gradient(circle at 88% 96%, rgb(212 198 158 / 0.24), transparent 27rem),
    var(--cream);
}

body[class*="theme-"]::before,
body:has(.principle-list)::before,
body:has(.project-card-featured)::before { border-color: color-mix(in srgb, var(--page-accent) 58%, transparent); }

body[class*="theme-"] .site-header::after,
body:has(.principle-list) .site-header::after,
body:has(.project-card-featured) .site-header::after {
  background: var(--page-accent);
  opacity: 0.9;
}

body[class*="theme-"] .site-nav > a:hover,
body[class*="theme-"] .site-nav > a[aria-current="page"],
body[class*="theme-"] .topics-menu > summary:hover,
body[class*="theme-"] .topics-menu > summary[aria-current="page"],
body[class*="theme-"] .research-menu > summary:hover,
body[class*="theme-"] .research-menu > summary[aria-current="page"],
body[class*="theme-"] .projects-menu > summary:hover,
body[class*="theme-"] .projects-menu > summary[aria-current="page"],
body:has(.principle-list) .site-nav > a:hover,
body:has(.project-card-featured) .site-nav > a:hover { border-bottom-color: var(--page-accent-text); }

body[class*="theme-"] .section-heading::before,
body[class*="theme-"] .page-hero::before,
body:has(.principle-list) .section-heading::before,
body:has(.project-card-featured) .section-heading::before { border-color: var(--page-accent-text); }

body[class*="theme-"] .page-hero:not(.hub-hero),
body:has(.principle-list) .page-hero,
body:has(.project-card-featured) .page-hero {
  border-bottom: 0.3rem solid var(--page-accent);
  background:
    linear-gradient(112deg, var(--page-wash) 0 42%, transparent 42%),
    radial-gradient(circle at 88% 24%, color-mix(in srgb, var(--page-tone-3) 28%, transparent), transparent 15rem),
    radial-gradient(circle at 72% 88%, color-mix(in srgb, var(--page-tone-4) 18%, transparent), transparent 14rem);
}

/* Sektionen wandern innerhalb der Farbfamilie, statt denselben Akzent zu kopieren. */
body[class*="theme-"] .section:nth-of-type(4n + 1) { --section-tone: var(--page-accent); }
body[class*="theme-"] .section:nth-of-type(4n + 2) { --section-tone: var(--page-tone-2); }
body[class*="theme-"] .section:nth-of-type(4n + 3) { --section-tone: var(--page-tone-3); }
body[class*="theme-"] .section:nth-of-type(4n + 4) { --section-tone: var(--page-tone-4); }
body[class*="theme-"] .section { border-top-color: color-mix(in srgb, var(--section-tone, var(--page-accent)) 46%, var(--line)); }
body[class*="theme-"] .section-tinted {
  background:
    linear-gradient(118deg, color-mix(in srgb, var(--section-tone, var(--page-accent)) 13%, var(--cream)) 0 46%, transparent 46%),
    var(--cream-deep);
}
body[class*="theme-"] .section .eyebrow,
body[class*="theme-"] .section .text-link { color: color-mix(in srgb, var(--section-tone, var(--page-accent)) 78%, var(--ink)); }
body[class*="theme-"] .section::after { color: var(--section-tone, var(--page-accent-text)); }

body[class*="theme-"] .content-grid > *,
body[class*="theme-"] .principle-grid > *,
body[class*="theme-"] .project-grid > * { --card-tone: var(--page-accent); }
body[class*="theme-"] .content-grid > :nth-child(4n + 2),
body[class*="theme-"] .principle-grid > :nth-child(4n + 2),
body[class*="theme-"] .project-grid > :nth-child(4n + 2) { --card-tone: var(--page-tone-2); }
body[class*="theme-"] .content-grid > :nth-child(4n + 3),
body[class*="theme-"] .principle-grid > :nth-child(4n + 3),
body[class*="theme-"] .project-grid > :nth-child(4n + 3) { --card-tone: var(--page-tone-3); }
body[class*="theme-"] .content-grid > :nth-child(4n + 4),
body[class*="theme-"] .principle-grid > :nth-child(4n + 4),
body[class*="theme-"] .project-grid > :nth-child(4n + 4) { --card-tone: var(--page-tone-4); }
body[class*="theme-"] .content-card,
body[class*="theme-"] .principle-card,
body[class*="theme-"] .project-card {
  border-top-color: var(--card-tone);
  background: linear-gradient(145deg, color-mix(in srgb, var(--card-tone) 13%, var(--paper)), rgb(255 253 248 / 0.76) 72%);
}

body[class*="theme-"] .button,
body:has(.principle-list) .button,
body:has(.project-card-featured) .button { border-color: var(--page-accent-text); }

body[class*="theme-"] .button:hover,
body:has(.principle-list) .button:hover,
body:has(.project-card-featured) .button:hover {
  color: var(--cream);
  border-color: var(--page-accent-text);
  background: var(--page-accent-text);
}

/* Allgemeine Einstiegsseiten verbinden die vier Bereiche, ohne sie zu vermischen. */
body:not([class*="theme-"]):not(.legal-public):not(.recruiting-page) .page-hero,
body:not([class*="theme-"]):not(.legal-public):not(.recruiting-page) .hero {
  border-bottom: 0.3rem solid transparent;
  border-image: linear-gradient(90deg, var(--audhs), var(--relations), var(--systems), var(--source)) 1;
}

body:not([class*="theme-"]):not(.legal-public):not(.recruiting-page) .section-heading::before {
  width: 4.5rem;
  height: 0.16rem;
  border: 0;
  background: linear-gradient(90deg, var(--audhs) 0 25%, var(--relations) 25% 50%, var(--systems) 50% 75%, var(--source) 75%);
}

/* Über uns: Team- und Governance-Seite im bestehenden Welle-1-System. */
.about-us-page {
  --about-source: var(--source-gold);
  --about-systems: var(--systems-moss);
  --about-technology: var(--audhs-plum);
}

.local-preview-note {
  display: flex;
  width: min(calc(100% - 3rem), var(--content));
  margin: 1.25rem auto 0;
  padding: 0.8rem 1rem;
  gap: 0.55rem 1rem;
  align-items: baseline;
  border: 1px solid color-mix(in srgb, var(--gold) 48%, var(--line));
  background: color-mix(in srgb, var(--source-wash) 62%, var(--paper));
  color: var(--ink-soft);
  font-size: 0.88rem;
}

.local-preview-note strong {
  flex: 0 0 auto;
  color: var(--ink);
}

.about-us-hero h1 { max-width: 18ch; }
.about-us-hero .lede { max-width: 58rem; }

.about-us-hero__statement {
  max-width: 56rem;
  margin: 1.25rem 0 0;
  color: var(--ink-soft);
}

.about-origin .reading p:first-child { margin-top: 0; }

.team-grid,
.governance-grid,
.responsibility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.team-card {
  position: relative;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  border-top: 0.22rem solid var(--team-tone, var(--gold));
  background: linear-gradient(145deg, color-mix(in srgb, var(--team-tone, var(--gold)) 11%, var(--paper)), rgb(255 253 248 / 0.72) 76%);
}

.team-card--source {
  grid-column: 1 / -1;
  --team-tone: var(--about-source);
}
.team-card--systems { --team-tone: var(--about-systems); }
.team-card--technology { --team-tone: var(--about-technology); }

.team-card__number {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: color-mix(in srgb, var(--team-tone) 42%, transparent);
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(2.6rem, 7vw, 5.6rem);
  line-height: 1;
}

.team-card .eyebrow {
  display: block;
  max-width: calc(100% - 5rem);
  color: color-mix(in srgb, var(--team-tone) 78%, var(--ink));
}

.team-card h3 {
  margin-top: 1.4rem;
  font-size: clamp(2rem, 4.5vw, 3.7rem);
}

.team-card p { color: var(--ink-soft); }

.team-card blockquote {
  margin: 1.5rem 0;
  padding: 1rem 0 1rem 1.2rem;
  border-left: 0.2rem solid var(--team-tone);
  color: var(--ink);
  font-family: Cormorant Garamond, Georgia, serif;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.3;
}

.team-card__values { letter-spacing: 0.03em; }

.team-pending-note {
  max-width: 58rem;
  margin: 1.5rem 0 0 auto;
  padding: 1rem 1.2rem;
  border-left: 0.2rem solid var(--line-strong);
  color: var(--ink-soft);
  background: rgb(255 253 248 / 0.58);
}

.governance-grid > article {
  padding: clamp(1.4rem, 3vw, 2.2rem) 0;
  border-top: 0.2rem solid var(--page-accent, var(--gold));
}

.governance-grid > article:nth-child(2) { border-top-color: var(--relations); }
.governance-grid p { color: var(--ink-soft); }

.governance-maxim {
  margin-top: 1.5rem;
  padding: 1rem 1.2rem;
  border-left: 0.2rem solid var(--gold);
  color: var(--ink) !important;
  font-family: Cormorant Garamond, Georgia, serif;
  font-size: 1.35rem;
}

.about-consequence-list {
  margin: 1.4rem 0 1.8rem;
  padding: 0;
  list-style: none;
}

.about-consequence-list li {
  position: relative;
  padding: 0.8rem 0 0.8rem 1.6rem;
  border-top: 1px solid var(--line);
}

.about-consequence-list li::before {
  position: absolute;
  top: 1.04rem;
  left: 0.15rem;
  width: 0.55rem;
  height: 0.55rem;
  border: 1px solid var(--page-accent-text, var(--gold));
  border-radius: 50%;
  content: "";
}

.responsibility-grid > article {
  padding: clamp(1.3rem, 3vw, 2rem);
  border-top: 0.2rem solid var(--systems-moss);
  background: var(--systems-wash);
}

.responsibility-grid > article:nth-child(2) {
  border-top-color: var(--relations);
  background: var(--relations-wash);
}

.responsibility-grid ul { margin-bottom: 0; padding-left: 1.15rem; }
.responsibility-grid li + li { margin-top: 0.55rem; }

.about-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  margin-top: 1.5rem;
}

.about-editorial__heading h2 {
  max-width: 13ch;
}

.about-editorial__reading {
  width: 100%;
  max-width: 46rem;
}

.about-editorial__reading > p {
  color: var(--ink-soft);
}

.about-ai-note {
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  padding: clamp(1.35rem, 3vw, 2rem);
  border-top: 0.2rem solid var(--about-technology);
  background: color-mix(in srgb, var(--audhs-wash) 74%, var(--paper));
}

.about-ai-note h3 {
  max-width: 24ch;
  margin-bottom: 1.25rem;
}

.about-ai-note p:last-child {
  margin-bottom: 0;
}

.about-open-architecture {
  background: linear-gradient(118deg, color-mix(in srgb, var(--source-wash) 72%, var(--paper)) 0 34%, var(--paper) 34% 100%);
}

.about-manifest-line,
.about-statement {
  margin: clamp(2rem, 5vw, 3.5rem) 0;
  padding: 0.85rem 0 0.85rem 1.25rem;
  border-left: 0.22rem solid var(--gold);
  color: var(--ink);
  font-family: Cormorant Garamond, Georgia, serif;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.25;
}

.about-detail-link {
  margin-top: 2rem !important;
}

.about-trust-links {
  display: grid;
  margin-top: clamp(2.5rem, 6vw, 4.5rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}

.about-trust-links a {
  display: flex;
  min-width: 0;
  min-height: 7.5rem;
  padding: 1.1rem 1rem;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.8rem;
  border-top: 1px solid var(--line);
  color: var(--ink);
  text-decoration: none;
}

.about-trust-links a:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.about-trust-links a:hover {
  background: color-mix(in srgb, var(--source-wash) 68%, transparent);
}

.about-trust-links span {
  color: var(--ink-soft);
  font-size: 0.94rem;
}

.about-trust-links strong {
  font-family: Cinzel, Georgia, serif;
  font-size: 1rem;
  font-weight: 500;
}

@media (max-width: 52rem) {
  .local-preview-note { width: min(calc(100% - 2rem), var(--content)); }
  .team-grid,
  .governance-grid,
  .responsibility-grid { grid-template-columns: 1fr; }
  .about-editorial__heading h2 { max-width: 20ch; }
  .about-open-architecture { background: var(--paper); }
}

@media (max-width: 34rem) {
  .local-preview-note { align-items: flex-start; flex-direction: column; }
  .team-card { padding: 1.25rem 1rem; }
  .team-card__number { font-size: 3.3rem; }
  .team-card .eyebrow { max-width: calc(100% - 3.5rem); }
  .about-trust-links { grid-template-columns: 1fr; }
  .about-trust-links a:nth-child(odd) { border-right: 0; }
}

.orientation-list li { border-left: 0.22rem solid var(--orientation-color, var(--gold)); padding-left: 1rem; }
.orientation-list li:nth-child(4n + 1) { --orientation-color: var(--audhs); }
.orientation-list li:nth-child(4n + 2) { --orientation-color: var(--relations); }
.orientation-list li:nth-child(4n + 3) { --orientation-color: var(--systems); }
.orientation-list li:nth-child(4n + 4) { --orientation-color: var(--source); }
.orientation-list li:nth-child(4n + 1) .number { color: var(--audhs-text); }
.orientation-list li:nth-child(4n + 2) .number { color: var(--relations-text); }
.orientation-list li:nth-child(4n + 3) .number { color: var(--systems-text); }
.orientation-list li:nth-child(4n + 4) .number { color: var(--source-text); }

/* Projektkarten erhalten eine klare Herkunft aus demselben Farbspektrum. */
.project-grid > .project-card:nth-child(3n + 1) {
  --project-accent: var(--audhs);
  --project-accent-text: var(--audhs-text);
  --project-wash: var(--audhs-wash);
}
.project-grid > .project-card:nth-child(3n + 2) {
  --project-accent: var(--source);
  --project-accent-text: var(--source-text);
  --project-wash: var(--source-wash);
}
.project-grid > .project-card:nth-child(3n + 3) {
  --project-accent: var(--systems);
  --project-accent-text: var(--systems-text);
  --project-wash: var(--systems-wash);
}
.project-grid > .project-card {
  border-top: 0.25rem solid var(--project-accent);
  background: linear-gradient(145deg, var(--project-wash), rgb(255 253 248 / 0.76) 72%);
}
.project-grid > .project-card .status,
.project-grid > .project-card .text-link { color: var(--project-accent-text); border-color: var(--project-accent); }

.principle-list li,
.principle-card,
.process-list li { border-top-color: var(--page-accent, var(--systems)); }
.principle-list h2,
.principle-list h3,
.principle-card h3,
.process-list .number { color: var(--page-accent-text, var(--systems-text)); }

@media (max-width: 34rem) {
  body.theme-audhs,
  body.theme-relations,
  body.theme-systems,
  body.theme-source,
  body:has(.principle-list),
  body:has(.project-card-featured),
  body:not([class*="theme-"]):not(.legal-public):not(.recruiting-page) { background-position: center; }

  body[class*="theme-"] .page-hero:not(.hub-hero),
  body:has(.principle-list) .page-hero,
  body:has(.project-card-featured) .page-hero {
    background:
      linear-gradient(145deg, var(--page-wash), color-mix(in srgb, var(--page-tone-3) 16%, var(--cream)));
  }
}

.ssl-seal {
  display: inline-flex;
  width: 3.35rem;
  height: 3.35rem;
  margin-left: auto;
  align-items: center;
  justify-content: center;
  opacity: 0.58;
  transition: opacity 160ms ease, transform 160ms ease;
}
.ssl-seal:hover,
.ssl-seal:focus-visible { opacity: 1; transform: translateY(-0.12rem); }
.ssl-seal img { display: block; width: 100%; height: auto; }

@media (max-width: 34rem) {
  .ssl-seal { width: 3rem; height: 3rem; margin: 0.75rem 0 0; }
}

/* Hauptnavigation 2026-09-01: voll sichtbar auf Desktop, Disclosure auf Tablet/Mobil. */
.site-menu-toggle { display: none; }

.about-menu { position: relative; }
.about-menu > summary { list-style: none; }
.about-menu > summary::-webkit-details-marker { display: none; }
.about-menu > summary::after { margin-left: 0.45rem; content: "▾"; }
.about-menu[open] > summary::after { content: "▴"; }

.site-nav > .about-menu > summary {
  display: inline-flex;
  min-height: 2.75rem;
  padding: 0.75rem 0.7rem;
  align-items: center;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.site-nav > .about-menu > summary:hover,
.site-nav > .about-menu > summary[aria-current="page"] { border-bottom-color: var(--gold); }

.about-popover {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  width: min(20rem, calc(100vw - 2rem));
  padding: 0.55rem;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: var(--shadow);
}

.about-popover a {
  display: block;
  padding: 0.75rem 0.85rem;
  border-left: 4px solid var(--hub-color, var(--gold));
  color: var(--ink);
  font-family: "EB Garamond", Georgia, serif;
  font-size: 1rem;
  letter-spacing: 0;
  text-decoration: none;
  text-transform: none;
}

.about-popover a:hover { background: var(--cream-deep); }
.about-popover .team { --hub-color: var(--systems); }
.about-popover .traces { --hub-color: var(--relations); }

.offers-navigation-link {
  color: var(--gold) !important;
  box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--gold) 72%, transparent);
}

@media (max-width: 67.49rem) {
  .nav-shell {
    position: relative;
    display: grid;
    width: min(calc(100% - 2rem), var(--content));
    min-height: 4.6rem;
    padding: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
  }

  .site-menu-toggle {
    display: inline-flex;
    min-height: 2.75rem;
    padding: 0.6rem 0.75rem;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    border: 1px solid var(--line-strong);
    color: var(--ink);
    background: transparent;
    font: 600 0.69rem/1 Cinzel, Georgia, serif;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .site-menu-toggle__icon {
    display: grid;
    width: 1rem;
    gap: 0.2rem;
  }

  .site-menu-toggle__icon > span { border-top: 1px solid currentcolor; }

  .site-header[data-navigation-enhanced="true"] .site-nav { display: none; }
  .site-header[data-navigation-enhanced="true"] .site-nav.is-open { display: grid; }

  .site-nav {
    position: absolute;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    z-index: 31;
    width: 100%;
    max-height: calc(100dvh - 5.6rem);
    padding: 0.65rem;
    overflow: auto;
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 0;
    border: 1px solid var(--line);
    border-top: 0;
    background: var(--paper);
    box-shadow: var(--shadow);
  }

  .site-nav > a,
  .topics-menu > summary,
  .research-menu > summary,
  .projects-menu > summary,
  .site-nav > .about-menu > summary {
    width: 100%;
    min-height: 2.9rem;
    padding: 0.72rem 0.65rem;
    justify-content: flex-start;
    text-align: left;
  }

  .topics-popover,
  .research-popover,
  .projects-popover,
  .about-popover {
    position: static;
    width: 100%;
    margin: 0 0 0.55rem;
    border: 0;
    border-left: 1px solid var(--line);
    box-shadow: none;
  }
}

@media (min-width: 67.5rem) {
  .site-nav { display: flex !important; }
}

/* Öffentliche Methodik-, Korrektur- und Entwicklungsseiten: ein gemeinsamer
   ruhiger Fließtext-Core innerhalb der bestehenden Website-Designsprache. */
.transparency-page .transparency-hero h1 { max-width: 17ch; }
.transparency-page h1,
.transparency-page h2,
.transparency-page h3,
.correction-entry dd a {
  overflow-wrap: anywhere;
  hyphens: auto;
}
.transparency-hero__note {
  max-width: 52rem;
  margin: var(--space-4) 0 0;
  color: var(--ink-soft);
  font-size: clamp(1.03rem, 1.8vw, 1.2rem);
}
.transparency-reading { width: min(calc(100% - 3rem), 58rem); }
.transparency-reading > h2 { max-width: 26ch; }
.method-chain {
  display: flex;
  margin: var(--space-5) 0 var(--space-7);
  padding: 0;
  flex-wrap: wrap;
  gap: 0.65rem;
  list-style: none;
}
.method-chain li {
  display: inline-flex;
  min-height: 2.7rem;
  padding: 0.65rem 0.85rem;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--source) 52%, var(--line));
  background: color-mix(in srgb, var(--source-wash) 54%, var(--cream));
  color: var(--source-text);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.7rem;
  font-weight: 650;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.method-chain li:not(:last-child)::after { margin-left: 0.85rem; content: "→"; }
.method-sequence { border-bottom: 1px solid var(--line); }
.method-sequence > section {
  display: grid;
  padding: clamp(1.35rem, 3vw, 2rem) 0;
  grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
  column-gap: clamp(1.5rem, 5vw, 4rem);
  border-top: 1px solid var(--line);
}
.method-sequence h3 { margin: 0; color: var(--source-text); }
.method-sequence p,
.method-sequence blockquote { grid-column: 2; }
.method-sequence blockquote {
  margin: 0 0 1rem;
  padding: 0.8rem 1rem;
  border-left: 0.2rem solid var(--source);
  background: color-mix(in srgb, var(--source-wash) 55%, var(--cream));
}
.method-sequence blockquote p { margin: 0; color: var(--ink); }
.transparency-list { padding-left: 1.2rem; }
.transparency-list li { margin-bottom: 0.55rem; }
.transparency-link-row { display: flex; margin-top: var(--space-5); flex-wrap: wrap; gap: 0.75rem 1.5rem; }

@media (min-width: 52.01rem) {
  .transparency-page .split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 4rem);
  }
  .transparency-page .split > * { min-width: 0; }
}

@media (max-width: 34rem) {
  .transparency-reading { width: min(calc(100% - 2rem), 58rem); }
  .method-chain { display: grid; grid-template-columns: 1fr; }
  .method-chain li { justify-content: space-between; }
  .method-chain li:not(:last-child)::after { transform: rotate(90deg); }
  .method-sequence > section { grid-template-columns: 1fr; }
  .method-sequence h3,
  .method-sequence p,
  .method-sequence blockquote { grid-column: 1; }
  .method-sequence h3 { margin-bottom: 0.85rem; }
}

.correction-ledger { width: min(calc(100% - 3rem), 64rem); }
.correction-ledger__heading { margin-bottom: var(--space-6); }
.correction-entry {
  display: grid;
  padding: clamp(2rem, 5vw, 3.5rem) 0;
  grid-template-columns: minmax(12rem, 0.42fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 4rem);
  border-top: 1px solid var(--line-strong);
  scroll-margin-top: 7rem;
}
.correction-entry header { align-self: start; }
.correction-entry time {
  color: var(--source-text);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.08em;
}
.correction-entry h3 { margin: 0.75rem 0 0; }
.correction-entry dl,
.correction-entry dd { margin: 0; }
.correction-entry dl > div { padding: 0 0 1.2rem; }
.correction-entry dt {
  margin-bottom: 0.3rem;
  color: var(--source-text);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.68rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.correction-entry dd { color: var(--ink-soft); }
.correction-entry dd a { color: var(--source-text); font-weight: 650; text-underline-offset: 0.15em; }

@media (max-width: 44rem) {
  .correction-ledger { width: min(calc(100% - 2rem), 64rem); }
  .correction-entry { grid-template-columns: 1fr; gap: 1.25rem; }
}

.development-date {
  margin: var(--space-5) 0 0;
  color: var(--ink-soft);
  font-family: Cinzel, Georgia, serif;
  font-size: 0.74rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.security-gates {
  margin: var(--space-6) 0;
  border-bottom: 1px solid var(--line);
}
.security-gates > section {
  display: grid;
  padding: clamp(1.25rem, 3vw, 1.8rem) 0;
  grid-template-columns: minmax(12rem, 0.45fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  border-top: 1px solid var(--line);
}
.security-gates h3,
.security-gates p { margin: 0; }
.security-gates h3 { color: var(--page-accent-text); }
.development-status {
  margin: var(--space-5) 0;
  padding: 1rem 1.15rem;
  border-left: 0.22rem solid var(--page-accent);
  background: color-mix(in srgb, var(--page-accent-wash) 62%, var(--cream));
  color: var(--page-accent-text);
  font-family: Cinzel, Georgia, serif;
  font-size: clamp(0.8rem, 2vw, 0.95rem);
  letter-spacing: 0.045em;
}

@media (max-width: 44rem) {
  .security-gates > section { grid-template-columns: 1fr; gap: 0.7rem; }
  .development-status { overflow-wrap: anywhere; }
}

/* shared-header-contract:start
   Identical in styles.css and public-shell.css; guarded by repository tests.
   Header tokens intentionally do not inherit article-specific theme tokens. */
.site-header.site-header.site-header {
  --ink: #2b2620; --gold: #8a691c; --line: #d9ccb1;
  --paper: #fffdf8; --cream-deep: #f5efe0;
  position: sticky; top: 0; z-index: 30; width: 100%; margin: 0; padding: 0;
  border: 0; border-bottom: 1px solid #d9ccb1;
  background: rgb(252 250 244 / .96); backdrop-filter: blur(12px);
  color: #2b2620; font: 400 1.15rem/1.62 "EB Garamond", Georgia, serif;
  text-align: left; letter-spacing: normal; text-transform: none;
}
.site-header.site-header.site-header::after {
  position: absolute; inset: auto 0 -1px; height: .16rem; content: ""; opacity: .72;
  background: linear-gradient(90deg,#7a6496 0 25%,#945c60 25% 50%,#a8ac68 50% 75%,#d4c69e 75% 100%);
}
.site-header.site-header.site-header .nav-shell {
  position: relative; display: flex; width: min(calc(100% - 3rem),74rem);
  min-height: 4.6rem; margin: 0 auto; padding: 0;
  align-items: center; justify-content: space-between; gap: 1.5rem;
}
.site-header.site-header.site-header .brand {
  flex-shrink: 0; margin: 0; padding: 0; border: 0; color: #2b2620;
  font: 400 .84rem/1.62 Cinzel, Georgia, serif; letter-spacing: .17em;
  text-transform: uppercase; text-decoration: none;
}
.site-header.site-header.site-header .site-nav {
  display: flex; align-items: center; gap: .35rem;
  font: 400 .68rem/1.62 Cinzel, Georgia, serif; letter-spacing: .08em;
  text-transform: uppercase;
}
.site-header.site-header.site-header .site-nav > a,
.site-header.site-header.site-header .site-nav > details > summary {
  display: inline-flex; min-height: 2.75rem; margin: 0; padding: .75rem .7rem;
  align-items: center; border: 0; border-bottom: 2px solid transparent;
  color: #2b2620; background: transparent; font: inherit; letter-spacing: inherit;
  text-transform: inherit; text-decoration: none; cursor: pointer;
}
.site-header.site-header.site-header .site-nav > a:hover,
.site-header.site-header.site-header .site-nav > details > summary:hover,
.site-header.site-header.site-header .site-nav [aria-current="page"] { border-bottom-color: #8a691c; }
.site-header.site-header.site-header .offers-navigation-link {
  color: #8a691c !important; box-shadow: inset 0 -1px 0 rgb(138 105 28 / .72);
}
.site-header.site-header.site-header .site-nav > details { position: relative; }
.site-header.site-header.site-header summary { list-style: none; }
.site-header.site-header.site-header summary::-webkit-details-marker { display: none; }
.site-header.site-header.site-header summary::after { margin-left: .45rem; content: "▾"; }
.site-header.site-header.site-header details[open] > summary::after { content: "▴"; }
.site-header.site-header.site-header [class$="-popover"] {
  position: absolute; top: calc(100% + .35rem); right: 0;
  width: min(24rem,calc(100vw - 2rem)); margin: 0; padding: .55rem;
  border: 1px solid #d9ccb1; background: #fffdf8;
  box-shadow: 0 1.25rem 3rem rgb(43 38 32 / .08);
}
.site-header.site-header.site-header .about-popover { width: min(20rem,calc(100vw - 2rem)); }
.site-header.site-header.site-header [class$="-popover"] a {
  display: block; min-height: 0; margin: 0; padding: .75rem .85rem;
  border: 0; border-left: 4px solid #8a691c; border-radius: .35rem;
  color: #2b2620; background: transparent;
  font: 400 1rem/1.62 "EB Garamond", Georgia, serif;
  letter-spacing: 0; text-transform: none; text-decoration: none;
}
.site-header.site-header.site-header [class$="-popover"] .audhs,
.site-header.site-header.site-header [class$="-popover"] .innenschau { border-left-color: #7a6496; }
.site-header.site-header.site-header [class$="-popover"] .relations,
.site-header.site-header.site-header [class$="-popover"] .traces { border-left-color: #945c60; }
.site-header.site-header.site-header [class$="-popover"] .systems,
.site-header.site-header.site-header [class$="-popover"] .architecture,
.site-header.site-header.site-header [class$="-popover"] .team { border-left-color: #a8ac68; }
.site-header.site-header.site-header [class$="-popover"] .source { border-left-color: #d4c69e; }
.site-header.site-header.site-header [class$="-popover"] a:first-child {
  margin-bottom: .35rem; border-left-color: #8a691c; border-bottom: 1px solid #d9ccb1;
  color: #8a691c; font: 400 .69rem/1.62 Cinzel, Georgia, serif;
  letter-spacing: .08em; text-transform: uppercase;
}
.site-header.site-header.site-header [class$="-popover"] a:hover { background: #f5efe0; }
.site-header.site-header.site-header :is(a,button,summary):focus-visible { outline: 2px solid #8a691c; outline-offset: 3px; }
.site-header.site-header.site-header .site-menu-toggle { display: none; }
@media (max-width: 67.49rem) {
  .site-header.site-header.site-header .nav-shell {
    display: grid; width: min(calc(100% - 2rem),74rem);
    grid-template-columns: minmax(0,1fr) auto; gap: 1rem;
  }
  .site-header.site-header.site-header .site-menu-toggle {
    display: inline-flex; min-height: 2.75rem; margin: 0; padding: .6rem .75rem;
    align-items: center; justify-content: center; gap: .65rem;
    border: 1px solid #d9ccb1; border-radius: 0; color: #2b2620; background: transparent;
    font: 600 .69rem/1 Cinzel, Georgia, serif; letter-spacing: .1em; text-transform: uppercase;
  }
  .site-header.site-header.site-header .site-menu-toggle__icon { display: grid; width: 1rem; gap: .2rem; }
  .site-header.site-header.site-header .site-menu-toggle__icon > span { border-top: 1px solid currentcolor; }
  .site-header.site-header.site-header .site-nav {
    position: absolute; inset: calc(100% + 1px) 0 auto; z-index: 31; width: 100%;
    max-height: calc(100dvh - 5.6rem); margin: 0; padding: .65rem; overflow: auto;
    display: grid; grid-column: 1 / -1; grid-template-columns: 1fr; align-items: stretch; gap: 0;
    border: 1px solid #d9ccb1; border-top: 0; background: #fffdf8;
    box-shadow: 0 1.25rem 3rem rgb(43 38 32 / .08); font-size: .68rem; letter-spacing: .08em;
  }
  .site-header.site-header.site-header[data-navigation-enhanced="true"] .site-nav { display: none; }
  .site-header.site-header.site-header[data-navigation-enhanced="true"] .site-nav.is-open { display: grid; }
  .site-header.site-header.site-header .site-nav > a,
  .site-header.site-header.site-header .site-nav > details > summary {
    width: 100%; min-height: 2.9rem; padding: .72rem .65rem;
    justify-content: flex-start; text-align: left;
  }
  .site-header.site-header.site-header [class$="-popover"] {
    position: static; width: 100%; margin: 0 0 .55rem; padding: .55rem;
    border: 0; border-left: 1px solid #d9ccb1; box-shadow: none;
  }
}
/* shared-header-contract:end */
