
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --text:#1f2937;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#1c7d5f;
  --accent-2:#0f3d30;
  --shadow: 0 10px 30px rgba(0,0,0,.06);
  --radius: 16px;
  --radius-sm: 12px;
  --max: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 40%);
  line-height:1.55;
}
a{color:inherit; text-decoration:none}
a:hover{color:var(--accent)}
img{max-width:100%; height:auto}
.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.skip{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip:focus{left:20px; top:20px; width:auto; height:auto; padding:10px 12px; background:#fff; border:1px solid var(--line); border-radius:12px; z-index:9999}

header.site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(160%) blur(10px);
  background: rgba(248,250,252,.78);
  border-bottom:1px solid rgba(229,231,235,.7);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 0;
}
.brand{display:flex; align-items:center; gap:12px; min-width:260px}
.mark{
  width:42px; height:42px; border-radius:14px;
  background:var(--accent);
  display:grid; place-items:center;
  color:#fff; font-weight:800; font-size:20px;
  box-shadow: 0 12px 25px rgba(28,125,95,.25);
}
.brand-lines{display:flex; flex-direction:column; line-height:1.15}
.brand-title{font-weight:800; letter-spacing:.2px}
.brand-sub{font-size:13px; color:var(--muted)}

.nav{
  display:flex; align-items:center; gap:10px;
}
.nav a{
  padding:10px 12px; border-radius:999px;
  color:var(--text); font-weight:600; font-size:14px;
}
.nav a.active{
  background: rgba(28,125,95,.12);
  color: var(--accent-2);
  border:1px solid rgba(28,125,95,.18);
}
.menu-btn{
  display:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-weight:700;
}

main{padding:30px 0 60px}

.hero{
  display:grid;
  grid-template-columns: 1.08fr .92fr;
  gap:28px;
  padding:26px 0 8px;
}
.card{
  background:var(--surface);
  border:1px solid rgba(229,231,235,.9);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.hero-left{padding:22px}
.kicker{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:13px; color:var(--accent-2)}
.kicker .dot{width:10px; height:10px; border-radius:999px; background:var(--accent)}
h1{margin:12px 0 10px; font-size:36px; line-height:1.15; letter-spacing:-.4px}
.lead{font-size:16px; color:var(--muted); margin:0 0 18px}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  border:1px solid transparent;
}
.btn.primary{background:var(--accent); color:#fff; box-shadow: 0 14px 30px rgba(28,125,95,.24)}
.btn.primary:hover{filter:brightness(.98)}
.btn.secondary{background:#fff; border-color:var(--line); color:var(--text)}
.btn.secondary:hover{border-color:rgba(28,125,95,.35)}

.hero-right{padding:18px}
.portrait-wrap{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(229,231,235,.95);
  background: radial-gradient(100% 100% at 50% 0%, rgba(28,125,95,.10) 0%, rgba(255,255,255,0) 55%);
}
.portrait{
  display:block;
  width:100%;
  border-radius:24px;
}

.portrait-soft{
  display:block;
  width:100%;
  border-radius:24px;
  /* weicher Rand nur im Hero */
  -webkit-mask-image: radial-gradient(circle at 52% 38%, rgba(0,0,0,1) 60%, rgba(0,0,0,0) 78%);
  mask-image: radial-gradient(circle at 52% 38%, rgba(0,0,0,1) 60%, rgba(0,0,0,0) 78%);
}
.portrait-caption{
  margin:10px 2px 0;
  font-size:13px;
  color:var(--muted);
  font-weight:700;
}
.trust{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(229,231,235,.9);
}
.trust-row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.trust-badge{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(229,231,235,.9);
  border-radius:14px;
  background:#fff;
}
.trust-badge img{height:42px; width:auto}
.trust-note{font-size:12px; color:var(--muted); margin:0}

.section-title{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin:28px 0 12px}
.section-title h2{margin:0; font-size:22px; letter-spacing:-.2px}
.section-title p{margin:0; color:var(--muted); font-size:14px}

.grid{
  display:grid;
  gap:14px;
  grid-template-columns: repeat(3, 1fr);
}
.tile{
  padding:16px;
  border-radius:var(--radius);
  border:1px solid rgba(229,231,235,.9);
  background:#fff;
}
.tile h3{margin:0 0 6px; font-size:16px}
.tile p{margin:0; color:var(--muted); font-size:14px}
.tile details{margin-top:10px}
.tile summary{cursor:pointer; font-weight:800; color:var(--accent-2)}
.tile ul{margin:10px 0 0; padding-left:18px; color:var(--muted)}

.list-box{
  margin-top:16px;
  padding:16px;
  border-radius:var(--radius);
  border:1px dashed rgba(28,125,95,.28);
  background: rgba(28,125,95,.06);
}
.list-box h3{margin:0 0 8px}
.list-box ul{margin:0; padding-left:18px}

.page-head{
  padding:22px 0 0;
}
.page-head h1{font-size:30px}
.page-head .lead{margin-top:8px}

.two-col{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:18px;
  align-items:start;
  margin-top:18px;
}
.prose{
  padding:18px;
}
.prose h2{margin:16px 0 8px; font-size:18px}
.prose p{margin:0 0 10px; color:var(--text)}
.prose .muted{color:var(--muted)}
.aside{
  padding:18px;
}
.aside h3{margin:0 0 8px}
.small{font-size:13px; color:var(--muted)}

.form{
  display:grid;
  gap:12px;
}
.form-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
label{font-weight:800; font-size:13px}
input, select, textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 12px;
  font-size:14px;
  background:#fff;
}
textarea{min-height:130px; resize:vertical}
.help{font-size:12px; color:var(--muted); margin-top:4px}
.form-actions{display:flex; align-items:center; gap:12px; flex-wrap:wrap}
.status{
  font-size:13px;
  color:var(--muted);
}

footer{
  border-top:1px solid rgba(229,231,235,.9);
  padding:22px 0 40px;
  background:#fff;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:18px;
  align-items:start;
}
.footer-links a{display:inline-block; margin-right:14px; color:var(--muted); font-weight:700}
.footer-links a:hover{color:var(--accent)}
.footer-meta{color:var(--muted); font-size:13px}

@media (max-width: 980px){
  .grid{grid-template-columns: repeat(2, 1fr)}
}
@media (max-width: 860px){
  .hero{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .brand{min-width:auto}
  h1{font-size:32px}
}
@media (max-width: 720px){
  .nav{display:none}
  .menu-btn{display:inline-flex}
  body.nav-open .nav{
    display:flex;
    position:absolute;
    left:20px; right:20px; top:64px;
    flex-direction:column;
    padding:12px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
  }
  .header-inner{position:relative}
  .grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}


:root{
  --ee-blue:#0DA6D5;
}

.trustbar{
  border-bottom:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.9);
  backdrop-filter:saturate(1.2) blur(6px);
}
.trustbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
}
.trustbar-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.trustbar-right{
  display:flex;
  align-items:center;
  gap:12px;
}
.trustbar-logo{
  height:34px;
  width:auto;
  display:block;
}
.trustbar-cert{
  font-weight:700;
  color:var(--ee-blue);
  letter-spacing:.2px;
  white-space:nowrap;
}

.stack{
  display:flex;
  flex-direction:column;
  gap:16px;
}
@media (max-width: 720px){
  .trustbar-inner{ flex-direction:column; align-items:flex-start; }
  .trustbar-cert{ white-space:normal; }
  .trustbar-logo{ height:30px; }
}
