/* ============================================================
   Evolvio — shared legal-page styles (Impressum / Datenschutz / AGB)
   Brand: Navy #0a3a6b · Green #5fb56b · Mist #f4f7fb
   ============================================================ */
:root{
  --navy-900:#051d33; --navy-800:#072a4c; --navy:#0a3a6b;
  --green:#5fb56b; --green-bright:#6cc274; --lime:#a3d65a;
  --mist:#f4f7fb; --ink:#0d1b2e; --line:#e3ecf6;
  --muted:#5d6f8d;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--mist); color:var(--ink); line-height:1.65;
  font-size:16px; -webkit-font-smoothing:antialiased;
}
a{color:#1c7a3e; text-decoration:underline; text-underline-offset:2px;}
a:hover{color:var(--green);}

/* ---- Top bar ---- */
.legal-top{
  position:sticky; top:0; z-index:20;
  background:rgba(7,42,76,.96); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.08);
  padding:16px clamp(20px,5vw,56px);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.legal-top img{height:28px; width:auto; display:block;}
.legal-top .back{
  color:rgba(255,255,255,.82); font-size:14px; font-weight:600;
  text-decoration:none; display:inline-flex; align-items:center; gap:7px;
}
.legal-top .back:hover{color:#fff;}
.legal-top .back svg{width:16px; height:16px;}

/* ---- Document shell ---- */
.legal-wrap{max-width:780px; margin:0 auto; padding:clamp(40px,7vw,80px) clamp(20px,5vw,40px) 100px;}
.legal-kicker{
  font-size:12.5px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
  color:#1c7a3e; margin-bottom:14px;
}
.legal-wrap h1{
  font-family:"Fraunces",Georgia,serif; font-weight:600; color:var(--navy);
  font-size:clamp(30px,5vw,46px); line-height:1.1; letter-spacing:-.015em; margin-bottom:14px;
}
.legal-intro{color:var(--muted); font-size:17px; max-width:60ch; margin-bottom:8px;}
.legal-updated{color:#8094ad; font-size:13.5px; margin-top:20px;}

.legal-wrap h2{
  font-family:"Fraunces",Georgia,serif; font-weight:600; color:var(--navy);
  font-size:clamp(20px,2.6vw,26px); line-height:1.2; margin:44px 0 14px;
  padding-top:26px; border-top:1px solid var(--line);
}
.legal-wrap h3{
  font-size:16px; font-weight:700; color:var(--navy); margin:24px 0 8px;
}
.legal-wrap p{margin:0 0 14px; color:#2c3b52;}
.legal-wrap ul{margin:0 0 16px; padding-left:22px;}
.legal-wrap li{margin-bottom:7px; color:#2c3b52;}
.legal-wrap strong{color:var(--navy); font-weight:700;}

/* ---- Fill-in placeholder ---- */
.ph{
  background:rgba(163,214,90,.22); border-bottom:2px solid var(--green);
  color:#2a5d33; font-weight:700; padding:1px 7px; border-radius:5px;
  white-space:nowrap;
}
.fill-note{
  background:#fff; border:1px solid var(--line); border-left:4px solid var(--green);
  border-radius:12px; padding:18px 22px; margin:0 0 32px;
  font-size:14px; color:var(--muted); box-shadow:0 12px 30px -22px rgba(5,29,51,.4);
}
.fill-note strong{color:#1c7a3e;}
.fill-note code{
  background:rgba(95,181,107,.16); padding:1px 6px; border-radius:5px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; color:#2a5d33;
}

/* ---- Address / contact block ---- */
.legal-card{
  background:#fff; border:1px solid var(--line); border-radius:16px;
  padding:24px 26px; margin:6px 0 18px; box-shadow:0 18px 50px -34px rgba(5,29,51,.35);
}
.legal-card p{margin-bottom:6px;}

/* ---- Footer ---- */
.legal-foot{
  background:var(--navy-900); color:rgba(232,240,250,.6);
  padding:34px clamp(20px,5vw,56px); text-align:center; font-size:13.5px;
}
.legal-foot a{color:rgba(232,240,250,.75);}
.legal-foot .lf-links{display:flex; gap:22px; justify-content:center; flex-wrap:wrap; margin-bottom:14px;}
.legal-foot .lf-links a{font-weight:600; text-decoration:none;}
.legal-foot .lf-links a:hover{color:#fff;}
