:root {
  --linen: #eee7da;
  --brown: #745a33;
  --brown-dark: #4f3c24;
  --gold: #eab62e;
  --sand: #d9b982;
}

* { box-sizing: border-box; }

html { background: var(--linen); color: var(--brown-dark); }

body {
  min-width: 320px;
  margin: 0;
  background-color: var(--linen);
  background-image: url("assets/white-linen.png");
  font: 16px/1.75 Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.legal-header {
  display: flex;
  min-height: 114px;
  padding: 0 20px;
  align-items: center;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid rgba(116, 90, 51, 0.12);
  box-shadow: 0 2px 10px rgba(79, 60, 36, 0.08);
}

.legal-header a {
  width: min(940px, 100%);
  margin: 0 auto;
}

.legal-header img {
  display: block;
  width: 224px;
  height: auto;
}

.legal-wrap {
  width: min(940px, calc(100% - 40px));
  margin: 0 auto;
  padding: 56px 0 64px;
}

.legal-card {
  padding: clamp(30px, 6vw, 64px);
  color: var(--sand);
  background: var(--brown);
  box-shadow: 0 16px 38px rgba(79, 60, 36, 0.2);
}

.legal-card h2 {
  margin: 2.2rem 0 1rem;
  color: #f3d79f;
  font-size: clamp(1.55rem, 4vw, 2.15rem);
  font-weight: 400;
  line-height: 1.25;
}

.legal-card h2:first-child { margin-top: 0; }

.legal-card h3 {
  margin: 1.8rem 0 0.6rem;
  color: var(--gold);
  font-size: 1.16rem;
  line-height: 1.4;
}

.legal-card p { margin: 0 0 1rem; }

.legal-card ul {
  margin: 0 0 1.2rem;
  padding-left: 1.4rem;
}

.legal-card a { color: #ffe09a !important; overflow-wrap: anywhere; }

.back-link {
  display: inline-block;
  margin-top: 28px;
  color: var(--brown);
  font-weight: 700;
  text-decoration-color: var(--gold);
  text-underline-offset: 4px;
}

.legal-footer {
  display: flex;
  min-height: 150px;
  padding: 34px 20px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: #6f542a;
  background: var(--sand);
  border-top: 5px solid var(--gold);
  text-align: center;
}

.legal-footer address { font-size: 0.91rem; font-style: normal; line-height: 1.65; }

.legal-footer nav { display: flex; gap: 22px; flex-wrap: wrap; justify-content: center; }

.legal-footer a { color: #5b431f; font-size: 0.87rem; font-weight: 700; text-underline-offset: 3px; }

@media (max-width: 680px) {
  .legal-header { min-height: 96px; }
  .legal-header a { display: flex; justify-content: center; }
  .legal-header img { width: 186px; }
  .legal-wrap { width: min(100% - 28px, 940px); padding: 34px 0 42px; }
  .legal-card { padding: 34px 26px; }
}

