/* Experten-Place Energie – Legal-Page Kachel-Komponenten (Sprint: Impressum Kachel-Layout) */
.legal-page {
  --lp-ink: var(--bg, #111111); --lp-deep: var(--navy, #12233b); --lp-accent: var(--accent, #9a8976);
  --lp-accent-mid: var(--accent-lt, #bdb3a2); --lp-accent-light: var(--pale, #ccc6c0);
  --lp-text: var(--text, #ccc6c0); --lp-text-dim: #a89989;
  --lp-shine-top: rgba(204,198,192,.22); --lp-shine-mid: rgba(189,179,162,.14);
  max-width: 760px; margin-inline: auto; padding: 3rem 0 2rem;
}
.legal-page .ep-badge {
  display: inline-flex; align-items: center; gap: .65rem;
  background: linear-gradient(180deg,#2f2f35 0%,#26262a 100%);
  border: 1px solid rgba(154,137,118,.4); border-radius: 100px;
  padding: .5rem 1.25rem; font-size: 13px; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; color: var(--lp-accent-mid);
  margin-bottom: 1.5rem; opacity: 0; animation: ep-fade-up .8s .2s forwards;
  box-shadow: inset 0 1px 0 var(--lp-shine-mid), 0 2px 12px rgba(0,0,0,.35);
}
.legal-page h1 {
  font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.4rem,7vw,5rem);
  line-height: 1; letter-spacing: .02em; margin-bottom: 1rem;
  opacity: 0; animation: ep-fade-up .8s .3s forwards;
}
.legal-page h1 .accent {
  background: linear-gradient(115deg,var(--lp-accent-light) 0%,var(--lp-accent-mid) 45%,var(--lp-accent) 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 12px rgba(18,35,59,.35));
}
.legal-page .ep-lede {
  color: var(--lp-text-dim); font-weight: 300; line-height: 1.7; max-width: 60ch;
  margin-bottom: 2.5rem; opacity: 0; animation: ep-fade-up .8s .4s forwards;
}
.legal-page .ep-divider {
  width: 60px; height: 2px; margin: 0 0 2.5rem;
  background: linear-gradient(90deg,var(--lp-accent-light),var(--lp-accent) 40%,var(--lp-deep) 100%);
  box-shadow: 0 0 12px rgba(18,35,59,.4); opacity: 0; animation: ep-fade-up .8s .5s forwards;
}
.legal-page .ep-section {
  position: relative;
  background: linear-gradient(168deg,#33333a 0%,#2b2b2f 48%,#262629 100%);
  border: 1px solid rgba(154,137,118,.28); border-radius: 14px;
  padding: 1.75rem; margin-bottom: 1.25rem;
  box-shadow: inset 0 1px 0 var(--lp-shine-top), inset 0 -1px 0 rgba(0,0,0,.4), 0 6px 20px rgba(0,0,0,.35);
  opacity: 0; animation: ep-fade-up .8s .6s forwards;
}
.legal-page .ep-section::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 40%;
  background: linear-gradient(180deg,rgba(204,198,192,.05) 0%,transparent 100%);
  pointer-events: none; border-radius: 14px 14px 0 0;
}
.legal-page .ep-section h2 {
  font-family: 'Syne', sans-serif; font-size: 1rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--lp-accent-light);
  margin: 0 0 1rem; position: relative; z-index: 1;
  hyphens: auto; overflow-wrap: anywhere;
}
.legal-page .ep-section p, .legal-page .ep-section address {
  font-style: normal; color: var(--lp-text); line-height: 1.75;
  font-size: .98rem; font-weight: 300; position: relative; z-index: 1; margin: 0;
}
.legal-page .ep-section p + p { margin-top: .9rem; }
.legal-page .ep-section p + .ep-kv,
.legal-page .ep-section .ep-kv + p { margin-top: .9rem; }
.legal-page .ep-kv {
  display: grid; grid-template-columns: minmax(110px,max-content) 1fr;
  gap: .35rem 1.25rem; position: relative; z-index: 1; margin: 0;
}
.legal-page .ep-kv dt {
  color: var(--lp-text-dim); font-size: .82rem; letter-spacing: .06em;
  text-transform: uppercase; align-self: center;
}
.legal-page .ep-kv dd { color: var(--lp-text); margin: 0; }
.legal-page .ep-nowrap { white-space: nowrap; }
.legal-page a { color: var(--lp-accent-mid); text-decoration: none; transition: color .2s; }
.legal-page a:hover { color: var(--lp-accent-light); text-decoration: underline; }
.legal-page .ep-kv dd a, .legal-page .ep-back-link { display: inline-flex; align-items: center; min-height: 44px; }
.legal-page .ep-back-link {
  gap: .5rem; margin-top: 2rem; font-size: .85rem; letter-spacing: .06em;
  text-transform: uppercase; opacity: 0; animation: ep-fade-up .8s .8s forwards;
}
@keyframes ep-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page .ep-badge, .legal-page h1, .legal-page .ep-lede, .legal-page .ep-divider,
  .legal-page .ep-section, .legal-page .ep-back-link { animation: none; opacity: 1; }
}
@media (max-width: 600px) {
  .legal-page { padding-inline: 1rem; }
  .legal-page .ep-section { padding: 1.4rem 1.25rem; }
  .legal-page .ep-kv { grid-template-columns: 1fr; gap: 0; }
  .legal-page .ep-kv dt { margin-top: .6rem; }
  .legal-page .ep-kv dt:first-child { margin-top: 0; }
}
