:root {
  color-scheme: light;
  --ink: #123047;
  --muted: #5e7485;
  --line: #dce8ea;
  --teal: #0f766e;
  --teal-dark: #075f5b;
  --blue: #0f6c9c;
  --surface: #ffffff;
  --soft: #eff8f7;
}

* { box-sizing: border-box; }
html { background: #f5fafb; }
body {
  margin: 0;
  color: var(--ink);
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  background:
    linear-gradient(140deg, rgba(15, 118, 110, 0.08), transparent 32%),
    linear-gradient(320deg, rgba(15, 108, 156, 0.08), transparent 34%),
    #f7fbfc;
  line-height: 1.75;
}
button, a { font: inherit; }
a { color: var(--blue); }
.legal-header {
  color: #fff;
  background: linear-gradient(125deg, #075f5b, #0f766e 48%, #0f6c9c);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}
.legal-nav, .legal-hero, .legal-main, .legal-footer {
  width: min(100% - 32px, 980px);
  margin-inline: auto;
}
.legal-nav {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.legal-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}
.legal-brand img {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
}
.legal-links { display: flex; align-items: center; gap: 18px; }
.legal-links a { color: #e8fffd; text-decoration: none; font-size: 0.94rem; font-weight: 700; }
.legal-hero { padding: 58px 0 50px; }
.legal-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.65rem);
  line-height: 1.14;
  letter-spacing: 0;
}
.legal-hero p {
  max-width: 730px;
  margin: 18px 0 0;
  color: #dff7f5;
  font-size: clamp(1rem, 2vw, 1.15rem);
}
.legal-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 0;
}
.language-switcher { display: flex; flex-wrap: wrap; gap: 8px; }
.language-button, .print-button {
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: var(--surface);
  cursor: pointer;
  font-weight: 700;
}
.language-button.is-active { color: #fff; border-color: var(--teal); background: var(--teal); }
.print-button:hover, .language-button:not(.is-active):hover { border-color: var(--teal); color: var(--teal-dark); }
.legal-main { padding-bottom: 64px; }
.policy-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-bottom: 16px;
  border: 1px solid #bfe3df;
  border-radius: 8px;
  background: #bfe3df;
}
.policy-meta div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  background: var(--soft);
}
.policy-section, .support-section {
  padding: 24px;
  margin-bottom: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 12px 30px rgba(17, 55, 72, 0.05);
}
.policy-section h2, .support-section h2 {
  margin: 0 0 12px;
  color: var(--teal-dark);
  font-size: clamp(1.08rem, 2vw, 1.3rem);
}
.policy-section p, .support-section p { margin: 0 0 12px; color: #334e5e; }
.policy-section p:last-child, .support-section p:last-child { margin-bottom: 0; }
.governing-note {
  padding: 18px 20px;
  border-inline-start: 4px solid var(--teal);
  color: #174b4a;
  background: #e7f7f4;
  font-weight: 700;
}
.contact-list { margin: 0; }
.contact-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.3fr) 1fr;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.contact-row:last-child { border-bottom: 0; }
.contact-row dt { color: var(--muted); font-weight: 700; }
.contact-row dd { margin: 0; overflow-wrap: anywhere; }
.primary-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 7px;
  color: #fff;
  background: var(--teal);
  text-decoration: none;
  font-weight: 800;
}
.legal-footer {
  padding: 24px 0 36px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.9rem;
  text-align: center;
}
@media (max-width: 680px) {
  .legal-nav { align-items: flex-start; padding: 14px 0; }
  .legal-links { flex-direction: column; align-items: flex-end; gap: 4px; }
  .legal-hero { padding: 40px 0 36px; }
  .legal-controls { align-items: stretch; }
  .language-switcher { flex: 1; }
  .language-button { flex: 1; min-width: 70px; }
  .policy-meta { grid-template-columns: 1fr; }
  .policy-section, .support-section { padding: 18px; }
  .contact-row { grid-template-columns: 1fr; gap: 2px; }
}
@media print {
  body { background: #fff; }
  .legal-nav, .legal-controls, .legal-footer { display: none; }
  .legal-header { color: #000; background: #fff; }
  .legal-hero { padding: 20px 0; }
  .legal-hero p { color: #333; }
  .policy-section, .support-section { box-shadow: none; break-inside: avoid; }
}
