:root{
  --sage:#a9c1ae; --sage-light:#c4d5c6;
  --ink:#1c1c1c; --text:#2b2b2b;
  --maxw:820px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);
  font-family:'Nunito',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.5;font-size:17px}
.page{max-width:var(--maxw);margin:0 auto;padding:0 24px 48px}

/* Sprachwahl */
.langbar{max-width:var(--maxw);margin:0 auto;padding:14px 24px 0;text-align:right;font-size:14px}
.langbar a{display:inline-block;padding:5px 12px;border-radius:6px;text-decoration:none;
  color:var(--ink);border:1px solid #d0d9d0;font-weight:700;margin-left:6px}
.langbar a.active{background:var(--sage);border-color:var(--sage)}
.langbar a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.langbar a.home-link{border:none;font-weight:600;color:#767676;border-radius:0}
.langbar a.legal-link{border:none;font-weight:600;color:#767676;padding-right:14px;
  margin-right:8px;border-right:1px solid #d0d9d0;border-radius:0}

.brand{text-align:center;padding:20px 0 8px}
.brand-logo{width:100%;max-width:280px;height:auto}

.claim{text-align:center;font-weight:800;color:var(--ink);font-size:24px;margin:28px 0 22px;letter-spacing:-.01em}
.intro{text-align:center;max-width:680px;margin:0 auto;font-size:19px}

.band{background:var(--sage);text-align:center;font-weight:800;color:var(--ink);
  font-size:26px;padding:16px 12px;margin:56px -24px 40px;letter-spacing:-.01em}

.partners{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:8px 0 4px}
.partners > div{flex:1 1 100px;text-align:center;min-width:90px}
.partner-logo{display:inline-block;vertical-align:middle;height:auto;width:auto;max-height:32px;max-width:120px}
.partner-logo-square{max-height:50px;max-width:70px}
.partners a{display:inline-block;line-height:0}
.partners a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

.body-text{text-align:center;max-width:710px;margin:34px auto 0;font-size:19px}

.features{display:flex;gap:20px;margin:44px 0 0;flex-wrap:wrap;justify-content:center}
.feature{flex:1 1 160px;max-width:200px;text-align:center}
.feature svg{width:64px;height:64px;color:var(--ink);margin-bottom:14px}
.feature p{margin:0;font-size:16px}

.foot-band{background:var(--sage);height:22px;margin:56px -24px 40px}
.footer{display:flex;align-items:stretch;flex-wrap:wrap}
.footer .col{flex:1 1 300px;padding:0 32px}
.footer .col.left{text-align:center;border-right:1px solid #cfcfcf}
.footer-logo{max-width:200px}
.foot-cta{font-weight:800;color:var(--ink);margin-top:18px;font-size:19px}
.footer .col.right{font-size:16px;line-height:1.7}
.footer .col.right strong{color:var(--ink)}
.footer .col.right .addr{margin-bottom:18px}
.footer a{color:inherit}

.legal-notice{color:#8a8a8a;font-size:13px;line-height:1.6;text-align:center;
  max-width:710px;margin:32px auto 0}

.legal-h1{text-align:left;font-weight:800;color:var(--ink);font-size:32px;
  margin:8px 0 22px;letter-spacing:-.01em}
.legal-sub{font-weight:800;color:var(--ink);font-size:19px;margin:0 0 24px}
.legal-company{margin:0 0 30px;font-size:17px;line-height:1.6;color:var(--text)}
.legal-fields{margin:0 0 8px;display:flex;flex-direction:column;gap:22px}
.legal-fields dt{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;
  letter-spacing:.04em;color:#8a8a8a}
.legal-fields dd{margin:4px 0 0;font-size:17px;color:var(--ink)}
.legal-fields a{color:#3a7a3a}

@media (max-width:640px){
  .band{font-size:22px}.claim{font-size:21px}
  .intro,.body-text{font-size:17px}
  .footer .col.left{border-right:none;border-bottom:1px solid #cfcfcf;padding-bottom:28px;margin-bottom:24px}
  .legal-h1{font-size:26px}
}
@media print{
  .langbar{display:none}
  body{font-size:12pt}
  .band,.foot-band{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
