/* ===== Klar Fenster — clean blue/white ===== */
:root{
  --bg:#ffffff; --soft:#f3f6fb; --ice:#e7eff8; --line:#dde6f0;
  --ink:#13243a; --mut:#5d6b80; --blue:#1c6dd0; --blue-d:#1457ad; --sky:#4aa3f0; --cyan:#0fb5c4;
  --rad:14px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
h1,h2,h3,h4{font-family:'Barlow',sans-serif;font-weight:700;line-height:1.12;letter-spacing:-.01em}
.eyebrow{font-family:'Barlow';font-weight:700;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;color:var(--blue)}

/* topbar */
.bar{background:var(--ink);color:#c9d6e6;font-size:.85rem}
.bar .wrap{display:flex;justify-content:space-between;padding:9px 26px}
.bar i{width:15px;height:15px;vertical-align:-3px;margin-right:6px;color:var(--sky)}
.bar a{color:#c9d6e6}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:15px 26px}
.brand{display:flex;align-items:center;gap:11px;font-family:'Barlow';font-weight:800;font-size:1.35rem}
.brand .m{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center}
.brand b{color:var(--blue)}
.menu{display:flex;gap:4px}
.menu a{padding:10px 16px;border-radius:9px;color:var(--mut);font-weight:600;font-size:.93rem;transition:.2s}
.menu a:hover{color:var(--ink);background:var(--soft)}
.menu a.on{color:var(--blue-d);background:var(--ice)}
.nx{display:flex;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--blue);color:#fff;font-family:'Barlow';font-weight:700;font-size:.94rem;padding:12px 24px;border-radius:10px;border:none;cursor:pointer;transition:.25s}
.btn:hover{background:var(--blue-d);transform:translateY(-2px)}
.btn.out{background:transparent;color:var(--blue-d);border:2px solid var(--line)}
.btn.out:hover{border-color:var(--blue);background:transparent}
.btn.wht{background:#fff;color:var(--blue-d)}
.btn i{width:17px;height:17px}
.burger{display:none;background:none;border:none;color:var(--ink);cursor:pointer}.burger i{width:26px;height:26px}

.sheet{position:fixed;inset:0 0 0 auto;width:270px;background:#fff;z-index:90;transform:translateX(100%);transition:.3s;padding:24px;display:flex;flex-direction:column;gap:6px;box-shadow:-20px 0 50px rgba(0,0,0,.12)}
.sheet.open{transform:none}
.sheet a{padding:13px 16px;border-radius:10px;font-weight:600;color:var(--ink)}
.sheet a:hover{background:var(--soft)}
.sheet .cl{align-self:flex-end;background:none;border:none;cursor:pointer;margin-bottom:8px}.sheet .cl i{width:26px;height:26px}
.veil{position:fixed;inset:0;background:rgba(10,25,45,.4);z-index:85;display:none}.veil.show{display:block}

/* hero */
.hero{background:linear-gradient(180deg,var(--soft),#fff);padding:80px 0;position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero h1{font-size:clamp(2.5rem,5vw,4rem);margin:18px 0 20px}
.hero h1 span{color:var(--blue)}
.hero p{color:var(--mut);font-size:1.1rem;max-width:480px;margin-bottom:30px}
.hero .acts{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px}
.hero .points{display:flex;gap:26px;flex-wrap:wrap}
.hero .points div{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.92rem}
.hero .points i{width:20px;height:20px;color:var(--cyan)}
.hero .visual{position:relative}
.hero .visual img{width:100%;border-radius:22px;aspect-ratio:4/3.5;object-fit:cover}
.hero .card-float{position:absolute;right:-22px;bottom:34px;background:#fff;border-radius:16px;padding:18px 22px;box-shadow:0 24px 50px -18px rgba(20,60,120,.35);display:flex;align-items:center;gap:14px}
.hero .card-float .ic{width:48px;height:48px;border-radius:12px;background:var(--ice);color:var(--blue);display:grid;place-items:center}
.hero .card-float .ic i{width:24px;height:24px}
.hero .card-float b{font-family:'Barlow';font-size:1.5rem;display:block;line-height:1}
.hero .card-float span{font-size:.8rem;color:var(--mut)}

/* trust bar */
.tb{border-bottom:1px solid var(--line);padding:26px 0}
.tb .row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.tb b{font-family:'Barlow';font-size:2.2rem;color:var(--blue-d);display:block}
.tb span{color:var(--mut);font-size:.88rem}

/* sections */
.sec{padding:90px 0}
.sec.soft{background:var(--soft)}
.shead{max-width:640px;margin-bottom:50px}
.shead.ctr{margin:0 auto 50px;text-align:center}
.shead h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:12px 0 12px}
.shead p{color:var(--mut)}

/* product cards */
.prods{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod{background:#fff;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;transition:.28s}
.prod:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(20,60,120,.25)}
.prod .ph{aspect-ratio:16/10;overflow:hidden}
.prod .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}
.prod:hover .ph img{transform:scale(1.05)}
.prod .bd{padding:24px}
.prod h3{font-size:1.3rem;margin-bottom:8px}
.prod p{color:var(--mut);font-size:.93rem;margin-bottom:14px}
.prod .lk{display:inline-flex;align-items:center;gap:6px;color:var(--blue-d);font-family:'Barlow';font-weight:700;font-size:.92rem}
.prod .lk i{width:16px;height:16px}

/* feature rows */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:80px}
.frow:last-child{margin-bottom:0}
.frow.rev .txt{order:2}
.frow img{width:100%;border-radius:var(--rad);aspect-ratio:4/3;object-fit:cover}
.frow h3{font-size:1.8rem;margin:12px 0 14px}
.frow p{color:var(--mut);margin-bottom:18px}
.frow .li{display:flex;gap:12px;margin-bottom:12px}
.frow .li i{width:22px;height:22px;color:var(--cyan);flex:none;margin-top:2px}
.frow .li b{font-family:'Barlow'}

/* icon grid */
.feats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ft{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:26px;text-align:center}
.ft .ic{width:58px;height:58px;border-radius:16px;background:var(--ice);color:var(--blue);display:grid;place-items:center;margin:0 auto 16px}
.ft .ic i{width:27px;height:27px}
.ft h4{font-size:1.1rem;margin-bottom:7px}
.ft p{color:var(--mut);font-size:.88rem}

/* steps horizontal */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.fn{padding:0 22px;border-left:2px solid var(--line);position:relative}
.fn:first-child{border-left:none}
.fn .num{font-family:'Barlow';font-weight:800;font-size:1rem;color:#fff;background:var(--blue);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;margin-bottom:16px}
.fn h4{font-size:1.1rem;margin-bottom:8px}
.fn p{color:var(--mut);font-size:.9rem}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pl{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:32px}
.pl.top{border-color:var(--blue);box-shadow:0 20px 50px -24px rgba(28,109,208,.4);position:relative}
.pl.top::before{content:"EMPFOHLEN";position:absolute;top:-11px;left:32px;background:var(--blue);color:#fff;font-family:'Barlow';font-weight:700;font-size:.7rem;letter-spacing:.08em;padding:4px 12px;border-radius:20px}
.pl h3{font-size:1.35rem;margin-bottom:6px}
.pl .pr{font-family:'Barlow';font-size:2.4rem;color:var(--blue-d);margin:8px 0 16px}
.pl .pr small{font-size:.9rem;color:var(--mut);font-weight:400}
.pl .mut{color:var(--mut);font-size:.9rem;margin-bottom:18px}
.pl ul{list-style:none;margin-bottom:24px}
.pl li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--mut);font-size:.92rem}
.pl li i{width:17px;height:17px;color:var(--cyan);flex:none;margin-top:3px}

/* cta */
.cta{background:linear-gradient(120deg,var(--blue),var(--cyan));border-radius:24px;padding:56px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;color:#fff}
.cta h2{font-size:2.1rem;color:#fff}
.cta p{opacity:.92;margin-top:6px}

/* page hero */
.phero{background:var(--soft);padding:60px 0 46px;border-bottom:1px solid var(--line)}
.phero .bc{color:var(--mut);font-size:.86rem;font-weight:600;margin-bottom:12px}
.phero .bc a{color:var(--blue-d)}
.phero h1{font-size:clamp(2.2rem,4.4vw,3.3rem)}
.phero p{color:var(--mut);margin-top:12px;max-width:600px}

/* contact */
.cg{display:grid;grid-template-columns:1fr 1.1fr;gap:46px;align-items:start}
.ci{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:22px;display:flex;gap:15px;align-items:center;margin-bottom:14px}
.ci .ic{width:50px;height:50px;border-radius:13px;background:var(--ice);color:var(--blue);display:grid;place-items:center;flex:none}
.ci .ic i{width:23px;height:23px}
.ci .t{font-size:.78rem;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.ci .v{font-family:'Barlow';font-size:1.1rem;font-weight:600}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:34px;box-shadow:0 20px 50px -30px rgba(20,60,120,.3)}
.form .fld{margin-bottom:16px}
.form label{font-weight:600;font-size:.85rem;display:block;margin-bottom:7px}
.form input,.form select,.form textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:13px 15px;font-family:inherit;font-size:.95rem;background:var(--bg);transition:.2s}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue)}
.form textarea{min-height:120px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* prose */
.prose{max-width:780px}
.prose h2{font-size:1.5rem;margin:32px 0 12px;color:var(--blue-d)}
.prose p,.prose li{color:var(--mut);margin-bottom:11px}
.prose ul{padding-left:20px;margin-bottom:12px}

/* footer */
.foot{background:var(--ink);color:#aab8cc;padding:62px 0 26px}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:36px;margin-bottom:40px}
.foot .brand{color:#fff}.foot .brand b{color:var(--sky)}
.foot p{font-size:.9rem;margin-top:14px}
.foot h5{font-family:'Barlow';color:#fff;font-size:1rem;margin-bottom:14px}
.foot a{display:block;color:#aab8cc;font-size:.9rem;padding:5px 0;transition:.2s}
.foot a:hover{color:var(--sky)}
.fbot{border-top:1px solid #24344b;padding-top:22px;display:flex;justify-content:space-between;font-size:.83rem;color:#7c8aa0;flex-wrap:wrap;gap:8px}

[data-up]{opacity:0;transform:translateY(28px);transition:.7s cubic-bezier(.2,.7,.2,1)}
[data-up].vis{opacity:1;transform:none}

@media(max-width:980px){
  .hero .grid,.frow,.cg{grid-template-columns:1fr;gap:38px}
  .frow.rev .txt{order:0}
  .prods,.plans{grid-template-columns:1fr 1fr}
  .feats{grid-template-columns:1fr 1fr}
  .flow{grid-template-columns:1fr 1fr;gap:30px 22px}.fn{border-left:none}
  .tb .row{grid-template-columns:1fr 1fr;gap:30px}
  .fg{grid-template-columns:1fr 1fr}
}
@media(max-width:660px){
  .menu,.nx .btn{display:none}.burger{display:block}.bar{display:none}
  .prods,.plans,.feats,.flow,.two{grid-template-columns:1fr}
  .tb .row{grid-template-columns:1fr 1fr}
  .fg{grid-template-columns:1fr}
  .sec{padding:62px 0}.cta{flex-direction:column;text-align:center;padding:40px 26px}
}
