/* Hero exakt wie die Startseite (index.html) */
.wn-band{ padding-bottom:56px; }
.wn-band .wn-hero-inner{ padding-top:28px; }
.wn-band .wn-hero-inner h1{ font-size:clamp(2rem,3.7vw,3.6rem); line-height:1.1; letter-spacing:-0.035em; margin:4px 0 22px; text-wrap:balance; }
.ls-crumb{ text-align:left; margin:0 0 26px; }
.ls-hero-c .wn-eyebrow{ display:inline-flex; align-items:center; gap:8px; margin-bottom:22px; padding:6px 14px; border:1px solid rgba(255,255,255,0.16); border-radius:999px; background:rgba(255,255,255,0.05); font-size:0.72rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:#9fe8ef; }
.ls-hero-c .wn-eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px rgba(0,180,200,0.6); }
.ls-hero-c .wn-hero-sub{ font-size:1rem; line-height:1.62; color:rgba(223,230,255,0.72); text-wrap:pretty; }

/* ============================================================
   ExposéFlow · /loesungen/ – Lösungs-Landingpages
   Gemeinsames Stylesheet für alle Solution-Pages.
   Baut auf /wissen/wissen.css auf (Tokens, wn-* Bausteine).
   ============================================================ */

/* Inhaltsbreite (breiter) + Abstand Hero -> Body */
.ls-wrap{ max-width:1088px; margin:0 auto; padding:0 24px; }

/* ---- Hero (zentriert) ---- */
.ls-hero-c{ text-align:center; max-width:780px; margin:0 auto; }
.ls-hero-c .wn-hero-sub{ margin-left:auto; margin-right:auto; max-width:840px; text-wrap:pretty; }
.ls-cta-row{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin:22px 0 14px; }
.ls-trustline{ display:flex; flex-wrap:nowrap; gap:8px 16px; justify-content:center; margin:22px 0 0; }
.ls-trustline span{ display:inline-flex; align-items:center; gap:6px; color:rgba(223,230,255,.75); font-weight:500; font-size:clamp(0.56rem,2.6vw,0.85rem); white-space:nowrap; }
.ls-trustline svg{ width:15px; height:15px; color:var(--cyan); flex:none; }
.ls-btn-2nd{ display:inline-block; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22);
  color:#fff; font-weight:700; padding:15px 26px; border-radius:14px; text-decoration:none; }
.ls-btn-2nd:hover{ background:rgba(255,255,255,.14); }
.ls-testi{ display:flex; width:fit-content; max-width:620px; align-items:center; gap:12px; margin:8px auto 0; text-align:left; }
.ls-testi img{ width:44px; height:44px; border-radius:50%; object-fit:cover; flex:none; border:2px solid rgba(255,255,255,.25); }
.ls-stars{ color:#ffb400; letter-spacing:2px; font-size:.9rem; }
.ls-testi-q{ color:rgba(255,255,255,.82); font-size:.9rem; line-height:1.5; }
.ls-testi-q b{ color:#fff; font-weight:700; }

/* ---- Hero-Screenshot im Browser-Rahmen + animierter Glow (wie Startseite) ---- */
@property --ls-glow-a{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
.ls-browser{ position:relative; margin:30px auto 84px; max-width:940px; }
.ls-browser-media{ position:relative; --ls-glow-a:0deg; }
.ls-browser-media::before{ content:""; position:absolute; inset:-10px; z-index:0; border-radius:26px; pointer-events:none;
  background:conic-gradient(from var(--ls-glow-a), #00E5C7, #22D3EE, #EAFFFB, #34D399, #7CFFD9, #00E5C7);
  filter:blur(26px); opacity:.85; animation:ls-glow-flow 4.5s linear infinite; }
.ls-browser-media::after{ content:""; position:absolute; inset:-2px; z-index:2; border-radius:18px; padding:2.5px; pointer-events:none;
  background:conic-gradient(from var(--ls-glow-a), #00E5C7, #22D3EE, #F2FFFC, #34D399, #7CFFD9, #00E5C7);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  filter:drop-shadow(0 0 8px rgba(34,211,238,0.85)); animation:ls-glow-flow 4.5s linear infinite; }
.ls-browser-frame{ position:relative; z-index:1; border-radius:16px; overflow:hidden;
  border:1px solid rgba(255,255,255,.14); box-shadow:0 46px 90px -34px rgba(0,0,0,.6); background:#0b1733; }
.ls-browser-bar{ height:40px; display:flex; align-items:center; gap:8px; padding:0 16px; background:#fbfcfe; border-bottom:1px solid var(--border); }
.ls-browser-url{ margin-left:14px; flex:1; max-width:300px; height:22px; border-radius:7px; background:#eef1f7; display:flex; align-items:center; padding:0 12px; font-size:0.72rem; color:#9aa6bf; font-weight:600; }
.ls-browser-bar i{ width:11px; height:11px; border-radius:50%; display:inline-block; }
.ls-browser-frame img{ width:100%; display:block; }
@keyframes ls-glow-flow{ to{ --ls-glow-a:360deg; } }
@media (prefers-reduced-motion:reduce){ .ls-browser::before,.ls-browser-media::after{ animation:none; } }

/* ---- Auf einen Blick (KI-Zitat) ---- */
.ls-direct{ position:relative; background:#fff; border:1px solid var(--border); border-radius:16px;
  padding:22px 26px 20px 30px; box-shadow:0 18px 40px -20px rgba(15,23,42,.25); overflow:hidden; margin:0 0 30px; }
.ls-direct::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--gradient); }
.ls-direct-head{ display:flex; align-items:center; gap:9px; margin-bottom:9px; }
.ls-direct-ico{ width:26px; height:26px; border-radius:50%; background:rgba(0,180,200,.12); display:grid; place-items:center; }
.ls-direct-ico svg{ width:15px; height:15px; color:var(--cyan); }
.ls-direct-label{ font-size:.8rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#3e8ef5; }
.ls-direct p{ margin:0; color:var(--body); font-size:1.05rem; line-height:1.55; max-width:820px; }

/* ---- Sektionen / Karten ---- */
.ls-h2{ font-size:1.5rem; font-weight:800; color:var(--dark); margin:38px 0 16px; letter-spacing:-.01em; text-align:center; }
.ls-cards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:6px 0; }
.ls-card{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:22px 24px; box-shadow:0 14px 30px -22px rgba(15,23,42,.25); }
.ls-card h3{ margin:0 0 12px; font-size:1.08rem; color:var(--dark); }
.ls-list{ list-style:none; padding:0; margin:0; }
.ls-list li{ position:relative; padding:6px 0 6px 27px; color:var(--body); font-size:.96rem; line-height:1.5; }
.ls-list li::before{ content:""; position:absolute; left:0; top:8px; width:17px; height:17px; border-radius:50%; }
.ls-list.check li::before{ background:var(--cyan); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/11px no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center/11px no-repeat; }
.ls-list.cross li::before{ background:var(--magenta); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round'><line x1='6' y1='6' x2='18' y2='18'/><line x1='18' y1='6' x2='6' y2='18'/></svg>") center/11px no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round'><line x1='6' y1='6' x2='18' y2='18'/><line x1='18' y1='6' x2='6' y2='18'/></svg>") center/11px no-repeat; }
.ls-banner{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; background:var(--light); border:1px solid var(--border); border-radius:14px; padding:16px 22px; margin:16px 0; }
.ls-banner b{ color:var(--dark); }
.ls-banner a{ font-weight:700; color:var(--magenta); text-decoration:none; white-space:nowrap; }
.ls-stat{ text-align:center; background:linear-gradient(135deg,rgba(62,142,245,.08),rgba(114,248,202,.10)); border:1px solid var(--border); border-radius:14px; padding:18px 22px; margin:16px 0; color:var(--body); }
.ls-stat b{ color:var(--dark); }
.ls-startbtn{ display:inline-block; margin:28px 0 4px; }
.ls-center{ text-align:center; }

@media (max-width:680px){
  .ls-wrap{ padding:32px 20px 0; }
  .ls-cards{ grid-template-columns:1fr; }
  .ls-testi{ text-align:center; flex-direction:column; align-items:center; margin-top:28px; gap:10px; }
}


/* ---- Sektions-Rhythmus (alternierend weiß / hellgrau) ---- */
.ls-sec{ padding:54px 0; }
.ls-sec-alt{ background:var(--light); }
.ls-sec .ls-wrap > :first-child{ margin-top:0; }
.wn-cta{ margin-top:0; }

/* ---- Schritt-Karten ---- */
.ls-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:6px 0 6px; }
.ls-step{ background:#fff; border:1px solid var(--border); border-radius:16px; padding:26px 24px; box-shadow:0 16px 34px -24px rgba(15,23,42,.3); }
.ls-step-num{ width:46px; height:46px; border-radius:13px; background:var(--gradient); color:#fff; font-weight:800; font-size:1.25rem; display:grid; place-items:center; margin-bottom:16px; box-shadow:0 8px 18px -6px rgba(62,142,245,.5); }
.ls-step h3{ margin:0 0 8px; font-size:1.06rem; color:var(--dark); }
.ls-step p{ margin:0; color:var(--body); font-size:.95rem; line-height:1.55; }
@media (max-width:760px){ .ls-steps{ grid-template-columns:1fr; } .ls-sec{ padding:40px 0; } }


/* Expertise-Notiz (E-E-A-T) */
.ls-note{ background:#fff; border:1px solid var(--border); border-left:4px solid var(--magenta); border-radius:14px; padding:20px 24px; margin-top:18px; box-shadow:0 14px 30px -24px rgba(15,23,42,.25); }
.ls-note h3{ margin:0 0 8px; font-size:1.05rem; color:var(--dark); }
.ls-note p{ margin:0; color:var(--body); line-height:1.55; }


/* Gut-zu-wissen Infokasten (Glühbirne) */
.ls-info{ display:flex; gap:18px; align-items:flex-start; background:linear-gradient(135deg,rgba(62,142,245,.07),rgba(114,248,202,.09)); border:1px solid var(--border); border-radius:16px; padding:24px 26px; }
.ls-info-ico{ flex:none; width:48px; height:48px; border-radius:13px; background:var(--gradient); color:#fff; display:grid; place-items:center; box-shadow:0 8px 18px -6px rgba(62,142,245,.5); }
.ls-info-ico svg{ width:25px; height:25px; }
.ls-info-body h3{ margin:0 0 12px; font-size:1.18rem; color:var(--dark); }
.ls-info-list{ list-style:none; margin:0; padding:0; display:grid; gap:11px; }
.ls-info-list li{ position:relative; padding-left:22px; color:var(--body); line-height:1.55; font-size:.97rem; }
.ls-info-list li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:var(--cyan); }
@media (max-width:600px){ .ls-info{ flex-direction:column; gap:14px; } }


/* Icon-Badge in Nutzen-Karten */
.ls-card-ico{ width:44px; height:44px; border-radius:12px; background:var(--gradient); color:#fff; display:grid; place-items:center; margin-bottom:14px; box-shadow:0 8px 18px -6px rgba(62,142,245,.5); }
.ls-card-ico svg{ width:23px; height:23px; }


/* Hero-Statleiste (wie Startseite, überlappt Mockup unten) */
.ls-hero-stats{ position:absolute; left:50%; bottom:-42px; transform:translateX(-50%); z-index:5; display:flex; align-items:center; background:#fff; border-radius:18px; box-shadow:0 30px 60px rgba(6,18,58,0.4); padding:20px 12px; max-width:94%; }
.ls-fs{ position:relative; padding:0 30px; text-align:center; flex-shrink:0; }
.ls-fs:not(:first-child)::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); height:34px; width:1px; background:var(--border); }
.ls-fs b{ display:block; font-weight:900; font-size:1.5rem; letter-spacing:-0.02em; background:var(--gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.ls-fs span{ display:block; font-size:0.85rem; font-weight:600; color:var(--grey); margin-top:5px; white-space:nowrap; }
@media (max-width:768px){
  .wn-band .wn-hero-inner h1{ font-size:1.95rem; letter-spacing:-0.02em; }
  .ls-hero-c .wn-hero-sub{ font-size:0.95rem; }
  .ls-hero-c .wn-hero-sub .l1, .ls-hero-c .wn-hero-sub .l2{ max-width:560px; }
  .ls-cta-row .ls-cta-btn{ width:100%; justify-content:center; text-align:center; }
  .ls-browser{ margin:22px auto 26px; }
  .ls-hero-stats{ position:relative; left:auto; bottom:auto; transform:none; width:100%; max-width:100%; box-sizing:border-box; margin:18px auto 0; flex-wrap:wrap; justify-content:center; row-gap:14px; padding:18px 10px; background:rgba(255,255,255,0.055); border:1px solid rgba(255,255,255,0.12); box-shadow:0 18px 40px rgba(6,18,58,0.32); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
  .ls-fs{ flex:1 1 40%; padding:0 16px; }
  .ls-fs b{ font-size:1.3rem; }
  .ls-fs span{ font-size:0.8rem; color:rgba(255,255,255,0.62); }
  .ls-fs:not(:first-child)::before{ background:rgba(255,255,255,0.14); }
  .ls-fs:nth-child(3)::before{ display:none; }
  .ls-hero-badges{ right:8px; gap:7px; }
  .ls-hb{ width:auto; padding:6px 11px 6px 6px; }
  .ls-hb .ic{ width:24px; height:24px; }
  .ls-hb .ic svg{ width:14px; height:14px; }
  .ls-hb b{ font-size:0.62rem; white-space:nowrap; }
}


/* Sub-Text zweigeteilt wie Startseite (exakter Umbruch) */
.ls-hero-c .wn-hero-sub .l1{ display:block; max-width:840px; margin:0 auto; text-wrap:balance; }
.ls-hero-c .wn-hero-sub .l2{ display:block; max-width:800px; margin:0 auto; text-wrap:balance; }


/* Feature-Badges (rechts schwebend, wie Startseite) */
.ls-hero-badges{ position:absolute; top:50%; right:-34px; transform:translateY(-50%); display:flex; flex-direction:column; align-items:flex-end; gap:15px; z-index:6; }
.ls-hb{ display:flex; align-items:center; gap:11px; background:#fff; border-radius:14px; padding:12px 20px 12px 11px; box-shadow:0 22px 55px rgba(6,18,58,0.4); width:236px; box-sizing:border-box; }
.ls-hb .ic{ width:36px; height:36px; border-radius:10px; background:var(--gradient); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ls-hb b{ font-size:0.86rem; font-weight:800; color:var(--dark); line-height:1.2; }
.ls-hb.is-highlight{ background:var(--gradient); box-shadow:0 24px 60px rgba(0,150,170,0.5); }
.ls-hb.is-highlight b{ color:#fff; font-weight:900; }
.ls-hb.is-highlight .ic{ background:rgba(255,255,255,0.22); }
@media (max-width:1080px){
  .ls-hero-stats{ padding:16px 6px; bottom:-36px; }
  .ls-fs{ padding:0 14px; }
  .ls-fs b{ font-size:1.15rem; }
  .ls-fs span{ font-size:0.68rem; }
  .ls-fs:not(:first-child)::before{ height:24px; }
  .ls-hero-badges{ right:6px; gap:9px; }
  .ls-hb{ width:auto; max-width:none; padding:7px 13px 7px 7px; gap:8px; border-radius:11px; box-shadow:0 10px 24px rgba(6,18,58,0.16); }
  .ls-hb .ic{ width:28px; height:28px; border-radius:8px; }
  .ls-hb .ic svg{ width:16px; height:16px; }
  .ls-hb b{ font-size:0.74rem; line-height:1.1; white-space:nowrap; }
  .ls-hb.is-highlight{ box-shadow:0 12px 28px rgba(0,150,170,0.32); }
}


@media (max-width:480px){
  .ls-hb{ padding:5px 10px 5px 5px; gap:6px; }
  .ls-hb .ic{ width:22px; height:22px; }
  .ls-hb .ic svg{ width:13px; height:13px; }
  .ls-hb b{ font-size:0.62rem; }
  .ls-hero-badges{ right:30px; gap:6px; }
}

/* Hero-CTA exakt wie Startseite (rx-btn-lg) */
.ls-cta-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--magenta); color:#fff; font-weight:800; font-size:0.88rem; line-height:1.15; padding:23px 30px; border-radius:13px; text-decoration:none; box-shadow:0 10px 32px rgba(232,0,90,0.42); transition:transform .2s, box-shadow .2s; }
.ls-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(232,0,90,0.5); }
.ls-cta-sub{ font-weight:600; opacity:0.82; }

/* Hub: Body-Sektionen auf dieselbe Content-Linie wie Hero/Kacheln (x=88) */
.ls-hub .ls-wrap{ max-width:var(--maxw); padding-left:var(--pad); padding-right:var(--pad); }

/* Hub: 4 Job-Cluster-Kacheln */
.ls-clusters{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ls-cluster{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--border); border-radius:18px; padding:28px; text-decoration:none; color:inherit; transition:transform .18s, box-shadow .18s, border-color .18s; }
.ls-cluster:hover{ transform:translateY(-3px); box-shadow:0 20px 50px rgba(6,18,58,0.10); border-color:rgba(0,180,200,0.38); }
.ls-cluster-ic{ width:52px; height:52px; border-radius:14px; background:var(--gradient); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.ls-cluster-ic svg{ width:26px; height:26px; }
.ls-cluster h3{ font-size:1.3rem; font-weight:800; color:var(--dark); margin:0 0 8px; letter-spacing:-0.01em; }
.ls-cluster p{ font-size:0.95rem; color:var(--body); line-height:1.55; margin:0 0 16px; flex:1; }
.ls-cluster-more{ font-weight:800; color:var(--magenta); font-size:0.9rem; }
@media(max-width:760px){ .ls-clusters{ grid-template-columns:1fr; } .ls-cluster{ padding:24px; } }

@media(max-width:560px){ .ls-trustline{ gap:6px 10px; } }

/* Mobil: Sektions-Texte linksbündig (bessere Lesbarkeit) */
@media(max-width:600px){
  .ls-h2{ text-align:left; }
  .ls-sec .ls-wrap > p{ text-align:left !important; }
  .ls-sec .ls-wrap > p{ margin-left:0; margin-right:0; }
}

/* Fix: Stats-Box mobil ohne negativen Offset (sonst überlappt das Testimonial) */
@media(max-width:768px){ .ls-hero-stats{ bottom:auto; margin-bottom:0; } }
