/* Brothers in Brass: keine externen Schriften, kein Tracking, keine Cookies. */
:root {
  --green: #0B3B28;
  --green-deep: #072a1c;
  --green-line: #1a5139;
  --gold: #E8B23C;
  --gold-soft: #F5DFA0;
  --cream: #F3EBD8;
  --cream-dim: #c9c3b2;
  --display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --text: Arial, "Helvetica Neue", Helvetica, sans-serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--green);
  color: var(--cream);
  font-family: var(--text);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--gold); text-decoration: none; border-bottom: 1px solid rgba(232,178,60,.4); }
a:hover { border-bottom-color: var(--gold); }
a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* Hero */
.hero {
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 64px 24px 48px;
  background:
    radial-gradient(ellipse at 50% 38%, rgba(232,178,60,.10) 0%, rgba(11,59,40,0) 55%),
    linear-gradient(180deg, var(--green) 0%, var(--green-deep) 100%);
  position: relative;
}
.wrap { width: 100%; max-width: 880px; margin: 0 auto; }
.status {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(232,178,60,.45);
  border-radius: 999px;
  padding: 7px 16px;
}
.status::before {
  content: "";
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  animation: pulse 2.4s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .status::before { animation: none; } html { scroll-behavior: auto; } }

h1 {
  font-family: var(--display);
  font-weight: 700;
  text-transform: uppercase;
  line-height: .92;
  letter-spacing: .01em;
  margin: 32px 0 0;
  font-size: clamp(56px, 13vw, 148px);
  font-stretch: condensed;
}
h1 .line1 { display: block; color: var(--cream); }
h1 .line2 { display: block; color: var(--gold); }
h1 .in { font-size: .5em; vertical-align: .55em; letter-spacing: .08em; margin-right: .12em; color: var(--gold-soft); }

.rule {
  width: 96px; height: 2px;
  background: var(--gold);
  margin: 36px 0 28px;
}
.lead {
  max-width: 620px;
  font-size: clamp(18px, 2.4vw, 21px);
  color: var(--cream);
}
.lead + .lead { margin-top: 14px; color: var(--cream-dim); font-size: 17px; }

.topics {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 40px;
}
.topics li {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-soft);
  background: rgba(232,178,60,.07);
  border: 1px solid var(--green-line);
  padding: 8px 14px;
  border-radius: 3px;
}

/* Footer */
.foot-nav {
  border-top: 1px solid var(--green-line);
  background: var(--green-deep);
  padding: 22px 24px;
  font-size: 14px;
  color: var(--cream-dim);
}
.foot-nav .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; }
.foot-nav nav { display: flex; gap: 24px; }

/* Rechtliches */
.legal {
  background: var(--green-deep);
  padding: 72px 24px 88px;
  border-top: 1px solid var(--green-line);
}
.legal h2 {
  font-family: var(--display);
  font-stretch: condensed;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--gold);
  font-size: 28px;
  margin-bottom: 24px;
}
.legal h3 {
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold-soft);
  margin: 28px 0 8px;
}
.legal p, .legal address { font-style: normal; color: var(--cream-dim); font-size: 15px; max-width: 680px; }
.legal p + p { margin-top: 10px; }
.legal .back { display: inline-block; margin-top: 36px; font-size: 14px; }
#datenschutz { margin-top: 0; }
.legal + .legal { padding-top: 64px; }

@media (max-width: 560px) {
  body { font-size: 16px; }
  .hero { padding: 48px 16px 40px; }
  .legal, .foot-nav { padding-left: 16px; padding-right: 16px; }
  .foot-nav .wrap { flex-direction: column; }
}

/* Sprachumschalter in der Fußzeile */
.foot-nav .lang { display: flex; gap: 10px; align-items: center; }
.foot-nav .lang a[aria-current="true"] { color: var(--cream); border-bottom-color: transparent; pointer-events: none; }
.foot-nav .lang span { color: var(--green-line); }
.foot-nav .links { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }

/* Unterseite Rechtliches */
.topbar {
  background: var(--green);
  border-bottom: 1px solid var(--green-line);
  padding: 20px 24px;
}
.topbar a.brand {
  font-family: var(--display);
  font-stretch: condensed;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 22px;
  color: var(--cream);
  border-bottom: none;
}
.topbar a.brand span { color: var(--gold); }
.legal-page { min-height: calc(100vh - 140px); }
.legal-page .legal:first-child { border-top: none; }
.legal .note { margin-top: 14px; font-size: 14px; color: var(--cream-dim); }

/* Hinweis zur Kanalsprache (englische Seite) */
.langnote { margin-top: 28px; font-size: 14px; letter-spacing: .02em; color: var(--cream-dim); }

/* Weiterleitungsseite */
.redirect { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; text-align: center; }
.redirect p { color: var(--cream-dim); margin-top: 12px; }
.redirect .choices { display: flex; gap: 24px; justify-content: center; margin-top: 20px; font-size: 18px; }

@media (max-width: 560px) {
  .topbar { padding: 16px; }
}
