:root{
  --navy:#1b3a6b; --navy-d:#13294b; --gold:#c9a227;
  --gold-l:#efe2b4; --ink:#1a2332; --grey:#5b6b82; --light:#eef2f8;
  --bg:#fbfcfe; --card:#ffffff; --line:#dfe6f0; --ok:#1f7a4d;
  --radius:14px; --shadow:0 6px 24px rgba(20,40,80,.08);
  --maxw:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
h1,h2,h3{color:var(--navy);line-height:1.2;font-weight:800}
.muted{color:var(--grey)}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(251,252,254,.92);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--navy)}
.brand .logo{width:34px;height:34px}
.nav nav a{margin-left:22px;font-weight:600;color:var(--ink);font-size:15px}
.nav nav a:hover{color:var(--navy);text-decoration:none}
.btn{display:inline-block;background:var(--navy);color:#fff;padding:11px 20px;border-radius:10px;
  font-weight:700;border:none;cursor:pointer;font-size:15px;transition:.15s}
.btn:hover{background:var(--navy-d);text-decoration:none;color:#fff}
.btn.gold{background:var(--gold);color:#1a2332}
.btn.gold:hover{background:#b08f1f;color:#1a2332}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.lg{padding:15px 30px;font-size:17px}

/* HERO */
.hero{background:linear-gradient(160deg,#13294b 0%,#1b3a6b 55%,#274d86 100%);color:#fff;
  padding:74px 0 84px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-80px;width:380px;height:380px;
  background:radial-gradient(circle,rgba(201,162,39,.28),transparent 70%);border-radius:50%}
.hero .wrap{position:relative;z-index:2;max-width:820px}
.kicker{display:inline-block;background:rgba(201,162,39,.18);color:var(--gold-l);
  border:1px solid rgba(201,162,39,.5);padding:6px 14px;border-radius:99px;font-weight:700;
  font-size:13px;letter-spacing:.04em;margin-bottom:22px}
.hero h1{color:#fff;font-size:46px;letter-spacing:-.5px;margin-bottom:18px}
.hero h1 .hl{color:var(--gold)}
.hero p.lead{font-size:19px;color:#d6e0f0;max-width:680px;margin-bottom:30px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero .trust{margin-top:26px;color:#a9b8d2;font-size:14px;display:flex;gap:22px;flex-wrap:wrap}
.hero .trust b{color:#fff}

/* SECTION */
section{padding:64px 0}
section.alt{background:var(--light)}
.sec-head{text-align:center;max-width:680px;margin:0 auto 42px}
.sec-head .eyebrow{color:var(--gold);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.sec-head h2{font-size:34px;margin:8px 0 12px}
.sec-head p{font-size:17px;color:var(--grey)}

/* FEATURES */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 24px;box-shadow:var(--shadow)}
.feature .ic{width:46px;height:46px;border-radius:11px;background:var(--light);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.feature h3{font-size:19px;margin-bottom:8px}
.feature p{color:var(--grey);font-size:15px}

/* SAMPLE CARDS */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.jcard{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);
  border-radius:12px;padding:22px 22px;box-shadow:var(--shadow);position:relative}
.jcard .tag{display:inline-block;background:var(--navy);color:#fff;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:6px;margin-bottom:10px}
.jcard h3{font-size:16.5px;margin-bottom:4px;line-height:1.3}
.jcard .court{color:var(--gold);font-style:italic;font-size:13px;margin-bottom:12px;font-weight:600}
.jcard ul{list-style:none;margin:0}
.jcard ul li{position:relative;padding-left:18px;margin-bottom:9px;font-size:14.5px;color:var(--ink)}
.jcard ul li::before{content:"▪";color:var(--gold);position:absolute;left:0;top:-1px}
.jcard .more{margin-top:14px;font-size:13.5px;font-weight:700;color:var(--navy)}
.locked{filter:blur(4px);user-select:none;pointer-events:none}
.lockbar{margin-top:26px;text-align:center;background:var(--card);border:1px dashed var(--gold);
  border-radius:12px;padding:24px}
.lockbar p{color:var(--grey);margin-bottom:14px}

/* PRICING */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:820px;margin:0 auto}
.plan{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:34px 30px;
  box-shadow:var(--shadow);position:relative}
.plan.pop{border:2px solid var(--gold);transform:translateY(-6px)}
.plan .badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);
  color:#1a2332;font-weight:800;font-size:12px;padding:5px 16px;border-radius:99px;letter-spacing:.03em}
.plan h3{font-size:21px;margin-bottom:6px}
.plan .price{font-size:42px;font-weight:800;color:var(--navy);margin:10px 0 2px}
.plan .price span{font-size:16px;color:var(--grey);font-weight:600}
.plan .sub{color:var(--grey);font-size:14px;margin-bottom:20px}
.plan ul{list-style:none;margin:0 0 24px}
.plan ul li{padding-left:28px;position:relative;margin-bottom:11px;font-size:15px}
.plan ul li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:800}
.plan .btn{width:100%;text-align:center}
.paynote{text-align:center;color:var(--grey);font-size:13px;margin-top:18px}

/* CHECKOUT MODAL */
.modal{position:fixed;inset:0;background:rgba(19,41,75,.6);display:none;align-items:center;
  justify-content:center;z-index:100;padding:20px}
.modal.open{display:flex}
.modal .box{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal h3{font-size:22px;margin-bottom:4px}
.modal .x{float:right;font-size:24px;color:var(--grey);cursor:pointer;line-height:1;border:none;background:none}
.pay-opt{border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0;display:flex;
  align-items:center;gap:14px;cursor:pointer;transition:.15s}
.pay-opt:hover{border-color:var(--navy);background:var(--light)}
.pay-opt .pic{font-weight:800;font-size:15px}
#paypal-button-container{margin-top:8px}

/* FAQ */
.faq{max-width:760px;margin:0 auto}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:18px 0;list-style:none;
  display:flex;justify-content:space-between;align-items:center;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:22px;font-weight:800}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--grey);font-size:15px}

/* FOOTER */
footer{background:var(--navy-d);color:#cdd8ea;padding:48px 0 28px;font-size:14px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:30px}
footer h4{color:#fff;font-size:15px;margin-bottom:12px}
footer a{color:#cdd8ea;display:block;margin-bottom:8px}
footer a:hover{color:#fff}
footer .brand{color:#fff;margin-bottom:10px}
footer .legal{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#9fb0cc;font-size:12.5px}
.badge-eu{display:inline-block;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  padding:4px 10px;border-radius:7px;font-size:12px;color:#dbe5f5;margin-top:6px}

/* LEGAL PAGES */
.legal-page{max-width:820px;margin:0 auto;padding:50px 22px}
.legal-page h1{font-size:32px;margin-bottom:8px}
.legal-page h2{font-size:20px;margin:28px 0 8px}
.legal-page p,.legal-page li{color:var(--ink);font-size:15px;margin-bottom:10px}
.legal-page ul{margin:0 0 12px 22px}
.ph{background:#fff4d6;border:1px solid var(--gold);border-radius:6px;padding:1px 7px;font-weight:700;color:#7a5c00}
.note{background:var(--light);border-left:4px solid var(--navy);padding:14px 18px;border-radius:8px;margin:18px 0;font-size:14px;color:var(--grey)}

/* ===================== MOBILE / RESPONSIVE (v4, 14.06.2026) ===================== */
/* Hamburger + Sticky-CTA sind auf Desktop unsichtbar und werden erst mobil aktiv. */
.burger{display:none;width:44px;height:44px;border:none;background:transparent;cursor:pointer;
  padding:10px;margin-left:8px;flex:0 0 auto}
.burger span{display:block;height:2px;width:100%;background:var(--navy);border-radius:2px;
  transition:.2s;margin:4px 0}
.burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobilecta{display:none}

/* verhindert horizontales Scrollen auf schmalen Screens */
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}

@media(max-width:860px){
  .grid3,.cards,.plans,.quality,.funnels,.demo,.vs{grid-template-columns:1fr}

  /* --- Navigation: Burger-Dropdown statt versteckter Leiste --- */
  .burger{display:flex;flex-direction:column;justify-content:center;align-items:center}
  header.nav .wrap{gap:8px}
  header.nav .wrap > .btn{padding:9px 14px;font-size:14px}   /* Kopf-Button kompakt halten (z.B. Abmelden) */
  header.nav .wrap > .btn.gold,
  header.nav .wrap > .btn.nav-cta-hide{display:none}         /* Verkaufs-CTA aus: Sticky-Bar/Menü/In-Content übernehmen, kein Header-Überlauf */
  header.nav nav{position:absolute;top:64px;left:0;right:0;flex-direction:column;
    background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(20,40,80,.12);
    padding:6px 0;display:none}
  header.nav nav.open{display:flex}
  .nav nav a{margin:0;padding:14px 22px;font-size:16px;border-bottom:1px solid var(--light);min-height:48px;display:flex;align-items:center}
  .nav nav a:last-child{border-bottom:none}

  /* --- Hero kompakter, sofort lesbar --- */
  .hero{padding:48px 0 60px}
  .hero h1{font-size:30px;letter-spacing:-.3px}
  .hero p.lead{font-size:16.5px;margin-bottom:22px}
  .kicker{margin-bottom:16px;font-size:12px}
  .hero .trust{gap:8px 16px;margin-top:18px;font-size:13px}
  .hero .trust span{flex:0 0 auto}

  /* --- Sektionen + Überschriften enger --- */
  section{padding:44px 0}
  .sec-head{margin-bottom:30px}
  .sec-head h2{font-size:26px}
  .sec-head p{font-size:16px}
  .wrap{padding:0 16px}

  /* --- Funnels/Plan-Karten volle Breite, weniger Padding --- */
  .funnels{margin-top:-22px;padding:0 16px;gap:16px}
  .funnel{padding:22px 20px}
  .plan{padding:28px 22px}
  .plan.pop{transform:none}                         /* kein Versatz, sonst Überlappung */

  footer .cols{grid-template-columns:1fr;gap:22px}

  /* --- Sticky-CTA unten (QR-Conversion) --- */
  .mobilecta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:10px;align-items:center;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line);
    box-shadow:0 -8px 24px rgba(20,40,80,.14);transition:transform .25s ease}
  .mobilecta.hide{transform:translateY(130%)}
  .mobilecta .btn{flex:1;text-align:center;padding:14px 12px;font-size:15.5px}
  .mobilecta .mc-sec{flex:0 0 auto;color:var(--navy);font-weight:700;font-size:14px;padding:12px 6px;white-space:nowrap}
  body{padding-bottom:74px}                          /* Platz für die Sticky-Bar */

  /* --- Touch-Targets + iOS: Eingaben >=16px verhindern Auto-Zoom --- */
  .btn{min-height:46px}
  .faq summary{font-size:15.5px;padding:16px 0}
  #co-email{font-size:16px}
  .modal .box{padding:24px 20px}
}

@media(max-width:430px){
  .hero h1{font-size:26px}
  .sec-head h2{font-size:23px}
  .brand{font-size:18px}
  .brand .logo{width:30px;height:30px}
  .plan .price{font-size:36px}
  .mobilecta .mc-sec{display:none}                  /* sehr schmal: nur der Haupt-CTA */
  .mobilecta .btn{font-size:15px}
}
