/* Shared navigation and reading styles for the active English/German study. */
.language-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 40px; flex-shrink: 0; }
.language-switch[hidden] { display: none; }
.language-switch button { border: 0; background: transparent; border-radius: 30px; padding: 10px 12px; min-height: 38px; font-size: 12px; line-height: 1.2; }
.language-switch button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.language-switch button:hover { background: var(--cream); color: var(--ink); }
.language-switch button:focus-visible { outline-offset: 2px; }
.footer { flex-wrap: wrap; }
.footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.footer-links a { padding-block: 10px; }
:lang(de) .hero-copy > p { max-width: 680px; }
:lang(de) .panel-copy, :lang(de) .card-copy { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
:lang(de) .preview-top, :lang(de) .preview-footer { flex-wrap: wrap; }
.legal-page { max-width: 860px; padding-block: 76px 110px; }
.legal-page h1 { font-size: clamp(42px, 6vw, 80px); overflow-wrap: anywhere; }
.legal-page .legal-intro { font-size: 20px; color: var(--muted); margin-top: 24px; max-width: 62ch; }
.legal-page section { margin-top: 42px; max-width: 70ch; }
.legal-page h2 { font-size: 28px; line-height: 1.2; margin-bottom: 16px; }
.legal-page p, .legal-page address { font-size: 18px; line-height: 1.65; }
.legal-page p + p { margin-top: 16px; }
.legal-page address { font-style: normal; }
.legal-draft { margin-top: 32px; padding: 24px; border-radius: 12px; background: var(--cream); }
.legal-draft strong { display: block; margin-bottom: 8px; font-weight: 600; }
.legal-page .legal-updated { font-size: 14px; color: var(--muted); margin-top: 42px; }
.legal-body .footer { border-top: 1px solid var(--line); }
@media (max-width: 1000px) { .nav-links { gap: 16px; } }
@media (max-width: 700px) {
  .nav { flex-wrap: wrap; gap: 12px; padding-block: 18px; }
  .nav-links { margin-left: auto; gap: 12px; }
  .language-switch button { min-height: 38px; padding-inline: 10px; }
  .legal-page { padding-block: 44px 70px; }
  .legal-page h2 { font-size: 25px; }
  .legal-page p, .legal-page address { font-size: 17px; }
  .legal-draft { padding: 20px; }
}
@media (max-width: 480px) {
  .nav > .brand { flex: 1 0 100%; }
  .nav-links { width: 100%; justify-content: space-between; margin-left: 0; }
  .nav .button { font-size: 14px; padding-inline: 18px; }
  .preview-job { grid-template-columns: 14px minmax(0, 1fr); }
  .preview-job small { grid-column: 2; padding-bottom: 5px; }
}
