/* Shared About-style shell: sticky glassy nav, cyan→green hero, dark
   footer, Inter body typography. Used by every non-main landing page
   (impressum, datenschutz, dsgvo, agb, partner, kontakt, ueber-uns,
   about, demo) so they read as one system. */

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:#0F172A;background:#fff;
  font-size:16px;line-height:1.5}
.serif{font-family:'Fraunces',Georgia,serif}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;line-height:1.15}

/* ---- sticky glassy header ---- */
.abt-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #E2E8F0}
.abt-header .in{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,32px);
  display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:14px;flex-wrap:wrap}
.abt-logo{display:flex;align-items:center;gap:9px}
.abt-logo svg{height:32px;width:32px;flex-shrink:0;display:block}
.abt-logo span{font-size:20px;font-weight:800;letter-spacing:-.02em;color:#0F172A}
.abt-logo span span{color:#15803D}
.abt-nav{display:flex;align-items:center;gap:clamp(10px,2vw,22px);flex-wrap:wrap;justify-content:flex-end}
.abt-nav a.nav-a{color:#334155;font-size:14px;font-weight:500;transition:color .12s}
.abt-nav a.nav-a:hover{color:#0F172A}
.abt-nav a.btn-p{display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#16A34A,#15803D);color:#fff;padding:11px 18px;border-radius:12px;
  font-weight:600;font-size:14px;box-shadow:0 16px 32px -16px rgba(22,163,74,.30);
  transition:box-shadow .12s}
.abt-nav a.btn-p:hover{box-shadow:0 20px 40px -16px rgba(22,163,74,.45)}
/* Mobile header: on narrow screens the wrap-flex nav pushes the CTA
   onto its own row and the nav links onto a third row. Drop both so
   sub-pages show only the wordmark — matches the landing behaviour. */
@media(max-width:720px){
  .abt-nav{display:none}
  .abt-header .in{min-height:56px}
}

/* ---- hero: chip + centered heading + lead ---- */
.abt-hero{background:linear-gradient(180deg,#ECFEFF 0%,#F0FDF4 45%,#fff 100%)}
.abt-hero .in{max-width:820px;margin:0 auto;padding:clamp(44px,7vw,80px) clamp(16px,4vw,32px) clamp(28px,4vw,48px);text-align:center}
.abt-hero .chip{display:inline-flex;align-items:center;gap:6px;background:#F0FDF4;color:#15803D;
  padding:6px 13px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em}
.abt-hero h1{font-size:clamp(30px,5.4vw,52px);font-weight:800;letter-spacing:-.03em;
  margin:20px auto 0;max-width:780px;text-wrap:balance}
.abt-hero p.lead{font-size:clamp(15px,1.7vw,18px);color:#475569;line-height:1.6;
  margin:20px auto 0;max-width:640px;text-wrap:pretty}

/* back-to-home slim link above the hero (used on legal pages) */
.abt-back{max-width:1180px;margin:0 auto;padding:16px clamp(16px,4vw,32px) 0}
.abt-back a{display:inline-flex;align-items:center;gap:6px;color:#15803D;font-size:14px;font-weight:600}
.abt-back svg{width:15px;height:15px}
.abt-back a:hover{color:#0F172A}

/* ---- body prose block for legal / contact / partner content ---- */
.abt-prose{max-width:800px;margin:0 auto;padding:clamp(32px,5vw,56px) clamp(16px,4vw,32px) clamp(48px,7vw,80px);color:#334155}
.abt-prose h2{font-size:clamp(22px,2.6vw,28px);font-weight:800;margin:36px 0 10px;color:#0F172A}
.abt-prose h2:first-child{margin-top:0}
.abt-prose h3{font-size:17px;font-weight:700;margin:22px 0 6px;color:#0F172A}
.abt-prose p{margin:0 0 12px;line-height:1.65;font-size:16px}
.abt-prose ul,.abt-prose ol{margin:0 0 14px;padding-left:22px;line-height:1.65}
.abt-prose li{margin:0 0 6px}
.abt-prose a{color:#15803D;font-weight:600;border-bottom:1px solid rgba(21,128,61,.25)}
.abt-prose a:hover{color:#0F172A;border-color:#0F172A}
.abt-prose strong{color:#0F172A;font-weight:700}
.abt-prose .meta{font-size:13px;color:#64748B;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.abt-prose .card{background:#F8FAFC;border:1px solid #E2E8F0;border-radius:16px;padding:22px 24px;margin:18px 0}
.abt-prose .card h2,.abt-prose .card h3{margin-top:0}

/* ---- dark footer ---- */
.abt-foot{background:#0F172A;color:#94A3B8;padding:clamp(40px,5vw,56px) clamp(16px,4vw,32px) 28px}
.abt-foot .in{max-width:1180px;margin:0 auto}
.abt-foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px}
.abt-foot .brand{max-width:280px}
.abt-foot .brand-row{display:flex;align-items:center;gap:9px;margin-bottom:14px}
.abt-foot .brand-row svg{height:28px;width:28px;display:block}
.abt-foot .brand-row span{font-size:18px;font-weight:800;color:#F1F5F9}
.abt-foot .brand-row span span{color:#4ADE80}
.abt-foot .brand p{font-size:13px;line-height:1.5}
.abt-foot h4{color:#F1F5F9;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px}
.abt-foot .col-links{display:grid;gap:10px;font-size:14px}
.abt-foot .col-links a{color:#CBD5E1}
.abt-foot .col-links a:hover{color:#fff}
.abt-foot .bot{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#64748B;flex-wrap:wrap;gap:8px}
