/* Impressum & Datenschutz — centered, constrained width, prose-friendly */
.legal-wrap{ max-width:var(--max); margin:0 auto; padding:0 var(--gap) }

/* Essay content: readable measure on a legal page (override shared 640px) */
.legal-wrap .essay{ max-width:720px }
.legal-wrap .essay h3{
  font-family:var(--font-display); font-weight:900;
  font-size:clamp(1.1rem, 1.6vw, 1.4rem); text-transform:uppercase;
  letter-spacing:.02em; margin:2.4rem 0 .8rem;
}
.legal-wrap .essay p + p{ margin-top:1rem }

/* Lede above the address block */
.legal-lede{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text-light);
  margin-bottom:1.8rem;
}

/* Imprint address block — label / value list */
.legal-block{
  display:grid; grid-template-columns:minmax(160px, 200px) 1fr;
  gap:.9rem clamp(20px, 3vw, 40px);
  margin:1rem 0 2.4rem;
  padding:1.6rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.legal-block dt{
  font-family:var(--font-mono); font-size:.65rem; letter-spacing:.18em;
  color:var(--text-light); text-transform:uppercase; padding-top:.2rem;
}
.legal-block dd{
  font-family:var(--font-sans); font-size:1rem; line-height:1.55; margin:0;
}
.legal-block dd a{ border-bottom:1px solid var(--line-strong); }
.legal-block dd a:hover{ color:var(--accent); border-color:var(--accent) }

/* Third-party services list */
.legal-thirdparty{
  list-style:none; padding:0; margin:1rem 0 1.5rem;
  border-top:1px solid var(--line);
}
.legal-thirdparty li{
  padding:.85rem 0; border-bottom:1px solid var(--line);
  font-size:.95rem; line-height:1.55;
}
.legal-thirdparty a{ color:var(--accent); border-bottom:1px solid transparent; }
.legal-thirdparty a:hover{ border-color:var(--accent) }

.legal-contact{
  margin-top:2rem; padding:1rem 1.2rem;
  background:var(--surface); border-left:2px solid var(--accent);
  font-size:.95rem;
}

.legal-updated{
  max-width:720px; margin:2rem auto 0;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--text-light);
  padding:1.5rem 0; border-top:1px solid var(--line); text-align:right;
}

@media (max-width:640px){
  .legal-block{ grid-template-columns:1fr; gap:.2rem 0 }
  .legal-block dt{ margin-top:1rem }
}
