/* LeadSwap – geteiltes Stylesheet der Unterseiten (die Startseite hält ihr CSS inline) */
:root{
  --blue:#0a5dc2; --blue-strong:#084a9b; --blue-ios:#007aff;
  --green:#178a3c; --green-ios:#24a148; --red-ios:#ff3b30; --orange-ios:#f28c02;
  --ink:#0f172a; --ink-2:#334155; --ink-3:#64748b;
  --bg:#ffffff; --bg-soft:#f6f8fb; --line:#e2e8f0;
  --radius:16px;
  font-size:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; color:var(--ink-2); background:var(--bg);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3{color:var(--ink); line-height:1.15; margin:0 0 .5em; letter-spacing:-.02em}
h1{font-size:clamp(1.9rem,4.6vw,2.9rem); font-weight:800}
h2{font-size:clamp(1.4rem,3vw,2rem); font-weight:800}
h3{font-size:1.12rem; font-weight:700}
p{margin:0 0 1em}
a{color:var(--blue)}
img,svg{max-width:100%}
.container{max-width:1120px; margin:0 auto; padding:0 20px}
.narrow{max-width:46rem}
.btn{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  border:0; border-radius:12px; padding:13px 22px; font-size:1rem; font-weight:700;
  text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--blue); color:#fff; box-shadow:0 6px 18px rgba(10,93,194,.35)}
.btn-primary:hover{background:var(--blue-strong)}
.btn-ghost{background:#fff; color:var(--ink); border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--blue); color:var(--blue)}

/* Header */
.site-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.85);
  backdrop-filter:saturate(1.4) blur(12px); border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; gap:24px; padding:14px 20px; max-width:1120px; margin:0 auto}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; font-size:1.25rem; color:var(--ink); text-decoration:none; letter-spacing:-.02em}
.brand svg{flex:none}
.nav-links{display:flex; gap:22px; margin-left:auto}
.nav-links a{color:var(--ink-2); text-decoration:none; font-weight:600; font-size:.95rem}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--blue)}
.nav .btn{padding:9px 18px; font-size:.95rem}
.nav-burger{display:none; position:relative}
.nav-burger summary{list-style:none; cursor:pointer; font-size:1.35rem; line-height:1; padding:7px 12px; border:1.5px solid var(--line); border-radius:10px; color:var(--ink)}
.nav-burger summary::-webkit-details-marker{display:none}
.nav-burger[open] summary{border-color:var(--blue); color:var(--blue)}
.burger-menu{position:absolute; right:0; top:calc(100% + 10px); background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 14px 40px rgba(15,23,42,.14); padding:10px; min-width:230px; display:flex; flex-direction:column; z-index:60}
.burger-menu a{padding:10px 14px; border-radius:8px; color:var(--ink-2); text-decoration:none; font-weight:600}
.burger-menu a:hover{background:var(--bg-soft); color:var(--blue)}
@media (max-width:820px){ .nav-links{display:none} .nav{gap:12px} .nav-burger{display:block} }
@media (max-width:560px){
  .nav .btn-ghost{display:none}
  .nav{gap:8px; padding:12px 14px}
  .brand{font-size:1.1rem}
  .nav .btn-primary{padding:8px 12px; font-size:.85rem; white-space:nowrap}
}

/* Seiten-Hero */
.page-hero{
  background:
    radial-gradient(700px 420px at 8% -10%, rgba(255,59,48,.09), transparent 60%),
    radial-gradient(800px 500px at 100% 10%, rgba(0,122,255,.11), transparent 60%),
    linear-gradient(#fff,#f6f8fb);
  padding:56px 0 48px;
}
.page-hero p.lede{font-size:1.15rem; max-width:42rem}
.breadcrumb{font-size:.85rem; color:var(--ink-3); margin-bottom:14px}
.breadcrumb a{color:var(--ink-3)}

/* Sektionen + Karten */
section{padding:56px 0}
section.alt{background:var(--bg-soft)}
.section-head{max-width:44rem; margin-bottom:36px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:22px}
@media (max-width:920px){ .grid-3{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ .grid-3,.grid-2{grid-template-columns:1fr} }
.feature{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:26px 24px; box-shadow:0 2px 10px rgba(15,23,42,.04);
}
.feature .icon{
  width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; font-size:22px; background:rgba(10,93,194,.09);
}
.check-list{list-style:none; padding:0; margin:0 0 1em}
.check-list li{padding-left:28px; position:relative; margin-bottom:10px}
.check-list li::before{content:"✓"; position:absolute; left:0; color:var(--green); font-weight:800}

/* Fließtext-Artikel (Ratgeber, Rechtstexte) */
.prose{max-width:46rem}
.prose h2{margin-top:2em}
.prose h3{margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em; margin:0 0 1em}
.prose li{margin-bottom:.4em}
.prose table{border-collapse:collapse; width:100%; margin:0 0 1.2em; font-size:.95rem}
.prose th,.prose td{border:1px solid var(--line); padding:9px 12px; text-align:left; vertical-align:top}
.prose th{background:var(--bg-soft); color:var(--ink)}
.prose .note{background:rgba(242,140,2,.08); border-left:4px solid var(--orange-ios); border-radius:0 10px 10px 0; padding:14px 16px; font-size:.92rem; margin:0 0 1.2em}
.table-scroll{overflow-x:auto}

/* Pricing */
.pricing{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch}
@media (max-width:920px){ .pricing{grid-template-columns:1fr} }
.plan{
  background:#fff; border:1.5px solid var(--line); border-radius:20px; padding:30px 26px;
  display:flex; flex-direction:column;
}
.plan.popular{border-color:var(--blue); box-shadow:0 14px 40px rgba(10,93,194,.16); position:relative}
.plan .flag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background:var(--blue); color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.03em;
  border-radius:999px; padding:5px 14px; white-space:nowrap;
}
.plan h3{font-size:1.25rem}
.plan .price{font-size:2.6rem; font-weight:800; color:var(--ink); letter-spacing:-.03em}
.plan .price small{font-size:1rem; font-weight:600; color:var(--ink-3)}
.plan .per{color:var(--ink-3); font-size:.9rem; margin-bottom:18px}
.plan .btn{margin-top:auto; justify-content:center}

/* FAQ */
.faq{max-width:46rem}
.faq details{border:1px solid var(--line); border-radius:12px; background:#fff; padding:0 20px; margin-bottom:12px}
.faq summary{cursor:pointer; font-weight:700; color:var(--ink); padding:16px 0; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+"; font-size:1.4rem; color:var(--blue); font-weight:600; transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:16px; margin:0}

/* CTA-Band + Footer */
.cta-band{background:linear-gradient(120deg,#0b1220,#12325e); color:#dbe7f7; border-radius:22px; padding:44px 36px; text-align:center}
.cta-band h2{color:#fff}
.cta-band .btn-primary{background:#fff; color:var(--blue-strong); box-shadow:none}
.cta-band .btn-primary:hover{background:#e8f0fb}
footer{padding:44px 0 48px; color:var(--ink-3); font-size:.92rem; background:var(--bg-soft); border-top:1px solid var(--line)}
.footer-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:28px; margin-bottom:28px}
.footer-grid > div:first-child{grid-column:span 1; min-width:200px}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr} }
.footer-grid h4,.footer-grid .foot-title{color:var(--ink); font-size:.95rem; margin:0 0 10px; font-weight:700}
.footer-grid ul{list-style:none; padding:0; margin:0}
.footer-grid li{margin-bottom:8px}
.footer-grid a{color:var(--ink-3); text-decoration:none}
.footer-grid a:hover{color:var(--blue)}
.footer-base{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; border-top:1px solid var(--line); padding-top:20px}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important; animation:none !important; scroll-behavior:auto}
}
