/*! RampSnap – Landingpage (alles unter .rsl gekapselt) */
.rsl { --b:#2563EB; --ink:#0F172A; --muted:#64748B; --line:#E2E8F0; --bg:#F8FAFC;
  color:var(--ink); font-size:17px; line-height:1.55; }
.rsl * { box-sizing:border-box; }
.rsl h1, .rsl h2, .rsl h3 { color:var(--ink); letter-spacing:-.02em; margin:0 0 12px; line-height:1.15; }
.rsl h1 { font-size:clamp(30px,5vw,46px); }
.rsl h2 { font-size:clamp(22px,3vw,30px); }
.rsl h3 { font-size:19px; }
.rsl p { margin:0 0 14px; }
.rsl-eyebrow { color:var(--b); font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.rsl-lead { color:#334155; font-size:clamp(17px,2vw,20px); max-width:60ch; }
.rsl-note { color:var(--muted); font-size:14px; }
.rsl-hero { padding:36px 0 28px; }
.rsl-cta { display:flex; gap:12px; flex-wrap:wrap; margin:22px 0 14px; }
.rsl-btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 24px;
  border-radius:8px; border:1px solid var(--line); background:#fff; color:var(--ink);
  font-weight:700; text-decoration:none; font-size:16px; }
.rsl-btn:hover { background:#F1F5F9; color:var(--ink); }
.rsl-btn-primary { background:var(--b); border-color:var(--b); color:#fff; box-shadow:0 1px 3px 0 rgb(0 0 0/.1); }
.rsl-btn-primary:hover { background:#1D4ED8; color:#fff; }
.rsl-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin:28px 0; }
.rsl-card { background:#fff; border:1px solid var(--line); border-radius:8px; padding:20px; box-shadow:0 1px 3px 0 rgb(0 0 0/.06); }
.rsl-card h3 { margin-bottom:6px; }
.rsl-card p { color:var(--muted); font-size:15px; margin:0; }
.rsl-steps { margin:36px 0; }
.rsl-steps ol { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.rsl-steps li { display:flex; gap:14px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:16px; }
.rsl-steps li > span { flex:none; width:34px; height:34px; border-radius:50%; background:#EFF6FF; color:var(--b);
  display:flex; align-items:center; justify-content:center; font-weight:700; }
.rsl-steps strong { display:block; margin-bottom:2px; }
.rsl-steps p { color:var(--muted); font-size:15px; margin:0; }
.rsl-split { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:36px 0; }
@media (max-width:720px) { .rsl-split { grid-template-columns:1fr; } }
.rsl-split ul { margin:0; padding-left:20px; color:#334155; }
.rsl-split li { margin-bottom:8px; }
.rsl-contact { background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:26px; margin:36px 0; }
.rsl-form { display:flex; flex-direction:column; gap:12px; max-width:620px; }
.rsl-form label { display:flex; flex-direction:column; gap:5px; font-weight:600; font-size:14px; color:#334155; }
.rsl-form input, .rsl-form textarea { width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--line);
  border-radius:8px; background:#fff; font:inherit; color:var(--ink); }
.rsl-form textarea { min-height:110px; }
.rsl-form input:focus, .rsl-form textarea:focus { outline:none; border-color:var(--b); box-shadow:0 0 0 3px rgb(37 99 235/.15); }
.rsl-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:560px) { .rsl-row { grid-template-columns:1fr; } }
.rsl-hp { position:absolute; left:-9999px; }
.rsl-alert { padding:12px 14px; border-radius:8px; font-weight:600; }
.rsl-ok { background:#D1FAE5; color:#047857; }
.rsl-err { background:#FEE2E2; color:#B91C1C; }
