.landingpage { background: #f4f8fa; }
.landing-kopf { width: min(1240px, calc(100% - 36px)); margin: 0 auto; min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.landing-marke img { width: 190px; height: 72px; object-fit: contain; object-position: left center; }
.landing-kopf nav { display: flex; align-items: center; gap: 22px; }
.landing-kopf nav > a:not(.schaltflaeche) { color: #40525f; font-weight: 700; }
.landing-kopf nav > a:not(.schaltflaeche):hover { color: var(--primaer); }
.landing-hero { width: min(1240px, calc(100% - 36px)); margin: 34px auto 84px; display: grid; grid-template-columns: 1.02fr .98fr; gap: clamp(36px, 6vw, 86px); align-items: center; }
.hero-inhalt h1 { margin: 10px 0 20px; font-size: clamp(42px, 5.4vw, 72px); line-height: 1.01; letter-spacing: -.055em; max-width: 780px; }
.hero-text { max-width: 700px; margin: 0; color: var(--text-zart); font-size: clamp(17px, 2vw, 21px); line-height: 1.65; }
.hero-aktionen { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 24px; }
.hero-merkmale { display: flex; flex-wrap: wrap; gap: 8px; }
.hero-merkmale span { padding: 7px 10px; border: 1px solid #cddbe4; border-radius: 999px; background: rgba(255,255,255,.72); color: #526572; font-size: 13px; font-weight: 700; }
.hero-visual { border: 1px solid #bfd2de; border-radius: 24px; background: white; box-shadow: 0 30px 80px rgba(10, 54, 84, .17); overflow: hidden; transform: none; }
.visual-kopf { height: 44px; padding: 0 18px; display: flex; align-items: center; gap: 7px; background: #e9f1f5; border-bottom: 1px solid #d0dde5; }
.visual-kopf span { width: 10px; height: 10px; border-radius: 50%; background: #9eb2bf; }
.visual-inhalt { padding: 28px; }
.visual-titel { display: flex; justify-content: space-between; gap: 18px; align-items: baseline; border-bottom: 1px solid var(--linie); padding-bottom: 18px; }
.visual-titel strong { font-size: 25px; }
.visual-titel small { color: var(--text-zart); }
.visual-raster { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 20px 0; }
.visual-raster div { padding: 14px; border-radius: 11px; background: #f5f8fa; }
.visual-raster small, .visual-raster strong { display: block; }
.visual-raster small { color: var(--text-zart); margin-bottom: 3px; }
.visual-status { display: flex; flex-wrap: wrap; gap: 8px; }
.visual-status span { padding: 7px 9px; border-radius: 7px; background: #e6f5ea; color: #24743a; font-size: 12px; font-weight: 800; }
.visual-auto { margin-top: 28px; height: 155px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg, #edf5f9, #f8fbfc); overflow: hidden; }
.visual-auto img { width: 290px; opacity: .9; }
.landing-abschnitt { width: min(1240px, calc(100% - 36px)); margin: 0 auto 90px; }
.abschnitt-kopf { max-width: 760px; margin-bottom: 34px; }
.abschnitt-kopf h2, .landing-band h2, .landing-cta h2 { margin: 7px 0 10px; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; letter-spacing: -.04em; }
.abschnitt-kopf > p:last-child { color: var(--text-zart); font-size: 17px; }
.funktionsraster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.funktionsraster article { padding: 26px; border: 1px solid var(--linie); border-radius: 16px; background: white; box-shadow: 0 12px 34px rgba(18,45,64,.06); }
.funktionsnummer { color: var(--akzent); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.funktionsraster h3 { margin: 12px 0 8px; font-size: 20px; }
.funktionsraster p { margin: 0; color: var(--text-zart); }
.landing-band { padding: 66px max(18px, calc((100vw - 1240px) / 2)); display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; background: #0b3554; color: white; }
.landing-band .ueberzeile { color: #72c986; }
.zielgruppen { display: flex; flex-wrap: wrap; gap: 10px; }
.zielgruppen span { padding: 11px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; background: rgba(255,255,255,.08); font-weight: 750; }
.landing-cta { width: min(1240px, calc(100% - 36px)); margin: 78px auto; padding: 30px 34px; display: grid; grid-template-columns: 180px 1fr auto; gap: 28px; align-items: center; border: 1px solid #c9dae4; border-radius: 20px; background: white; box-shadow: var(--schatten); }
.landing-cta img { width: 170px; }
.landing-cta h2 { font-size: clamp(26px, 3vw, 40px); margin-bottom: 0; }
.landing-fuss { width: min(1240px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 40px; border-top: 1px solid var(--linie); display: flex; justify-content: space-between; gap: 24px; color: var(--text-zart); }
.landing-fuss div { display: grid; gap: 2px; }
.landing-fuss strong { color: var(--text); }
.landing-fuss nav { display: flex; align-items: center; gap: 18px; }
.landing-fuss a { color: var(--text-zart); }
.landing-fuss a:hover { color: var(--primaer); }
@media (max-width: 900px) {
    .landing-kopf nav > a:not(.schaltflaeche) { display: none; }
    .landing-hero { grid-template-columns: 1fr; margin-top: 20px; }
    .hero-visual { max-width: 680px; transform: none; }
    .funktionsraster { grid-template-columns: repeat(2, 1fr); }
    .landing-band { grid-template-columns: 1fr; }
    .landing-cta { grid-template-columns: 130px 1fr; }
    .landing-cta .schaltflaeche { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .landing-kopf { min-height: 72px; }
    .landing-marke img { width: 145px; height: 58px; }
    .landing-kopf .schaltflaeche { min-height: 38px; padding: 8px 12px; font-size: 13px; }
    .landing-hero { width: min(100% - 24px, 1240px); margin-bottom: 58px; }
    .hero-inhalt h1 { font-size: 42px; }
    .hero-aktionen .schaltflaeche { width: 100%; }
    .visual-inhalt { padding: 18px; }
    .visual-titel { align-items: flex-start; flex-direction: column; gap: 4px; }
    .visual-raster { grid-template-columns: 1fr; }
    .visual-auto { height: 110px; }
    .funktionsraster { grid-template-columns: 1fr; }
    .landing-cta { grid-template-columns: 1fr; text-align: center; }
    .landing-cta img { margin: 0 auto; }
    .landing-fuss { flex-direction: column; }
    .landing-fuss nav { flex-wrap: wrap; }
}

.landing-hero { position: relative; }
.landing-hero::before { content: ""; position: absolute; width: 430px; height: 430px; right: -110px; top: -90px; border-radius: 50%; background: radial-gradient(circle, rgba(61,177,92,.18), rgba(11,79,131,.05) 55%, transparent 72%); filter: blur(4px); z-index: -1; }
.hero-visual { position: relative; transition: transform .35s ease, box-shadow .35s ease; }
.hero-visual:hover { transform: translateY(-7px); box-shadow: 0 40px 95px rgba(10,54,84,.24); }
.hero-visual::after { content: "Digital erfasst"; position: absolute; right: 18px; top: 58px; padding: 8px 12px; border-radius: 999px; background: #daf3e0; color: #176b2e; font-size: 12px; font-weight: 900; box-shadow: 0 8px 24px rgba(23,107,46,.16); }
.landing-beweise { width: min(1240px, calc(100% - 36px)); margin: -34px auto 92px; display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; position: relative; z-index: 2; }
.landing-beweise article { padding: 23px 24px; border: 1px solid #cbdce6; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 16px 42px rgba(20,58,83,.09); }
.landing-beweise strong,.landing-beweise span { display:block; }
.landing-beweise strong { margin-bottom: 7px; font-size: 18px; color: #0b3554; }
.landing-beweise span { color: var(--text-zart); line-height: 1.55; }
.landing-prozess { width: min(1240px, calc(100% - 36px)); margin: 0 auto 92px; padding: clamp(28px,5vw,58px); display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px,6vw,80px); align-items:center; border-radius: 26px; background: linear-gradient(135deg,#082f4c,#0b568b); color:white; box-shadow: 0 30px 70px rgba(5,42,68,.22); overflow:hidden; position:relative; }
.landing-prozess::after { content:""; position:absolute; width:350px; height:350px; right:-100px; bottom:-170px; border-radius:50%; border:70px solid rgba(91,205,113,.12); }
.prozess-inhalt { position:relative; z-index:1; }
.prozess-inhalt .ueberzeile { color:#7fe095; }
.prozess-inhalt h2 { margin:8px 0 14px; font-size:clamp(34px,4.5vw,56px); letter-spacing:-.045em; }
.prozess-inhalt > p:not(.ueberzeile) { color:rgba(255,255,255,.78); font-size:17px; line-height:1.7; }
.prozess-schritte { margin-top:26px; display:grid; gap:10px; }
.prozess-schritte span { display:flex; align-items:center; gap:12px; font-weight:750; }
.prozess-schritte b { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:#4dbb65; color:#07351a; }
.prozess-panel { position:relative; z-index:1; padding:20px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.1); backdrop-filter:blur(12px); box-shadow:0 20px 55px rgba(0,0,0,.18); }
.panel-kopf { display:flex; justify-content:space-between; gap:14px; padding:4px 4px 16px; border-bottom:1px solid rgba(255,255,255,.16); }
.panel-kopf span { color:rgba(255,255,255,.68); }
.panel-zeile { display:grid; grid-template-columns:12px 1fr auto; gap:12px; align-items:center; padding:16px 4px; border-bottom:1px solid rgba(255,255,255,.1); }
.panel-zeile:last-child { border-bottom:0; }
.panel-zeile div strong,.panel-zeile div small { display:block; }
.panel-zeile div small { color:rgba(255,255,255,.65); margin-top:3px; }
.panel-zeile > span { padding:6px 9px; border-radius:8px; background:rgba(255,255,255,.12); font-size:12px; font-weight:800; }
.punkt { width:10px; height:10px; border-radius:50%; } .punkt.gruen{background:#61d77a}.punkt.blau{background:#67b8ff}.punkt.orange{background:#ffb34f}
@media (max-width:900px){.landing-beweise{grid-template-columns:1fr;margin-top:0}.landing-prozess{grid-template-columns:1fr}.hero-visual:hover{transform:none}}

/*
<!-- 
    ***********************************************
    *  Layout and development by ceis-it.de  *
    ***********************************************
-->
*/

/* Verbesserte Kontraste auf hellen Flächen */
.hero-text,
.visual-titel small,
.visual-raster small,
.abschnitt-kopf > p:last-child,
.funktionsraster p,
.landing-beweise span,
.landing-fuss,
.landing-fuss a { color: #40515d; }
.hero-merkmale span { color: #334954; border-color: #b9cbd5; background: #ffffff; }
@media (max-width: 620px) {
    .hero-text,
    .abschnitt-kopf > p:last-child,
    .funktionsraster p,
    .landing-beweise span { font-size: 16px; line-height: 1.6; }
}
