:root {
  --bg: #ffffff;          /* clean white, like juliagersdorf.de */
  --panel: #f2ece3;       /* warm beige accent (from the flyer/site) */
  --fg: #333333;          /* charcoal body text */
  --heading: #1c1a17;     /* near-black headings */
  --muted: #8a8073;       /* warm grey */
  --accent: #2f2a24;      /* deep charcoal CTA */
  --accent-fg: #ffffff;
  --line: rgba(28, 26, 23, 0.12);
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--fg);
  font-family: "Montserrat", "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;
  line-height: 1.7;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.station {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: clamp(2.5rem, 9vw, 4.5rem) 1.5rem 2.5rem;
  flex: 1 0 auto;
}

.station__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--muted);
  margin: 0 0 1rem;
}

h1.wordmark {
  color: var(--heading);
  font-weight: 700;
  font-size: clamp(2.2rem, 9vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: -0.005em;
  margin: 0 0 0.6rem;
}

.station__sub {
  font-size: clamp(1rem, 3.6vw, 1.15rem);
  color: var(--fg);
  margin: 0 0 2.25rem;
}

/* Feather divider, echoing the site's decorative dividers */
.divider {
  border: none;
  height: 26px;
  margin: 2.25rem 0;
  background: center / 30px no-repeat
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 48" fill="none" stroke="%238a8073" stroke-width="1.3"><path d="M12 2v44"/><path d="M12 8c-5 0-8 3-8 3M12 8c5 0 8 3 8 3M12 16c-5 0-8 3-8 3M12 16c5 0 8 3 8 3M12 24c-5 0-8 3-8 3M12 24c5 0 8 3 8 3M12 32c-4 0-6 2-6 2M12 32c4 0 6 2 6 2"/></svg>');
}

.controls {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 2.5rem;
  flex-wrap: wrap;
}

.btn {
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 999px;
  padding: 0.8rem 1.7rem;
  background: var(--accent);
  color: var(--accent-fg);
  cursor: pointer;
  transition: transform 0.08s ease, opacity 0.15s ease;
}
.btn:hover { opacity: 0.9; }
.btn:active { transform: scale(0.97); }

.status {
  font-size: 0.85rem;
  color: var(--muted);
}

.transcript h2 {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--muted);
  margin: 0 0 1rem;
}

.transcript p {
  margin: 0 0 1rem;
  font-size: 1.1rem;
  color: var(--fg);
}

.tagline {
  font-size: 1.05rem;
  color: var(--muted);
  margin: 2.5rem 0 0;
}

/* Soft, understated footer photo — smaller & gentler than the flyer's band */
.photo-band {
  flex-shrink: 0;
  height: clamp(120px, 24vw, 180px);
  background: url("../Krimiritt.jpeg") center 62% / cover no-repeat;
  opacity: 0.92;
}

/* Full-screen tap-to-play overlay (only when autoplay is blocked) */
.overlay {
  position: fixed;
  inset: 0;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  text-align: center;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.97);
  color: var(--heading);
  cursor: pointer;
  z-index: 10;
}
.overlay.is-visible { display: flex; }

.overlay__icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
}
.overlay__icon svg { width: 36px; height: 36px; fill: var(--accent-fg); margin-left: 5px; }

.overlay__text {
  font-size: 1.25rem;
  font-weight: 500;
  max-width: 20ch;
}
