:root{
  --bg:#020914;
  --bg-soft:#06172a;
  --panel:rgba(8,34,58,.78);
  --panel-strong:#0a243d;
  --text:#f5f9ff;
  --muted:#aebbd0;
  --line:rgba(255,255,255,.11);
  --red:#f11135;
  --red-soft:#ff4561;
  --blue:#14b8ff;
  --blue-soft:#7cdcff;
  --shadow:0 26px 80px rgba(0,0,0,.36);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 0%,rgba(241,17,53,.11),transparent 30%),
    radial-gradient(circle at 92% 22%,rgba(20,184,255,.12),transparent 32%),
    var(--bg);
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
[hidden]{display:none!important}
.page-glow{position:fixed;inset:0;pointer-events:none;z-index:-3;background:radial-gradient(circle at 50% 40%,rgba(20,184,255,.04),transparent 45%)}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  min-height:88px;
  padding:12px 6vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:rgba(2,9,20,.82);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(18px);
}
.logo-brand{display:flex;align-items:center;min-width:190px}
.brand-logo-img{width:210px;max-height:62px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700}
.nav a,.nav button{opacity:.82;transition:.25s}
.nav a:hover,.nav a.active,.nav button:hover{opacity:1;color:#fff}
.nav-cta,.btn.primary{background:linear-gradient(135deg,var(--red),#bd0827);box-shadow:0 10px 35px rgba(241,17,53,.24)}
.nav-cta{padding:13px 18px;border-radius:999px;opacity:1!important}
.menu-btn{display:none;background:none;border:0;font-size:30px;cursor:pointer}
.logout-btn{background:none;border:0;cursor:pointer;font-weight:800}

.hero{position:relative;min-height:calc(100vh - 88px);display:flex;align-items:center;padding:100px 6vw 90px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('hero-bg.png') center/cover no-repeat;opacity:.24;transform:scale(1.05);animation:bgMove 16s ease-in-out alternate infinite}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,9,20,.98) 0%,rgba(2,9,20,.92) 34%,rgba(2,9,20,.64) 66%,rgba(2,9,20,.92) 100%),linear-gradient(0deg,rgba(2,9,20,.98),transparent 48%,rgba(2,9,20,.74))}
.scanner{position:absolute;top:0;bottom:0;width:38%;background:linear-gradient(90deg,transparent,rgba(20,184,255,.09),transparent);animation:scan 7s linear infinite}
.light-beam{position:absolute;height:72px;width:45vw;bottom:18%;filter:blur(10px);opacity:.48;transform:skewX(-34deg)}
.beam-red{left:23%;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.beam-blue{left:47%;background:linear-gradient(90deg,transparent,var(--blue),transparent)}
.hero-content{position:relative;z-index:4;width:min(760px,62vw)}
.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:2px;font-weight:900;color:var(--red);font-size:13px}
.hero h1{margin:0 0 28px;font-size:clamp(52px,6.7vw,104px);line-height:.94;letter-spacing:-4px;text-transform:uppercase;text-shadow:0 12px 45px #000}
.hero h1 span,.admin-intro h1 span{color:var(--blue)}
.hero-text{max-width:660px;margin:0;color:#e2ebf7;font-size:19px;line-height:1.75}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;border:1px solid transparent;border-radius:12px;font-weight:900;text-transform:uppercase;letter-spacing:.25px;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-3px);filter:brightness(1.08)}
.btn.ghost{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.045)}
.hero-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.hero-trust-row span{padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:#dce8f5;font-size:12px;font-weight:700}
.pulse-card{position:absolute;z-index:5;right:6vw;bottom:13vh;width:min(330px,30vw);padding:24px;border:1px solid var(--line);border-radius:24px;background:rgba(5,26,45,.7);backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.pulse-card strong{display:block;margin-bottom:8px;font-size:20px;line-height:1.25}
.pulse-card span{display:block;color:var(--muted);font-size:14px;line-height:1.6}
.pulse-line{height:34px;margin-bottom:14px;background:linear-gradient(90deg,transparent,var(--blue),var(--red),transparent);clip-path:polygon(0 50%,16% 50%,24% 22%,33% 80%,43% 50%,59% 50%,66% 28%,75% 72%,84% 50%,100% 50%);animation:pulse 1.6s ease-in-out infinite}
.floating-logo{position:absolute;z-index:2;right:1.5vw;top:48%;width:min(620px,42vw);transform:translateY(-50%);opacity:.2;filter:drop-shadow(0 0 55px rgba(20,184,255,.4));animation:floatLogo 6s ease-in-out infinite}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(5,24,41,.72)}
.trust-item{display:flex;align-items:center;gap:18px;padding:28px 5vw;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item strong{font-size:26px;color:var(--blue)}
.trust-item span{font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.4px}

.services-section,.process-section,.news-section,.admin-section{padding:110px 6vw}
.section-heading{width:min(780px,100%);margin:0 auto 48px;text-align:center}
.section-heading.left{margin-left:0;text-align:left}
.section-heading h2,.section-copy h2{margin:8px 0 18px;font-size:clamp(38px,5vw,70px);line-height:1.05;letter-spacing:-2px}
.section-heading>p:not(.eyebrow),.section-copy>p{color:var(--muted);font-size:17px;line-height:1.75}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-card,.process-card,.news-card,.value-panel,.admin-form,.admin-list-wrap,.admin-intro,.admin-status-cards article{
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(10,38,64,.8),rgba(3,15,28,.86));
  box-shadow:var(--shadow);
}
.service-card{padding:30px;border-radius:24px;min-height:310px;transition:.3s}
.service-card:hover{transform:translateY(-8px);border-color:rgba(20,184,255,.45)}
.service-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:15px;background:rgba(20,184,255,.1);font-size:27px;margin-bottom:28px}
.service-kicker{color:var(--red)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:1px}
.service-card h3,.process-card h3{font-size:23px;margin:8px 0 14px;text-transform:uppercase}
.service-card p,.process-card p,.news-card p,.value-panel p{color:var(--muted);line-height:1.7}

.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:110px 6vw}
.about-new{background:radial-gradient(circle at 90% 30%,rgba(20,184,255,.08),transparent 30%)}
.section-copy .btn{margin-top:18px}
.value-panel{padding:20px 30px;border-radius:28px}
.value-panel article{display:flex;gap:18px;padding:24px 4px;border-bottom:1px solid var(--line)}
.value-panel article:last-child{border-bottom:0}
.value-panel strong{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:rgba(241,17,53,.14);color:var(--red);font-size:20px}
.value-panel h3{margin:0 0 6px;font-size:19px}
.value-panel p{margin:0}

.process-section{background:linear-gradient(180deg,rgba(5,24,41,.38),rgba(2,9,20,.1))}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.process-card{padding:30px;border-radius:24px;min-height:270px}
.process-card>span{display:block;margin-bottom:28px;color:var(--red);font-weight:900;font-size:38px}

.news-section{padding-top:100px}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.news-card{padding:28px;border-radius:22px}
.news-card.featured{border-color:rgba(241,17,53,.4)}
.news-meta{display:flex;justify-content:space-between;gap:12px;color:var(--blue-soft);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.news-card h3{margin:18px 0 12px;font-size:22px}
.news-card p{margin:0}
.news-card.empty{grid-column:1/-1;text-align:center}

.cta-band{margin:30px 6vw 0;padding:42px 44px;border:1px solid rgba(241,17,53,.35);border-radius:28px;background:linear-gradient(135deg,rgba(241,17,53,.14),rgba(20,184,255,.08));display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-band h2{max-width:850px;margin:5px 0 0;font-size:clamp(30px,4vw,52px);line-height:1.08}

.contact-new{padding-top:100px}
.contact-details{display:grid;gap:14px;margin-top:28px}
.contact-details a,.contact-details>span{display:flex;align-items:center;gap:10px;color:#e9f4ff;font-weight:700}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px;border-radius:28px}
.contact-form label,.admin-form label{display:grid;gap:8px;color:#dce6f2;font-size:13px;font-weight:800}
.contact-form input,.contact-form textarea,.admin-form input,.admin-form textarea{
  width:100%;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(2,12,24,.82);color:#fff;padding:15px;outline:none;transition:.2s
}
.contact-form input:focus,.contact-form textarea:focus,.admin-form input:focus,.admin-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(20,184,255,.1)}
.contact-form textarea,.admin-form textarea{min-height:128px;resize:vertical}
.full{grid-column:1/-1}
.botcheck{display:none!important}

.footer{padding:70px 6vw 28px;border-top:1px solid var(--line);background:#010711}
.footer-container{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:45px;margin-bottom:46px}
.footer-logo-img{width:220px;max-height:80px;object-fit:contain;object-position:left center}
.footer-text{max-width:380px;color:var(--muted);line-height:1.7}
.footer-links{display:flex;flex-direction:column;gap:12px;color:var(--muted)}
.footer-links h4{margin:0 0 8px;color:#fff;font-size:16px}
.footer-links a:hover{color:var(--red-soft)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid var(--line);color:#8290a6;font-size:13px}
.footer-socials{display:flex;gap:18px}
.compact-footer{padding-top:30px}

/* Admin */
.admin-main{padding:60px 6vw 100px}
.admin-intro{padding:42px;border-radius:28px;margin-bottom:30px}
.admin-intro h1{margin:8px 0 14px;font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-2px}
.admin-intro>p:last-of-type{color:var(--muted);font-size:17px;line-height:1.7}
.admin-status-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.admin-status-cards article{padding:20px;border-radius:18px}
.admin-status-cards strong{display:block;font-size:26px;color:var(--blue)}
.admin-status-cards span{display:block;margin-top:4px;color:var(--muted);font-size:13px}
.admin-section{padding-left:0;padding-right:0}
.admin-section.alt{margin-left:-6vw;margin-right:-6vw;padding-left:6vw;padding-right:6vw;background:rgba(6,24,42,.42)}
.admin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:28px;border-radius:24px}
.admin-form.single{max-width:850px}
.toggle-row{display:flex!important;align-items:flex-start;gap:13px;padding:16px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}
.toggle-row input{width:20px!important;height:20px;margin-top:2px;accent-color:var(--red)}
.toggle-row span{display:grid;gap:3px}
.toggle-row small{color:var(--muted);font-weight:500;line-height:1.5}
.admin-actions{display:flex;gap:12px;flex-wrap:wrap}
.admin-hint{min-height:20px;color:var(--blue-soft);margin:0}
.admin-list-wrap{padding:26px;border-radius:24px}
.admin-list-wrap h3{margin-top:0;font-size:22px}
.admin-news-list{display:grid;gap:14px}
.admin-list-item{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.admin-list-item strong{display:block;margin:6px 0;font-size:17px}
.admin-list-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.admin-list-kicker{color:var(--blue-soft);font-size:11px;font-weight:800;text-transform:uppercase}
.admin-list-actions{display:flex;gap:8px;margin-top:14px}
.small-btn{border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:700;font-size:12px}
.small-btn.danger{border-color:rgba(241,17,53,.35);color:#ff8b9d}
.admin-empty{color:var(--muted)}

/* Login */
.login-page{min-height:100vh;display:grid;place-items:center}
.auth-main{width:100%;padding:40px 20px;display:grid;place-items:center}
.auth-card{width:min(520px,100%);padding:42px;border:1px solid var(--line);border-radius:28px;background:rgba(6,27,47,.82);box-shadow:var(--shadow);text-align:center}
.auth-logo{width:220px;max-height:100px;object-fit:contain;margin-bottom:22px}
.auth-card h1{margin:5px 0 14px;font-size:48px;line-height:1}.auth-card h1 span{color:var(--blue)}
.auth-text{color:var(--muted)}
.auth-form{display:grid;gap:14px;margin-top:26px}
.auth-form input{border:1px solid var(--line);border-radius:12px;background:rgba(2,12,24,.85);color:#fff;padding:15px;outline:none}
.auth-form input:focus{border-color:var(--blue)}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}

@keyframes scan{from{left:-50%}to{left:120%}}
@keyframes bgMove{from{transform:scale(1.05) translateX(0)}to{transform:scale(1.12) translateX(-20px)}}
@keyframes pulse{0%,100%{filter:drop-shadow(0 0 3px var(--blue))}50%{filter:drop-shadow(0 0 15px var(--red))}}
@keyframes floatLogo{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 18px))}}

@media(max-width:1100px){
  .services-grid,.process-grid{grid-template-columns:repeat(2,1fr)}
  .hero-content{width:min(690px,70vw)}
  .floating-logo{right:-8vw;opacity:.15}
  .pulse-card{right:4vw;width:300px}
}

@media(max-width:900px){
  .site-header{min-height:78px}
  .menu-btn{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:8px;padding:18px 6vw 24px;background:rgba(2,9,20,.98);border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a,.nav button{padding:12px 0;text-align:left}
  .nav-cta{text-align:center!important;padding:13px 18px!important}
  .hero{min-height:auto;padding-top:90px;display:block}
  .hero-content{width:100%}
  .floating-logo{position:relative;right:auto;top:auto;width:min(420px,80%);transform:none;margin:50px auto 0;display:block;opacity:.22;animation:none}
  .pulse-card{position:relative;right:auto;bottom:auto;width:min(100%,420px);margin-top:34px}
  .trust-strip{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-grid,.admin-grid{grid-template-columns:1fr}
  .news-grid{grid-template-columns:1fr 1fr}
  .footer-container{grid-template-columns:1fr 1fr}
  .cta-band{align-items:flex-start;flex-direction:column}
}

@media(max-width:650px){
  .brand-logo-img{width:170px}
  .hero{padding:70px 5vw 60px}
  .hero h1{font-size:48px;letter-spacing:-2px}
  .hero-text{font-size:16px}
  .hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}
  .hero-trust-row{display:grid}
  .services-section,.process-section,.news-section,.section-grid{padding:78px 5vw}
  .services-grid,.process-grid,.news-grid,.trust-strip,.footer-container,.admin-status-cards{grid-template-columns:1fr}
  .trust-item{border-right:0;border-bottom:1px solid var(--line)}
  .trust-item:last-child{border-bottom:0}
  .section-heading h2,.section-copy h2{font-size:38px;letter-spacing:-1px}
  .contact-form,.admin-form{grid-template-columns:1fr;padding:20px}.full{grid-column:1}
  .cta-band{margin-left:5vw;margin-right:5vw;padding:30px 24px}
  .footer{padding-left:5vw;padding-right:5vw}.footer-bottom{align-items:flex-start;flex-direction:column}.footer-socials{flex-wrap:wrap}
  .admin-main{padding-left:5vw;padding-right:5vw}.admin-section.alt{margin-left:-5vw;margin-right:-5vw;padding-left:5vw;padding-right:5vw}
  .admin-intro{padding:28px}.admin-intro h1{font-size:42px}
  .auth-card{padding:32px 22px}.auth-card h1{font-size:40px}
}

/* Anfrageformular Status */
.form-status{
  min-height:24px;
  margin:2px 0 0;
  padding:0;
  font-size:14px;
  font-weight:700;
  line-height:1.55;
}
.form-status:empty{display:none}
.form-status.success{
  display:block;
  padding:14px 16px;
  border:1px solid rgba(76,205,139,.38);
  border-radius:14px;
  background:rgba(76,205,139,.08);
  color:#9ee8bf;
}
.form-status.error{
  display:block;
  padding:14px 16px;
  border:1px solid rgba(241,17,53,.42);
  border-radius:14px;
  background:rgba(241,17,53,.08);
  color:#ff9aaa;
}
.contact-form button[disabled]{
  opacity:.65;
  cursor:not-allowed;
  transform:none!important;
}
