:root{
    --bg:#06080f; --bg-2:#080b14; --surface:#0d1119; --surface-2:#11151f;
    --border:#1b2230; --border-2:#27303f;
    --text:#eef3f8; --text-dim:#9aa6b4; --text-mute:#5f6b7a;
    --cyan:#00ebf6; --orange:lab(70.036% 42.3624 72.4853);
    --cyan-dim:#00ebf633; --cyan-glow:#00ebf622; --orange-dim:rgba(255,137,24,.2);
    --radius:12px; --maxw:1240px; --font-display:'Orbitron',sans-serif; --font-body:'Rajdhani',system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:500;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .container{max-width:var(--maxw);margin:0 auto;padding:0 40px}
  .brand,.foot-brand,.hero h1,h2.section-title,.card h3,.why h3{font-family:var(--font-display)}

  .label{font-size:.8rem;font-weight:600;letter-spacing:.28em;color:var(--orange);text-transform:uppercase;display:inline-block;margin-bottom:20px}
  .label.cyan{color:var(--cyan)}
  .label::before{content:"// "}
  .sec-head{text-align:center;max-width:820px;margin:0 auto 58px}
  .sec-head.left{text-align:left;max-width:none;margin:0 0 56px}
  .sec-head .label{margin-bottom:16px}
  h2.section-title{font-size:clamp(2.1rem,4.6vw,3.4rem);font-weight:800;line-height:1.04;letter-spacing:.005em}
  .section-title .hl{color:var(--cyan);text-shadow:0 0 26px rgba(0,235,246,.45)}
  .section-title .hl-o{color:var(--orange);text-shadow:0 0 26px rgba(255,137,24,.4)}

  /* ============================ HEADER ============================ */
  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
  header.scrolled{background:rgba(6,8,15,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:84px}
  .brand{display:flex;align-items:center;gap:13px;font-weight:700;font-size:1.125rem;letter-spacing:.06em;text-transform:uppercase}
  .brand img{height:38px;width:auto}
  .brand .c{color:var(--cyan)} .brand .o{color:var(--orange)}
  .nav-links{display:flex;align-items:center;gap:40px}
  .nav-links a{font-size:.86rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);transition:color .2s}
  .nav-links a:hover{color:var(--cyan)}
  .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:.86rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:13px 26px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:all .22s;white-space:nowrap}
  .btn svg{width:16px;height:16px}
  .btn-primary{background:linear-gradient(180deg,#3df3ff,#00d6e2);color:#04222e;box-shadow:0 0 32px 2px rgba(0,235,246,.5),0 0 0 1px #6ff6ff55 inset}
  .btn-primary:hover{box-shadow:0 0 46px 6px rgba(0,235,246,.62),0 0 0 1px #6ff6ff77 inset;transform:translateY(-1px)}
  .btn-ghost{background:rgba(13,17,25,.6);border-color:var(--border-2);color:var(--text)}
  .btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
  .btn-outline{background:rgba(0,235,246,.06);border-color:var(--cyan);color:var(--text);box-shadow:0 0 26px 1px rgba(0,235,246,.42)}
  .btn-outline:hover{background:rgba(0,235,246,.14);box-shadow:0 0 36px 4px rgba(0,235,246,.58)}

  /* ============================ HERO ============================ */
  .hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 60px;overflow:hidden}
  .hero-bg{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:.20}
  .hero-glow{position:absolute;inset:0;z-index:1;background:radial-gradient(60% 55% at 74% 50%,rgba(0,235,246,.20) 0%,transparent 60%),radial-gradient(70% 40% at 50% 62%,rgba(255,137,24,.10) 0%,transparent 65%),linear-gradient(180deg,rgba(6,8,15,.55) 0%,rgba(6,8,15,.1) 35%,rgba(6,8,15,.7) 80%,var(--bg) 100%)}
  .hero-grid{position:absolute;inset:0;z-index:1;opacity:.4;background-image:repeating-linear-gradient(90deg,rgba(120,160,200,.05) 0 1px,transparent 1px 88px),repeating-linear-gradient(0deg,rgba(120,160,200,.04) 0 1px,transparent 1px 88px);mask-image:radial-gradient(120% 100% at 50% 40%,#000 30%,transparent 85%);-webkit-mask-image:radial-gradient(120% 100% at 50% 40%,#000 30%,transparent 85%)}
  .hero .container{position:relative;z-index:3;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;width:100%}
  .status{display:inline-flex;align-items:center;gap:11px;font-size:.76rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--cyan);border:1px solid var(--cyan-dim);background:rgba(0,235,246,.05);padding:8px 18px;border-radius:100px;margin-bottom:34px}
  .pulse{width:8px;height:8px;border-radius:50%;background:var(--cyan);animation:pulse 2s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(0,235,246,.6)}70%{box-shadow:0 0 0 11px rgba(0,235,246,0)}100%{box-shadow:0 0 0 0 rgba(0,235,246,0)}}
  .hero h1{font-size:4.5rem;font-weight:800;line-height:.94;letter-spacing:.005em;text-transform:uppercase;margin-bottom:30px}
  .hero h1 .l1{color:var(--cyan);display:block;text-shadow:0 0 36px rgba(0,235,246,.6),0 0 78px rgba(0,235,246,.32)} .hero h1 .l2{color:#fff;display:block} .hero h1 .l3{color:var(--orange);display:block;text-shadow:0 0 36px rgba(255,137,24,.55),0 0 78px rgba(255,137,24,.3)}
  .hero p.lead{font-size:1.1rem;font-weight:400;color:var(--text-dim);max-width:520px;margin-bottom:38px}
  .hero-actions{display:flex;gap:15px;flex-wrap:wrap}
  .hero-actions .btn{padding:16px 30px;font-size:.85rem}
  .hero-drone{justify-self:center;position:relative}
  .hero-drone::before{content:"";position:absolute;inset:-10% -5%;background:radial-gradient(circle at 50% 50%,rgba(0,235,246,.28) 0%,transparent 62%);filter:blur(8px);z-index:-1}
  .hero-drone img{filter:drop-shadow(0 30px 60px rgba(0,0,0,.6));animation:float 6s ease-in-out infinite}
  @keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

  /* ============================ SECTIONS / GRID-BG ============================ */
  section.block{padding:120px 0;position:relative}
  .grid-bg{position:absolute;inset:0;z-index:0;opacity:.55;background-image:repeating-linear-gradient(90deg,rgba(120,160,200,.045) 0 1px,transparent 1px 76px),repeating-linear-gradient(0deg,rgba(120,160,200,.04) 0 1px,transparent 1px 76px);mask-image:radial-gradient(120% 90% at 50% 45%,#000 25%,transparent 90%);-webkit-mask-image:radial-gradient(120% 90% at 50% 45%,#000 25%,transparent 90%)}
  section.block .container{position:relative;z-index:1}
  #leistungen{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}

  .grid-services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{background:rgba(11,15,23,.55);border:1px solid var(--border);border-radius:var(--radius);padding:30px 28px;transition:border-color .25s,transform .25s,background .25s;position:relative;overflow:hidden}
  .card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;transition:opacity .3s}
  .card.or::before{background:linear-gradient(90deg,transparent,var(--orange),transparent)}
  .card:hover{transform:translateY(-5px);background:rgba(17,21,31,.7)}
  .card.cy:hover{border-color:var(--cyan-dim)} .card.or:hover{border-color:var(--orange-dim)}
  .card:hover::before{opacity:1}
  .card .ico{width:50px;height:50px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}
  .card.cy .ico{background:rgba(0,235,246,.07);border:1px solid var(--cyan-dim);color:var(--cyan);box-shadow:0 0 22px -5px rgba(0,235,246,.55)}
  .card.or .ico{background:rgba(255,137,24,.07);border:1px solid var(--orange-dim);color:var(--orange);box-shadow:0 0 22px -5px rgba(255,137,24,.5)}
  .card h3{font-size:1.35rem;font-weight:700;margin-bottom:12px;letter-spacing:.01em}
  .card.cy h3{color:var(--cyan);text-shadow:0 0 18px rgba(0,235,246,.45)}
  .card.or h3{color:var(--orange);text-shadow:0 0 18px rgba(255,137,24,.4)}
  .card p{color:var(--text-dim);font-size:.97rem;font-weight:400;margin-bottom:22px}
  .card .more{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#c7d0da;display:inline-flex;align-items:center;gap:8px;transition:gap .2s,color .2s}
  .card .more svg{width:14px;height:14px}
  .card:hover .more{gap:11px;color:#fff}

  /* ============================ WARUM ============================ */
  #warum{background:var(--bg-2)}
  .grid-why{display:grid;grid-template-columns:repeat(3,1fr);gap:52px}
  .why{position:relative;padding-left:28px}
  .why::before{content:"";position:absolute;left:0;top:2px;bottom:6px;width:1px;background:linear-gradient(180deg,var(--cyan) 0%,rgba(0,235,246,.18) 55%,transparent 100%);opacity:.55}
  .why .ico{color:var(--cyan);margin-bottom:22px;filter:drop-shadow(0 0 9px rgba(0,235,246,.55))}
  .why h3{font-size:1.18rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;margin-bottom:12px}
  .why p{color:var(--text-dim);font-size:.96rem;font-weight:400}

  /* ============================ KONTAKT ============================ */
  #kontakt{background:linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 100%)}
  .sec-head .lead{color:var(--text-dim);font-size:1.06rem;font-weight:400;max-width:680px;margin:18px auto 0}
  .contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start;position:relative;z-index:1}
  .contact-list{display:flex;flex-direction:column;gap:18px}
  .ci{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid var(--border);border-radius:14px;background:rgba(13,17,25,.6);transition:border-color .2s}
  .ci:hover{border-color:var(--cyan-dim)}
  .ci .ico{width:46px;height:46px;border-radius:11px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:rgba(0,235,246,.08);color:var(--cyan);border:1px solid var(--cyan-dim)}
  .ci .ci-label{font-size:.72rem;font-weight:600;color:var(--text-mute);text-transform:uppercase;letter-spacing:.18em;margin-bottom:4px}
  .ci .ci-val{font-size:1.02rem;font-weight:600}
  form.cform{background:rgba(13,17,25,.6);border:1px solid var(--border);border-radius:16px;padding:38px;display:flex;flex-direction:column;gap:20px}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .field{display:flex;flex-direction:column;gap:9px}
  .field label{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}
  .field label .req{color:var(--cyan)}
  .field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--border-2);border-radius:9px;padding:14px 16px;color:var(--text);font-family:var(--font-body);font-weight:500;font-size:1rem;transition:border-color .2s,box-shadow .2s}
  .field input::placeholder,.field textarea::placeholder{color:#5b6573}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-glow)}
  .field textarea{resize:vertical;min-height:150px}
  .field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2300ebf6' stroke-width='2.2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
  .btn-grad{background:linear-gradient(90deg,#00ebf6 0%,#ff8918 100%);color:#06222a;box-shadow:0 0 30px -6px rgba(0,235,246,.45)}
  .btn-grad:hover{box-shadow:0 0 38px -4px rgba(255,137,24,.45);transform:translateY(-1px)}
  form.cform .btn-grad{align-self:flex-start;padding:15px 30px;font-size:.82rem;margin-top:6px}

  /* ============================ FOOTER ============================ */
  footer{border-top:1px solid var(--border);background:var(--bg);padding:46px 0 38px}
  .foot-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-bottom:32px}
  .foot-brand{justify-self:start;display:flex;align-items:center;gap:13px;font-weight:700;font-size:1.125rem;letter-spacing:.06em;text-transform:uppercase}
  .foot-brand img{height:34px} .foot-brand .c{color:var(--cyan)} .foot-brand .o{color:var(--orange)}
  .socials{justify-self:center;display:flex;gap:14px}
  .socials a{width:46px;height:46px;border-radius:11px;border:1px solid;display:flex;align-items:center;justify-content:center;transition:all .2s}
  .socials a.cy{border-color:var(--cyan-dim);color:var(--cyan);box-shadow:0 0 16px -6px rgba(0,235,246,.5)}
  .socials a.or{border-color:var(--orange-dim);color:var(--orange);box-shadow:0 0 16px -6px rgba(255,137,24,.5)}
  .socials a.cy:hover{background:rgba(0,235,246,.12)} .socials a.or:hover{background:rgba(255,137,24,.12)}
  .foot-links{justify-self:end;display:flex;gap:30px}
  .foot-links a{color:var(--text-dim);transition:color .2s;letter-spacing:.02em}
  .foot-links a:hover{color:var(--cyan)}
  .foot-copy{text-align:center;padding-top:28px;border-top:1px solid var(--border);color:var(--text-mute);font-size:.8rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}

  /* ============================ RESPONSIVE ============================ */
  @media(max-width:920px){
    .hero .container{grid-template-columns:1fr}.hero-drone{display:flex;justify-content:center;margin-top:34px}.hero-drone img{max-width:min(300px,68vw)}
    .grid-services{grid-template-columns:repeat(2,1fr)}.grid-why{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr;gap:40px}.field-row{grid-template-columns:1fr}.nav-links{display:none}.container{padding:0 28px}
  }
  @media(max-width:560px){
    .grid-services{grid-template-columns:1fr}.nav .btn-outline{display:none}
    section.block{padding:84px 0}.container{padding:0 20px}
    .hero h1{font-size:2.4rem}
    .foot-top{grid-template-columns:1fr;justify-items:center;gap:26px}.foot-brand,.foot-links{justify-self:center}
  }

  /* ============================ CARD DETAILS (AUFKLAPPBAR) ============================ */
  .grid-services{align-items:start}
  button.more{background:none;border:0;padding:0;font-family:var(--font-body);cursor:pointer;width:auto}
  .card .more svg{transition:transform .3s}
  .card.open .more svg{transform:rotate(180deg)}
  .card.cy .more-toggle,.card.cy .cd-cta{color:var(--cyan)}
  .card.or .more-toggle,.card.or .cd-cta{color:var(--orange)}
  .card-details{max-height:0;overflow:hidden;opacity:0;margin-top:0;padding-top:0;border-top:1px solid transparent;transition:max-height .45s ease,opacity .3s ease,margin .45s ease,padding .45s ease}
  .card.open .card-details{max-height:720px;opacity:1;margin-top:20px;padding-top:22px;border-top-color:var(--border)}
  .card-details ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin:0;padding:0}
  .card-details li{position:relative;padding-left:20px;color:var(--text-dim);font-size:.92rem;font-weight:400;line-height:1.5}
  .card-details li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%}
  .card.cy .card-details li::before{background:var(--cyan);box-shadow:0 0 8px rgba(0,235,246,.7)}
  .card.or .card-details li::before{background:var(--orange);box-shadow:0 0 8px rgba(255,137,24,.6)}
  .cd-cta{margin-top:22px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;transition:gap .2s}
  .cd-cta svg{width:14px;height:14px}
  .cd-cta:hover{gap:11px}

  /* ============================ SUBPAGES ============================ */
  header.solid{background:rgba(6,8,15,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border)}
  .subnav{position:relative;display:flex;align-items:center;justify-content:center;height:84px}
  .subnav .back-link{position:absolute;right:0;top:50%;transform:translateY(-50%)}
  .back-link{display:inline-flex;align-items:center;gap:9px;font-size:.86rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);transition:color .2s}
  .back-link svg{width:18px;height:18px}
  .back-link:hover{color:var(--cyan)}
  .block.subpage{padding-top:150px;padding-bottom:100px;min-height:62vh}
  .subpage .sec-head.left{margin-bottom:42px}
  h1.page-title{font-family:var(--font-display);font-size:clamp(2.3rem,5vw,3.6rem);font-weight:800;line-height:1.02;letter-spacing:.01em;text-transform:uppercase;margin:0}
  .page-title .hl{color:var(--cyan);text-shadow:0 0 28px rgba(0,235,246,.5),0 0 60px rgba(0,235,246,.28)}
  .page-content{color:var(--text-dim);font-weight:400;font-size:1.05rem;line-height:1.7;max-width:820px}
  .page-content h2,.page-content h3{font-family:var(--font-display);color:var(--text);text-transform:uppercase;letter-spacing:.03em;line-height:1.2}
  .page-content h2{font-size:1.3rem;margin:38px 0 14px}
  .page-content h3{font-size:1.12rem;margin:30px 0 12px}
  .page-content > h2:first-child,.page-content > h3:first-child{margin-top:0}
  .page-content p{margin-bottom:18px}
  .page-content a{color:var(--cyan);text-decoration:none}
  .page-content a:hover{text-decoration:underline}
  .page-content ul,.page-content ol{margin:0 0 18px 20px}
  .page-content li{margin-bottom:8px}
  .page-content strong{color:var(--text)}

  /* ============================ FORMULAR-MELDUNGEN ============================ */
  .form-notice{padding:14px 18px;border-radius:10px;font-size:.95rem;font-weight:500;line-height:1.45}
  .form-notice.ok{background:rgba(0,235,246,.08);border:1px solid var(--cyan-dim);color:var(--cyan);box-shadow:0 0 26px -10px rgba(0,235,246,.5)}
  .form-notice.err{background:rgba(255,137,24,.08);border:1px solid var(--orange-dim);color:var(--orange)}
