
:root{
    --bg:#050912;
    --bg2:#08111f;
    --surface:rgba(13,21,34,.78);
    --surface-solid:#0d1522;
    --surface2:rgba(18,29,46,.88);
    --border:rgba(142,178,255,.16);
    --border-strong:rgba(93,155,255,.45);
    --blue:#2f7cff;
    --blue2:#5d9bff;
    --cyan:#6bd6ff;
    --green:#7cffcb;
    --violet:#765dff;
    --text:#ffffff;
    --muted:#9eb0cb;
    --danger:#ff8585;
    --warning:#ffe176;
    --shadow:0 30px 90px rgba(0,0,0,.42);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    color:var(--text);
    min-height:100vh;
    background:
        radial-gradient(circle at 86% 4%, rgba(47,124,255,.28), transparent 28%),
        radial-gradient(circle at 8% 82%, rgba(118,93,255,.22), transparent 32%),
        radial-gradient(circle at 52% 48%, rgba(107,214,255,.08), transparent 35%),
        linear-gradient(145deg,var(--bg),var(--bg2) 65%,#05070d);
    overflow-x:hidden;
}
body.cookies-locked{overflow:hidden;}
body.cookies-locked #site-content{
    filter:blur(8px) brightness(.56);
    pointer-events:none;
    user-select:none;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 82%);
}
body::after{
    content:"";
    position:fixed;
    width:420px;height:420px;
    right:-190px;top:140px;
    border-radius:999px;
    background:rgba(47,124,255,.12);
    filter:blur(28px);
    pointer-events:none;
}
a{color:inherit;}
.container{width:min(1240px,92%);margin-inline:auto;}
.site-shell{position:relative;z-index:1;transition:.35s ease;}

/* NAV */
.nav{
    position:fixed;inset:0 0 auto 0;height:88px;z-index:1000;
    backdrop-filter:blur(22px);
    background:linear-gradient(to bottom,rgba(5,9,18,.88),rgba(5,9,18,.58));
    border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:flex;align-items:center;justify-content:center;gap:13px;text-decoration:none;}
.brand-mark{width:46px;height:46px;border-radius:14px;object-fit:contain;display:block;margin:auto;box-shadow:0 0 34px rgba(47,124,255,.22);}
.brand-logo-only{gap:0;display:flex;align-items:center;justify-content:center;width:78px;height:78px;}
.brand-logo-only .brand-mark{width:64px;height:64px;border-radius:18px;object-fit:contain;display:block;margin:auto;box-shadow:0 0 38px rgba(47,124,255,.28);}

.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-name{font-size:1.25rem;font-weight:850;letter-spacing:.2px;}
.brand-name span{color:var(--blue2);}
.brand-subtitle{font-size:.74rem;color:var(--muted);margin-top:4px;}
.menu{display:flex;align-items:center;gap:28px;}
.menu a:not(.login-btn){font-weight:650;font-size:.95rem;text-decoration:none;color:rgba(255,255,255,.82);transition:.25s;}
.menu a:not(.login-btn):hover{color:var(--cyan);}
/* HERO */
.hero{min-height:100vh;padding:138px 0 86px;display:flex;align-items:center;position:relative;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:50px;align-items:center;}
.eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    padding:10px 16px;border:1px solid rgba(93,155,255,.25);
    border-radius:999px;background:rgba(13,21,34,.64);
    color:#c7dbff;font-weight:750;font-size:.9rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green);}
.hero h1{font-size:clamp(3rem,7vw,6.9rem);line-height:.93;letter-spacing:-.065em;margin:24px 0;}
.hero h1 span{display:block;background:linear-gradient(135deg,#fff 5%,#8cc8ff 52%,#765dff);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p{font-size:1.15rem;line-height:1.75;color:var(--muted);max-width:680px;}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:34px;}
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    min-height:52px;padding:0 22px;border-radius:17px;
    text-decoration:none;font-weight:800;transition:.25s;border:1px solid transparent;
}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 22px 55px rgba(47,124,255,.34);}
.btn-secondary{background:rgba(255,255,255,.04);border-color:var(--border);color:#dfeaff;}
.btn:hover{transform:translateY(-3px);}
.hero-proof{display:flex;gap:15px;flex-wrap:wrap;margin-top:32px;}
.proof-item{padding:14px 16px;border-radius:18px;background:rgba(13,21,34,.62);border:1px solid var(--border);min-width:160px;}
.proof-item strong{display:block;font-size:1.35rem;}
.proof-item span{display:block;color:var(--muted);font-size:.88rem;margin-top:3px;}
.hero-visual{position:relative;min-height:560px;}
.orb{
    position:absolute;border-radius:999px;filter:blur(.2px);opacity:.92;
    background:linear-gradient(135deg,rgba(47,124,255,.7),rgba(107,214,255,.35));
    box-shadow:0 40px 110px rgba(47,124,255,.25);
}
.orb.one{width:220px;height:220px;right:10px;top:10px;}
.orb.two{width:140px;height:140px;left:22px;bottom:40px;background:linear-gradient(135deg,rgba(124,255,203,.55),rgba(47,124,255,.28));}
.dashboard-card{
    position:absolute;inset:50px 18px auto auto;width:min(500px,100%);
    border-radius:34px;padding:24px;
    background:linear-gradient(145deg,rgba(18,29,46,.86),rgba(7,14,26,.78));
    border:1px solid rgba(142,178,255,.20);box-shadow:var(--shadow);
    backdrop-filter:blur(18px);
}
.dashboard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.window-dots{display:flex;gap:7px;}
.window-dots i{display:block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.28);}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;}
.metric{border-radius:22px;padding:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);}
.metric span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:8px;}
.metric strong{font-size:1.55rem;}
.bars{display:grid;gap:11px;padding:18px;border-radius:24px;background:rgba(5,9,18,.45);border:1px solid rgba(255,255,255,.06);}
.bar{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;}
.bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--cyan));}
.floating-card{
    position:absolute;width:210px;padding:18px;border-radius:26px;background:rgba(13,21,34,.84);
    border:1px solid rgba(142,178,255,.20);box-shadow:0 24px 70px rgba(0,0,0,.35);backdrop-filter:blur(18px);
}
.floating-card img{width:62px;height:62px;margin-bottom:12px;}
.floating-card strong{display:block;}
.floating-card span{display:block;color:var(--muted);font-size:.82rem;margin-top:5px;line-height:1.45;}
.float-1{left:0;top:95px;}
.float-2{left:90px;bottom:122px;}
.float-3{right:38px;bottom:10px;}

/* SECTIONS */
section{padding:104px 0;position:relative;}
.section-heading{text-align:center;max-width:780px;margin:0 auto 58px;}
.section-kicker{color:var(--cyan);font-weight:850;letter-spacing:.18em;font-size:.76rem;text-transform:uppercase;margin-bottom:12px;}
.section-heading h2{font-size:clamp(2.3rem,5vw,4.1rem);letter-spacing:-.045em;line-height:1.05;}
.section-heading p{margin-top:16px;color:var(--muted);font-size:1.05rem;line-height:1.7;}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.service-card{
    position:relative;overflow:hidden;min-height:300px;padding:28px;
    border-radius:30px;background:linear-gradient(145deg,rgba(13,21,34,.82),rgba(18,29,46,.62));
    border:1px solid var(--border);box-shadow:0 20px 70px rgba(0,0,0,.19);transition:.3s;
}
.service-card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 82% 10%,rgba(93,155,255,.24),transparent 35%);opacity:0;transition:.3s;}
.service-card:hover{transform:translateY(-8px);border-color:var(--border-strong);box-shadow:0 24px 80px rgba(47,124,255,.16);}
.service-card:hover::before{opacity:1;}
.service-card > *{position:relative;z-index:1;}
.service-icon{width:88px;height:88px;border-radius:26px;margin-bottom:22px;display:grid;place-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);}
.service-icon img{width:74px;height:74px;}
.service-card h3{font-size:1.35rem;margin-bottom:10px;}
.service-card p{color:var(--muted);line-height:1.7;}
.card-link{display:inline-flex;margin-top:20px;color:#cfe4ff;text-decoration:none;font-weight:800;}

.process{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step{padding:28px;border-radius:28px;background:rgba(13,21,34,.68);border:1px solid var(--border);}
.step-number{width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;font-weight:900;margin-bottom:18px;}
.step h3{margin-bottom:10px;}.step p{color:var(--muted);line-height:1.7;}

.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:stretch;}
.panel{background:rgba(13,21,34,.78);border:1px solid var(--border);border-radius:30px;padding:30px;box-shadow:0 18px 70px rgba(0,0,0,.18);} .panel-intro{color:var(--muted);line-height:1.7;margin-top:10px;}
.contact-list{display:grid;gap:16px;margin-top:26px;}
.contact-item{display:flex;gap:14px;align-items:flex-start;color:var(--muted);line-height:1.5;}
.contact-bullet{width:36px;height:36px;border-radius:13px;background:rgba(47,124,255,.13);border:1px solid rgba(93,155,255,.25);display:grid;place-items:center;color:#cfe4ff;font-weight:900;flex:0 0 auto;}
.contact-item small{color:rgba(158,176,203,.82);font-size:.82rem;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.form-field.full{grid-column:1/-1;}
label{font-size:.88rem;color:#cfe4ff;font-weight:750;}
input,textarea{
    width:100%;border:1px solid rgba(142,178,255,.17);border-radius:16px;background:rgba(5,9,18,.58);
    color:var(--text);padding:15px 16px;outline:none;font:inherit;transition:.25s;
}
input:focus,textarea:focus{border-color:rgba(93,155,255,.72);box-shadow:0 0 0 4px rgba(47,124,255,.13);}
textarea{resize:vertical;min-height:150px;}
button{font:inherit;}
.submit-btn{width:100%;min-height:54px;border:0;border-radius:17px;background:linear-gradient(135deg,var(--blue),var(--violet));color:white;font-weight:900;cursor:pointer;box-shadow:0 20px 50px rgba(47,124,255,.24);}
.form-message{margin-bottom:16px;padding:14px 16px;border-radius:16px;line-height:1.5;font-weight:500;}
.form-message.success{background:rgba(124,255,203,.10);border:1px solid rgba(124,255,203,.28);color:#d9fff0;}
.form-message.error{background:rgba(255,133,133,.10);border:1px solid rgba(255,133,133,.28);color:#ffe0e0;}


/* CONTACT COOLDOWN / SPAMSCHUTZ */
.cooldown-box{
    margin-bottom:18px;
    padding:15px 17px;
    border-radius:17px;
    border:1px solid rgba(255,190,90,.35);
    background:linear-gradient(145deg,rgba(255,190,90,.12),rgba(255,255,255,.035));
    color:#fff3cf;
    font-weight:500 !important;
    line-height:1.5;
    box-shadow:0 16px 42px rgba(0,0,0,.18);
}

.cooldown-box strong{
    color:#ffe176;
    font-weight:950 !important;
}

.submit-btn:disabled{
    opacity:.55;
    cursor:not-allowed;
    filter:saturate(.72);
    box-shadow:none;
    transform:none;
}

.submit-btn:disabled:hover{
    transform:none;
}


/* FOOTER */
.footer{border-top:1px solid rgba(255,255,255,.07);padding:34px 0;color:var(--muted);}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.footer a{color:var(--muted);text-decoration:none;margin-left:18px;}.footer a:hover{color:white;}

/* LEGAL */
.legal-page{padding-top:146px;}.legal-card{max-width:960px;margin:0 auto;background:rgba(13,21,34,.76);border:1px solid var(--border);border-radius:30px;padding:36px;}.legal-card h1{font-size:3rem;margin-bottom:18px;}.legal-card h2{margin-top:28px;margin-bottom:10px;}.legal-card p,.legal-card li{color:var(--muted);line-height:1.7;}.legal-card ul{padding-left:22px;}.legal-content h2{margin-top:28px;margin-bottom:10px;}.legal-content h3{margin-top:22px;margin-bottom:8px;}.legal-content a{color:#cfe4ff;}

/* COOKIE CENTER */
.cookie-overlay{
    position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:24px;
    background:radial-gradient(circle at 50% 18%,rgba(47,124,255,.28),transparent 28%),rgba(3,6,12,.76);
    backdrop-filter:blur(18px);
}
body.cookies-locked .cookie-overlay{display:flex;}
.cookie-modal{
    width:min(1040px,100%);max-height:min(92vh,900px);overflow:auto;
    border-radius:34px;background:linear-gradient(145deg,rgba(14,23,38,.98),rgba(8,13,24,.98));
    border:1px solid rgba(142,178,255,.22);box-shadow:0 38px 130px rgba(0,0,0,.72), inset 0 1px 0 rgba(255,255,255,.06);
}
.cookie-header{padding:28px 30px 20px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;border-bottom:1px solid rgba(255,255,255,.07);}
.cookie-icon{width:62px;height:62px;border-radius:22px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;box-shadow:0 18px 50px rgba(47,124,255,.3);}
.cookie-icon svg{width:34px;height:34px;}
.cookie-header h2{font-size:clamp(1.7rem,3vw,2.45rem);letter-spacing:-.03em;}.cookie-header p{color:var(--muted);line-height:1.65;margin-top:8px;}
.cookie-body{padding:26px 30px 30px;}
.cookie-info{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;}
.cookie-choice{
    display:flex;flex-direction:column;gap:14px;min-height:100%;padding:20px;border-radius:26px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
}
.cookie-choice.highlight{background:linear-gradient(145deg,rgba(47,124,255,.16),rgba(118,93,255,.08));border-color:rgba(93,155,255,.36);}
.choice-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}.choice-top h3{font-size:1.15rem;}.choice-badge{padding:7px 10px;border-radius:999px;background:rgba(124,255,203,.10);color:var(--green);font-size:.75rem;font-weight:900;border:1px solid rgba(124,255,203,.22);white-space:nowrap;}
.cookie-choice p{color:var(--muted);line-height:1.6;}
.cookie-list{display:grid;gap:9px;margin-top:auto;}.cookie-list li{list-style:none;display:flex;align-items:flex-start;gap:9px;color:#dce9ff;font-size:.92rem;line-height:1.35;}.cookie-list .ok::before{content:"✓";color:var(--green);font-weight:900;}.cookie-list .no::before{content:"✕";color:var(--danger);font-weight:900;}
.cookie-details{border-radius:24px;background:rgba(5,9,18,.48);border:1px solid rgba(255,255,255,.07);padding:18px;margin:18px 0;}
.cookie-details h3{margin-bottom:10px;}.cookie-details p{color:var(--muted);line-height:1.65;}.cookie-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;}
.cookie-chip{padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);}.cookie-chip strong{display:block;font-size:.9rem;}.cookie-chip span{display:block;color:var(--muted);font-size:.78rem;margin-top:4px;line-height:1.35;}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}.cookie-btn{border:0;border-radius:18px;min-height:58px;padding:0 18px;font-weight:950;color:white;cursor:pointer;transition:.25s;}.cookie-btn.accept{background:linear-gradient(135deg,var(--blue),var(--violet));box-shadow:0 20px 55px rgba(47,124,255,.28);}.cookie-btn.limited{background:rgba(255,255,255,.06);border:1px solid rgba(142,178,255,.22);}.cookie-btn:hover{transform:translateY(-2px);}
.cookie-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:16px;}.cookie-links a{color:var(--muted);font-size:.9rem;}.cookie-links a:hover{color:white;}
.consent-note{margin-top:12px;text-align:center;color:rgba(158,176,203,.82);font-size:.82rem;line-height:1.5;}

@media(max-width:1040px){
    .hero-grid{grid-template-columns:1fr;gap:36px;}
    .hero-copy{text-align:center;margin-inline:auto;}
    .hero p{margin-inline:auto;}
    .hero-actions{justify-content:center;}
    .hero-visual{min-height:470px;}
    .dashboard-card{left:50%;right:auto;transform:translateX(-50%);}
    .service-grid{grid-template-columns:repeat(2,1fr);}
    .process{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .cookie-details-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:720px){
    .nav{height:auto;min-height:76px;}
    .nav-inner{height:auto;min-height:76px;padding:9px 0;gap:10px;}
    .brand-logo-only{width:60px;height:60px;}
    .brand-logo-only .brand-mark{width:52px;height:52px;border-radius:16px;}
    .menu{gap:8px;flex-wrap:wrap;justify-content:flex-end;}
    .menu a:not(.login-btn){display:inline-flex;align-items:center;min-height:34px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(142,178,255,.12);font-size:.78rem;}
    .hero{padding-top:122px;padding-bottom:54px;min-height:auto;}
    .hero h1{font-size:clamp(2.55rem,14vw,4.1rem);line-height:1;}
    .hero p{font-size:1rem;line-height:1.65;}
    .hero-visual{display:none;}
    section{padding:70px 0;}
    .section-heading{margin-bottom:34px;}
    .section-heading h2{font-size:2.2rem;}
    .service-grid{grid-template-columns:1fr;}
    .service-card{min-height:0;padding:24px;}
    .process{grid-template-columns:1fr;}
    .form-grid{grid-template-columns:1fr;}
    .panel{padding:22px;border-radius:24px;}
    .contact-item{font-size:.95rem;}
    .footer-inner{display:grid;text-align:center;justify-content:center;}
    .footer a{margin:0 9px;}
    .cookie-header{grid-template-columns:1fr;text-align:center;}
    .cookie-icon{margin:auto;}
    .cookie-info{grid-template-columns:1fr;}
    .cookie-actions{grid-template-columns:1fr;}
    .cookie-details-grid{grid-template-columns:1fr;}
    .cookie-modal{border-radius:26px;}
    .cookie-body,.cookie-header{padding-left:20px;padding-right:20px;}
}
@media(max-width:430px){
    .container{width:min(100% - 28px,1240px);}
    .menu a[href="#ablauf"]{display:none;}
    .menu{max-width:230px;}
    .hero{padding-top:114px;}
    .hero-actions{display:grid;grid-template-columns:1fr;width:100%;}
    .btn{width:100%;}
    .legal-card{padding:24px;border-radius:24px;}
    .legal-card h1{font-size:2.25rem;}
}
@media(max-width:560px){
    .nav-inner{align-items:flex-start;}
    .menu{padding-top:7px;}
    .menu a:not(.login-btn){font-size:.76rem;padding:0 8px;}
}
