    :root{
      --galaxy-bg:
        radial-gradient(2.15px 2.15px at 20.80% 41.49%, rgba(255,255,255,0.81), transparent 70%),
        radial-gradient(1.66px 1.66px at 10.73% 10.11%, rgba(255,255,255,0.76), transparent 70%),
        radial-gradient(2.20px 2.20px at 51.51% 10.07%, rgba(255,255,255,0.77), transparent 70%),
        radial-gradient(1.83px 1.83px at 49.76% 35.69%, rgba(255,255,255,0.98), transparent 70%),
        radial-gradient(2.15px 2.15px at 23.24% 62.89%, rgba(255,255,255,0.76), transparent 70%),
        radial-gradient(2.29px 2.29px at 65.50% 13.53%, rgba(255,255,255,0.83), transparent 70%),
        radial-gradient(1.70px 1.70px at 78.79% 7.98%, rgba(255,255,255,0.81), transparent 70%),
        radial-gradient(2.37px 2.37px at 44.17% 32.71%, rgba(255,255,255,1.00), transparent 70%),
        radial-gradient(1.67px 1.67px at 52.93% 35.22%, rgba(255,255,255,0.91), transparent 70%),
        radial-gradient(2.00px 2.00px at 21.70% 1.34%, rgba(255,255,255,0.98), transparent 70%),
        radial-gradient(2.18px 2.18px at 69.78% 81.39%, rgba(255,255,255,0.82), transparent 70%),
        radial-gradient(2.13px 2.13px at 26.96% 13.86%, rgba(255,255,255,0.76), transparent 70%),
        radial-gradient(2.02px 2.02px at 79.25% 49.73%, rgba(255,255,255,0.85), transparent 70%),
        radial-gradient(2.40px 2.40px at 63.20% 12.20%, rgba(255,255,255,0.91), transparent 70%),
        radial-gradient(1.51px 1.51px at 35.01% 82.97%, rgba(255,255,255,0.55), transparent 70%),
        radial-gradient(1.43px 1.43px at 14.40% 55.34%, rgba(255,255,255,0.74), transparent 70%),
        radial-gradient(1.55px 1.55px at 14.62% 67.62%, rgba(255,255,255,0.90), transparent 70%),
        radial-gradient(1.48px 1.48px at 82.71% 70.22%, rgba(255,255,255,0.66), transparent 70%),
        radial-gradient(1.09px 1.09px at 63.53% 5.75%, rgba(255,255,255,0.73), transparent 70%),
        radial-gradient(1.10px 1.10px at 89.73% 97.44%, rgba(255,255,255,0.84), transparent 70%),
        radial-gradient(1.26px 1.26px at 74.97% 90.64%, rgba(255,255,255,0.81), transparent 70%),
        radial-gradient(1.03px 1.03px at 98.22% 24.26%, rgba(255,255,255,0.79), transparent 70%),
        radial-gradient(1.41px 1.41px at 82.38% 74.91%, rgba(255,255,255,0.75), transparent 70%),
        radial-gradient(1.28px 1.28px at 88.54% 92.29%, rgba(255,255,255,0.72), transparent 70%),
        radial-gradient(1.34px 1.34px at 99.78% 41.18%, rgba(255,255,255,0.55), transparent 70%),
        radial-gradient(1.50px 1.50px at 81.26% 97.01%, rgba(255,255,255,0.59), transparent 70%),
        radial-gradient(1.28px 1.28px at 78.07% 72.52%, rgba(255,255,255,0.76), transparent 70%),
        radial-gradient(1.30px 1.30px at 76.30% 40.85%, rgba(255,255,255,0.58), transparent 70%),
        radial-gradient(1.02px 1.02px at 99.19% 93.24%, rgba(255,255,255,0.72), transparent 70%),
        radial-gradient(1.05px 1.05px at 61.43% 1.28%, rgba(255,255,255,0.57), transparent 70%),
        radial-gradient(1.58px 1.58px at 6.05% 7.97%, rgba(255,255,255,0.66), transparent 70%),
        radial-gradient(1.07px 1.07px at 56.39% 3.18%, rgba(255,255,255,0.71), transparent 70%),
        radial-gradient(1.11px 1.11px at 41.50% 85.41%, rgba(255,255,255,0.63), transparent 70%),
        radial-gradient(1.53px 1.53px at 98.65% 51.84%, rgba(255,255,255,0.77), transparent 70%),
        radial-gradient(1.03px 1.03px at 43.31% 90.76%, rgba(255,255,255,0.84), transparent 70%),
        radial-gradient(1.49px 1.49px at 50.66% 69.87%, rgba(255,255,255,0.85), transparent 70%),
        radial-gradient(1.31px 1.31px at 51.06% 89.28%, rgba(255,255,255,0.69), transparent 70%),
        radial-gradient(1.18px 1.18px at 48.19% 44.34%, rgba(255,255,255,0.61), transparent 70%),
        radial-gradient(1.29px 1.29px at 39.68% 96.93%, rgba(255,255,255,0.58), transparent 70%),
        radial-gradient(1.42px 1.42px at 69.27% 71.94%, rgba(255,255,255,0.67), transparent 70%),
        radial-gradient(1.43px 1.43px at 26.26% 67.63%, rgba(255,255,255,0.74), transparent 70%),
        radial-gradient(1.47px 1.47px at 27.19% 51.01%, rgba(255,255,255,0.52), transparent 70%),
        radial-gradient(1.07px 1.07px at 23.64% 72.17%, rgba(255,255,255,0.72), transparent 70%),
        radial-gradient(1.36px 1.36px at 33.84% 83.15%, rgba(255,255,255,0.54), transparent 70%),
        radial-gradient(1.33px 1.33px at 36.40% 98.98%, rgba(255,255,255,0.56), transparent 70%),
        radial-gradient(1.37px 1.37px at 46.07% 49.81%, rgba(255,255,255,0.73), transparent 70%),
        radial-gradient(1.41px 1.41px at 1.19% 23.22%, rgba(255,255,255,0.77), transparent 70%),
        radial-gradient(1.02px 1.02px at 3.79% 39.66%, rgba(255,255,255,0.81), transparent 70%),
        radial-gradient(1.11px 1.11px at 27.57% 36.76%, rgba(255,255,255,0.77), transparent 70%),
        radial-gradient(1.08px 1.08px at 73.47% 78.61%, rgba(255,255,255,0.82), transparent 70%),
        radial-gradient(1.01px 1.01px at 23.11% 80.48%, rgba(255,255,255,0.60), transparent 70%),
        radial-gradient(1.24px 1.24px at 44.36% 83.92%, rgba(255,255,255,0.74), transparent 70%),
        radial-gradient(1.58px 1.58px at 47.15% 99.29%, rgba(255,255,255,0.53), transparent 70%),
        radial-gradient(1.42px 1.42px at 34.36% 90.97%, rgba(255,255,255,0.85), transparent 70%),
        radial-gradient(0.80px 0.80px at 54.50% 14.96%, rgba(255,255,255,0.42), transparent 70%),
        radial-gradient(0.87px 0.87px at 77.36% 54.76%, rgba(255,255,255,0.63), transparent 70%),
        radial-gradient(0.60px 0.60px at 65.75% 51.10%, rgba(255,255,255,0.38), transparent 70%),
        radial-gradient(0.68px 0.68px at 73.18% 91.30%, rgba(255,255,255,0.51), transparent 70%),
        radial-gradient(0.68px 0.68px at 91.99% 19.61%, rgba(255,255,255,0.38), transparent 70%),
        radial-gradient(0.50px 0.50px at 44.65% 50.39%, rgba(255,255,255,0.56), transparent 70%),
        radial-gradient(0.82px 0.82px at 36.05% 47.13%, rgba(255,255,255,0.44), transparent 70%),
        radial-gradient(0.87px 0.87px at 63.15% 93.02%, rgba(255,255,255,0.37), transparent 70%),
        radial-gradient(0.99px 0.99px at 60.34% 78.90%, rgba(255,255,255,0.68), transparent 70%),
        radial-gradient(0.85px 0.85px at 92.25% 61.48%, rgba(255,255,255,0.59), transparent 70%),
        radial-gradient(0.93px 0.93px at 97.13% 2.48%, rgba(255,255,255,0.53), transparent 70%),
        radial-gradient(0.89px 0.89px at 5.57% 90.45%, rgba(255,255,255,0.69), transparent 70%),
        radial-gradient(0.72px 0.72px at 66.24% 59.57%, rgba(255,255,255,0.44), transparent 70%),
        radial-gradient(0.97px 0.97px at 96.96% 56.80%, rgba(255,255,255,0.46), transparent 70%),
        radial-gradient(0.95px 0.95px at 35.31% 1.42%, rgba(255,255,255,0.43), transparent 70%),
        radial-gradient(0.75px 0.75px at 92.14% 53.16%, rgba(255,255,255,0.54), transparent 70%),
        radial-gradient(0.79px 0.79px at 10.31% 32.96%, rgba(255,255,255,0.35), transparent 70%),
        radial-gradient(0.73px 0.73px at 71.88% 99.49%, rgba(255,255,255,0.60), transparent 70%),
        radial-gradient(0.54px 0.54px at 84.46% 89.51%, rgba(255,255,255,0.57), transparent 70%),
        radial-gradient(0.58px 0.58px at 78.27% 44.04%, rgba(255,255,255,0.48), transparent 70%),
        radial-gradient(0.88px 0.88px at 75.73% 71.38%, rgba(255,255,255,0.62), transparent 70%),
        radial-gradient(0.59px 0.59px at 90.24% 24.53%, rgba(255,255,255,0.36), transparent 70%),
        radial-gradient(0.84px 0.84px at 27.62% 77.24%, rgba(255,255,255,0.49), transparent 70%),
        radial-gradient(0.56px 0.56px at 72.21% 85.80%, rgba(255,255,255,0.53), transparent 70%),
        radial-gradient(0.87px 0.87px at 96.55% 74.38%, rgba(255,255,255,0.38), transparent 70%),
        radial-gradient(0.69px 0.69px at 36.09% 16.33%, rgba(255,255,255,0.47), transparent 70%),
        radial-gradient(0.75px 0.75px at 56.87% 84.69%, rgba(255,255,255,0.36), transparent 70%),
        radial-gradient(0.90px 0.90px at 59.09% 21.33%, rgba(255,255,255,0.60), transparent 70%),
        radial-gradient(0.51px 0.51px at 2.40% 33.80%, rgba(255,255,255,0.38), transparent 70%),
        radial-gradient(0.55px 0.55px at 68.65% 21.11%, rgba(255,255,255,0.35), transparent 70%),
        radial-gradient(0.92px 0.92px at 32.72% 65.94%, rgba(255,255,255,0.51), transparent 70%),
        radial-gradient(0.84px 0.84px at 91.30% 13.12%, rgba(255,255,255,0.67), transparent 70%),
        radial-gradient(0.86px 0.86px at 68.42% 28.98%, rgba(255,255,255,0.62), transparent 70%),
        radial-gradient(0.83px 0.83px at 69.21% 53.23%, rgba(255,255,255,0.44), transparent 70%),
        radial-gradient(0.68px 0.68px at 94.26% 92.02%, rgba(255,255,255,0.69), transparent 70%),
        radial-gradient(0.80px 0.80px at 21.75% 49.23%, rgba(255,255,255,0.43), transparent 70%),
        radial-gradient(0.68px 0.68px at 30.60% 26.35%, rgba(255,255,255,0.45), transparent 70%),
        radial-gradient(0.84px 0.84px at 21.11% 73.13%, rgba(255,255,255,0.51), transparent 70%),
        radial-gradient(0.78px 0.78px at 37.31% 67.27%, rgba(255,255,255,0.60), transparent 70%),
        radial-gradient(0.62px 0.62px at 59.12% 20.48%, rgba(255,255,255,0.68), transparent 70%),
        radial-gradient(0.90px 0.90px at 32.22% 32.59%, rgba(255,255,255,0.42), transparent 70%),
        radial-gradient(0.55px 0.55px at 99.31% 16.87%, rgba(255,255,255,0.61), transparent 70%),
        radial-gradient(0.89px 0.89px at 44.82% 29.73%, rgba(255,255,255,0.45), transparent 70%),
        radial-gradient(0.66px 0.66px at 20.48% 72.52%, rgba(255,255,255,0.38), transparent 70%),
        radial-gradient(0.90px 0.90px at 63.11% 70.48%, rgba(255,255,255,0.47), transparent 70%),
        radial-gradient(0.96px 0.96px at 39.49% 84.22%, rgba(255,255,255,0.54), transparent 70%),
        radial-gradient(0.77px 0.77px at 6.56% 38.28%, rgba(255,255,255,0.48), transparent 70%),
        radial-gradient(0.80px 0.80px at 99.32% 65.44%, rgba(255,255,255,0.52), transparent 70%),
        radial-gradient(0.81px 0.81px at 65.72% 78.90%, rgba(255,255,255,0.67), transparent 70%),
        radial-gradient(0.50px 0.50px at 33.02% 7.00%, rgba(255,255,255,0.44), transparent 70%),
        radial-gradient(0.98px 0.98px at 17.37% 51.52%, rgba(255,255,255,0.55), transparent 70%),
        radial-gradient(0.66px 0.66px at 38.37% 26.92%, rgba(255,255,255,0.38), transparent 70%),
        radial-gradient(0.87px 0.87px at 21.06% 79.61%, rgba(255,255,255,0.67), transparent 70%),
        radial-gradient(0.59px 0.59px at 66.39% 57.14%, rgba(255,255,255,0.47), transparent 70%),
        radial-gradient(0.97px 0.97px at 13.66% 75.31%, rgba(255,255,255,0.64), transparent 70%),
        radial-gradient(0.72px 0.72px at 21.17% 41.71%, rgba(255,255,255,0.61), transparent 70%),
        radial-gradient(0.95px 0.95px at 51.41% 4.04%, rgba(255,255,255,0.58), transparent 70%),
        radial-gradient(0.51px 0.51px at 39.84% 35.17%, rgba(255,255,255,0.68), transparent 70%),
        radial-gradient(0.94px 0.94px at 22.59% 20.21%, rgba(255,255,255,0.44), transparent 70%),
        radial-gradient(0.64px 0.64px at 80.59% 36.73%, rgba(255,255,255,0.45), transparent 70%),
        radial-gradient(0.61px 0.61px at 79.12% 6.95%, rgba(255,255,255,0.44), transparent 70%),
        radial-gradient(0.74px 0.74px at 92.04% 66.06%, rgba(255,255,255,0.59), transparent 70%),
        radial-gradient(0.67px 0.67px at 2.92% 45.48%, rgba(255,255,255,0.68), transparent 70%),
        radial-gradient(0.66px 0.66px at 85.14% 16.49%, rgba(255,255,255,0.45), transparent 70%),
        radial-gradient(0.53px 0.53px at 90.61% 42.72%, rgba(255,255,255,0.51), transparent 70%),
        radial-gradient(0.89px 0.89px at 13.40% 81.92%, rgba(255,255,255,0.47), transparent 70%),
        radial-gradient(0.62px 0.62px at 43.72% 59.08%, rgba(255,255,255,0.65), transparent 70%),
        radial-gradient(0.79px 0.79px at 98.06% 88.84%, rgba(255,255,255,0.50), transparent 70%),
        radial-gradient(0.64px 0.64px at 59.68% 53.52%, rgba(255,255,255,0.49), transparent 70%),
        radial-gradient(0.96px 0.96px at 65.50% 80.06%, rgba(255,255,255,0.63), transparent 70%),
        radial-gradient(1000px 750px at 88% 4%, rgba(46,91,255,.08), transparent 68%),
        radial-gradient(900px 700px at 6% 100%, rgba(24,52,120,.10), transparent 66%),
        radial-gradient(650px 520px at 48% 52%, rgba(190,205,230,.05), transparent 70%),
        linear-gradient(160deg, #070914 0%, #000 68%);
      --void:     #000000;
      --panel:    #0A1220;
      --panel-2:  #0F1A2C;
      --ink:      #F4F7FC;
      --slate:    #A9B8D0;
      --muted:    #7E8CA0;
      --line:     rgba(255,255,255,.12);
      --line-soft: rgba(255,255,255,.07);
      --bg:       #000000;
      --bg-soft:  rgba(255,255,255,.05);
      --card:     #0A1220;
      --accent:   #2E5BFF;
      --accent-2: #6E8CFF;
      --accent-soft: rgba(46,91,255,.16);
      --star:     #EAF1FF;
      --mono:     'Space Mono', ui-monospace, monospace;
      --radius:   14px;
      --shadow:   0 20px 60px rgba(0,0,0,.55);
    }
    *{ margin:0; padding:0; box-sizing:border-box; }
    html{ scroll-behavior:smooth; }
    body{
      font-family:'Inter', system-ui, sans-serif;
      font-size:16px; line-height:1.7;
      color:var(--ink);
      background-color:var(--void);
      -webkit-font-smoothing:antialiased;
    }
    /* Sternenhintergrund als eigene fixierte Ebene statt background-attachment:fixed:
       gleiches Aussehen, aber vom Compositor bewegt statt bei jedem Scroll neu gemalt
       (background-attachment:fixed ist auf Mobilgeräten ein bekannter Ruckel-Verursacher). */
    body::before{
      content:''; position:fixed; inset:0; z-index:-1;
      background-color:var(--void);
      background-image:var(--galaxy-bg);
      pointer-events:none;
      transform:translateZ(0);
    }
    h1,h2,h3,.q{ font-family:'Questrial', sans-serif; font-weight:400; line-height:1.15; }
    img{ max-width:100%; display:block; }
    a{ color:inherit; text-decoration:none; }
    .wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }
    section{ padding:96px 0; }
    :focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:4px; }

    .eyebrow{
      display:inline-flex; align-items:center; gap:10px;
      font-family:var(--mono); font-size:.78rem; font-weight:400; letter-spacing:.1em; text-transform:uppercase;
      color:var(--accent-2); margin-bottom:18px;
    }
    .eyebrow .idx{ color:var(--muted); }
    .eyebrow::before{ content:''; width:22px; height:1px; background:var(--accent); }
    .sec-h2{ font-size:clamp(1.8rem, 3.6vw, 2.6rem); margin-bottom:14px; }
    .sec-sub{ color:var(--slate); max-width:560px; }

    /* ── FAQ-Akkordeon ── */
    .faq-list{ margin-top:56px; border-top:1px solid var(--line-soft); }
    .faq-item{ border-bottom:1px solid var(--line-soft); }
    .faq-q{
      width:100%; display:flex; align-items:center; justify-content:space-between; gap:28px;
      padding:26px 2px; background:none; border:none; cursor:pointer; text-align:left;
      font-family:'Questrial', sans-serif; font-size:1.1rem; color:#fff; transition:color .2s;
    }
    .faq-q:hover{ color:var(--accent-2); }
    .faq-icon{ position:relative; width:20px; height:20px; flex:none; }
    .faq-icon::before, .faq-icon::after{
      content:''; position:absolute; top:50%; left:50%; background:var(--accent-2);
      transform:translate(-50%,-50%); transition:transform .3s ease, opacity .2s ease;
    }
    .faq-icon::before{ width:14px; height:2px; }
    .faq-icon::after{ width:2px; height:14px; }
    .faq-item.is-open .faq-q{ color:var(--accent-2); }
    .faq-item.is-open .faq-icon::after{ transform:translate(-50%,-50%) rotate(90deg); opacity:0; }
    .faq-a-wrap{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .4s ease; }
    .faq-item.is-open .faq-a-wrap{ grid-template-rows:1fr; }
    .faq-a-inner{ overflow:hidden; }
    .faq-a{ padding:0 2px 28px; max-width:680px; }
    .faq-a p{ color:var(--slate); font-size:.98rem; }
    @media (prefers-reduced-motion: reduce){
      .faq-a-wrap{ transition:none; }
    }

    /* ── Navigation ── */
    .nav{
      position:sticky; top:0; z-index:50;
      border-bottom:1px solid var(--line-soft);
    }
    .nav-inner{
      display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:20px;
      height:68px;
    }
    .nav-brand{ display:flex; align-items:center; gap:11px; justify-self:start; }
    .nav-brand img{ height:30px; width:auto; }
    .nav-brand span{ font-family:'Questrial'; font-size:1.15rem; letter-spacing:.14em; color:#fff; white-space:nowrap; }
    .nav-links{ display:flex; align-items:center; gap:28px; list-style:none; justify-self:center; margin-left:16px; }
    .nav-links a{ font-size:.92rem; color:var(--slate); transition:color .15s; }
    .nav-links a:hover{ color:#fff; }
    .nav-home{
      display:inline-flex; align-items:center; justify-content:center;
      width:34px; height:34px; border-radius:9px;
      color:var(--slate); transition:color .15s, background .15s;
    }
    .nav-home:hover{ color:#fff; background:rgba(255,255,255,.08); }
    .nav-toggle{ justify-self:end; }

    /* ── Mobil-Menü ── */
    .nav-toggle{
      display:none; width:38px; height:38px; border-radius:10px;
      background:transparent; border:1px solid var(--line);
      align-items:center; justify-content:center; flex:none; cursor:pointer;
    }
    .nav-toggle span{
      position:relative; width:16px; height:2px; background:#fff; border-radius:2px;
    }
    .nav-toggle span::before, .nav-toggle span::after{
      content:''; position:absolute; left:0; width:16px; height:2px; background:#fff; border-radius:2px;
      transition:transform .2s, top .2s, opacity .2s;
    }
    .nav-toggle span::before{ top:-6px; }
    .nav-toggle span::after{ top:6px; }
    .nav.is-open .nav-toggle span{ background:transparent; }
    .nav.is-open .nav-toggle span::before{ top:0; transform:rotate(45deg); }
    .nav.is-open .nav-toggle span::after{ top:0; transform:rotate(-45deg); }

    .mobile-menu{
      display:none; overflow:hidden; max-height:0;
      background:var(--panel); border-top:1px solid var(--line-soft);
      transition:max-height .25s ease;
    }
    .mobile-menu ul{ list-style:none; padding:8px 24px 20px; display:flex; flex-direction:column; }
    .mobile-menu a{
      display:block; padding:14px 0; font-size:1rem; color:var(--slate);
      border-bottom:1px solid var(--line-soft);
    }
    .mobile-menu li:last-child a{ border-bottom:none; }
    .nav.is-open .mobile-menu{ max-height:400px; }
    .btn{
      display:inline-flex; align-items:center; gap:8px;
      padding:12px 22px; border-radius:99px;
      font-size:.92rem; font-weight:600; cursor:pointer;
      transition:transform .15s, box-shadow .15s, background .15s;
      border:none;
    }
    .btn-primary{ background:var(--accent); color:#fff; box-shadow:0 4px 16px rgba(46,91,255,.28); }
    .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 6px 22px rgba(46,91,255,.36); }
    .btn-ghost{ background:transparent; color:var(--ink); border:1px solid var(--line); }
    .btn-ghost:hover{ border-color:var(--slate); }
    .nav .btn{ padding:9px 18px; }

    /* ── Hero ── */
    .hero{
      min-height:calc(100svh - 69px);
      display:flex; align-items:center; justify-content:center;
      position:relative; overflow:hidden; text-align:center;
    }
    .hero-inner{ position:relative; z-index:1; padding:0 24px; max-width:820px; }
    .hero-bg-logo-wrap{
      position:absolute; inset:0; z-index:0;
      display:flex; align-items:center; justify-content:center;
      transform:translateY(60px) scale(1);
      opacity:.36;
      pointer-events:none;
      will-change:transform, opacity;
    }
    .hero-bg-logo{
      display:block; width:min(68vw, 860px); height:auto;
      filter:drop-shadow(0 0 60px rgba(255,255,255,.2)) contrast(1.1);
      pointer-events:none; user-select:none;
    }
    .hero .brandname{
      font-family:'Questrial'; color:#fff;
      font-size:clamp(2.6rem, 7vw, 5rem);
      letter-spacing:.16em; line-height:1.1;
    }
    .hero .brandsub{
      font-family:'Questrial'; color:#8FA3BE;
      font-size:clamp(1rem, 2.4vw, 1.5rem);
      letter-spacing:.5em; text-transform:uppercase;
      margin-top:10px; margin-left:.5em;
    }
    .hero .tagline{
      color:#C4CEDC; font-size:clamp(1rem, 2vw, 1.25rem);
      margin-top:34px; font-weight:400;
    }
    .hero .tagline em{ font-style:normal; color:#fff; }
    .hero .hero-services{
      display:flex; justify-content:center; flex-wrap:wrap; gap:12px 26px;
      margin-top:28px; font-family:var(--mono); font-size:.72rem;
      letter-spacing:.16em; text-transform:uppercase; color:#8FA3BE;
    }
    .hero .hero-services span{ display:inline-flex; align-items:center; gap:9px; }
    .hero .hero-services span::before{
      content:''; width:4px; height:4px; border-radius:50%;
      background:var(--accent-2); flex:none;
    }
    @media (max-width:520px){
      .hero .hero-services{ gap:10px 16px; font-size:.64rem; letter-spacing:.12em; }
    }
    .hero-scroll{
      position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
      color:#8FA3BE; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase;
      display:flex; flex-direction:column; align-items:center; gap:10px;
    }
    .hero-scroll::after{
      content:''; width:1px; height:36px;
      background:linear-gradient(#8FA3BE, transparent);
      animation:drop 2s ease-in-out infinite;
    }
    @keyframes drop{ 0%{opacity:0; transform:scaleY(.3); transform-origin:top} 40%{opacity:1; transform:scaleY(1)} 100%{opacity:0} }

    /* ── Sternschnuppen ── */
    .hero-stars{
      position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;
    }
    .star{ position:absolute; }
    .star i{
      display:block; width:150px; height:1px;
      background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,.85) 35%, rgba(255,255,255,0) 100%);
      opacity:0;
      animation-name:star-fly; animation-timing-function:ease-in; animation-iteration-count:infinite;
    }
    .star i::after{
      content:''; position:absolute; left:-1.5px; top:50%; width:3px; height:3px;
      background:#fff; border-radius:50%; transform:translateY(-50%);
    }
    @keyframes star-fly{
      0%{ transform:translateX(0); opacity:0; }
      8%{ opacity:1; }
      75%{ opacity:1; }
      100%{ transform:translateX(-640px); opacity:0; }
    }
    @media (prefers-reduced-motion: reduce){ .star i{ animation:none; opacity:0; } }

    /* ── Über Noventry: Brief-Öffnen-Animation ── */
    #ueber{ position:relative; border-top:1px solid var(--line-soft); padding:0; }
    .letter-stage{ position:relative; height:220vh; }
    .letter-sticky{
      position:sticky; top:69px; height:calc(100svh - 69px);
      display:flex; align-items:center; justify-content:center;
      overflow:hidden;
    }
    .envelope{
      position:absolute; left:50%; top:50%; z-index:2;
      width:min(74vw, 640px); aspect-ratio:3/2;
      transform:translate(-50%,-50%);
      perspective:1800px; pointer-events:none;
    }
    .envelope-back{
      position:absolute; inset:0; border-radius:10px;
      background:linear-gradient(160deg,#232833 0%,#0A0C10 100%);
      box-shadow:0 40px 100px rgba(0,0,0,.65), 0 0 60px rgba(210,218,232,.14);
    }
    .envelope-flap{
      position:absolute; inset:0;
      border:1px solid rgba(210,218,232,.32);
      backface-visibility:hidden;
      filter:drop-shadow(0 0 1.5px rgba(0,0,0,.7));
    }
    .envelope-flap--top{
      clip-path:polygon(0 0,100% 0,50% 50%); transform-origin:50% 0%; z-index:4;
      background:linear-gradient(180deg,#454E5F 0%,#14171D 100%);
    }
    .envelope-flap--right{
      clip-path:polygon(100% 0,100% 100%,50% 50%); transform-origin:100% 50%; z-index:3;
      background:linear-gradient(270deg,#333A47 0%,#111318 100%);
    }
    .envelope-flap--left{
      clip-path:polygon(0 0,0 100%,50% 50%); transform-origin:0% 50%; z-index:2;
      background:linear-gradient(90deg,#2A2F39 0%,#0D0F13 100%);
    }
    .envelope-flap--bottom{
      clip-path:polygon(0 100%,100% 100%,50% 50%); transform-origin:50% 100%; z-index:1;
      background:linear-gradient(0deg,#1E222B 0%,#08090C 100%);
    }
    .envelope-seal{
      position:absolute; top:50%; left:50%; width:72px; height:72px; border-radius:50%;
      transform:translate(-50%,-50%);
      background:radial-gradient(circle at 34% 30%, #EAF1FF, #333A47 72%);
      display:flex; align-items:center; justify-content:center; z-index:5;
      box-shadow:0 0 40px rgba(220,228,240,.5), 0 8px 18px rgba(0,0,0,.5), inset 0 1px 2px rgba(255,255,255,.35);
    }
    .envelope-seal img{ width:30px; height:auto; opacity:.95; }
    .letter-content{ position:relative; z-index:1; perspective:1600px; }
    .letter-paper{
      position:absolute; inset:-44px -36px; z-index:0;
      border-radius:20px;
      background:linear-gradient(160deg, #1B2029 0%, #05060A 100%);
      border:1px solid rgba(210,218,232,.16);
      box-shadow:0 40px 90px rgba(0,0,0,.55), inset 0 1px 0 rgba(230,235,244,.05);
      opacity:0; transform:scale(.55); transform-origin:center;
      pointer-events:none;
    }
    .letter-content .about-head,
    .letter-content .about-text{ position:relative; z-index:1; transform-origin:top center; backface-visibility:hidden; will-change:transform, opacity; }
    @media (max-width:900px){
      .letter-sticky{ padding:0 24px; }
      .envelope{ width:min(82vw, 380px); }
      .letter-paper{ inset:-28px -18px; }
    }
    @media (prefers-reduced-motion: reduce){
      .letter-stage{ height:auto; }
      .letter-sticky{ position:relative; top:0; height:auto; padding:96px 0; }
      .envelope{ display:none; }
      .letter-paper{ opacity:1; transform:none; }
    }

    .about-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; position:relative; }
    .about-head h2{ font-size:clamp(2.1rem, 4vw, 3.1rem); max-width:9ch; }
    .about-signal{
      display:flex; align-items:center; gap:10px; margin-top:32px;
      font-family:var(--mono); font-size:.78rem; color:var(--muted); letter-spacing:.03em;
    }
    .pulse-dot{ width:7px; height:7px; border-radius:50%; background:#3DDC84; position:relative; flex:none; }
    .pulse-dot::after{
      content:''; position:absolute; inset:-6px; border-radius:50%; border:1px solid #3DDC84;
      animation:pulse 2.4s ease-out infinite;
    }
    @keyframes pulse{ 0%{ transform:scale(.6); opacity:.8; } 100%{ transform:scale(2.1); opacity:0; } }
    .about-text p{ color:var(--slate); margin-bottom:22px; font-size:1.05rem; }
    .about-text p:first-child{ font-size:1.28rem; color:var(--ink); line-height:1.6; }
    .about-text strong{ color:#fff; font-weight:600; }
    .about-sign{
      margin-top:36px; padding-top:26px; border-top:1px solid var(--line-soft);
      display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 44px;
    }
    .sign-name{
      font-family:'Allura', cursive; font-size:2rem; line-height:1;
      color:#D9E1EC; text-shadow:0 0 18px rgba(200,215,240,.25);
    }
    @media (max-width:900px){ .about-grid{ grid-template-columns:1fr; gap:28px; } }

    /* ── Team ── */
    #team{ position:relative; border-top:1px solid var(--line-soft); }
    .team-grid{
      display:grid; grid-template-columns:1fr 1fr; gap:64px;
      margin-top:56px;
    }
    .team-card{ position:relative; display:flex; flex-direction:column; gap:28px; }
    .team-photo{
      position:relative; aspect-ratio:3/4;
      background:linear-gradient(155deg, var(--panel-2) 0%, #05070D 100%);
    }
    .team-photo-img{
      display:block; width:100%; height:100%; object-fit:cover; object-position:top center;
      border-radius:20px; border:1px solid var(--line-soft);
    }
    /* Zuschnitt + Hover-Zoom nur auf Geräten mit echtem Maus-Hover:
       overflow:hidden + border-radius + eine dauerhafte transform-Transition auf einem
       großen Bild lösen auf iOS/Mobile Safari einen bekannten Kachel-Rendering-Fehler
       aus (dünner grauer Strich quer durchs Bild, verschwindet beim Zoomen). Auf Touch-
       Geräten fällt der Auslöser dadurch komplett weg. */
    @media (hover:hover) and (pointer:fine){
      .team-photo{ overflow:hidden; border-radius:20px; }
      .team-photo-img{ transition:transform .5s ease; }
      .team-card:hover .team-photo-img{ transform:scale(1.03); }
    }
    .team-name{ font-family:'Questrial'; font-size:1.7rem; color:#fff; margin-bottom:6px; }
    .team-role{
      display:block; font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
      text-transform:uppercase; color:var(--accent-2); margin-bottom:14px;
    }
    .team-bio{ color:var(--slate); font-size:1rem; line-height:1.6; max-width:34ch; }
    @media (max-width:820px){
      .team-grid{ grid-template-columns:1fr; gap:48px; }
    }

    /* ── Leistungen: große Hero-Kopfzeile mit Pfeil-Verbindung ── */
    .services{ position:relative; border-top:1px solid var(--line-soft); }
    .services-intro-row{
      display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
      gap:36px 56px;
    }
    .services-hero-h2{
      font-size:clamp(2.3rem, 5.2vw, 4rem); line-height:1.08; letter-spacing:-.01em;
      /* 19ch: die Zeile bricht nach dem Komma statt "ein" allein zu lassen */
      max-width:19ch; margin:0;
    }
    .services-intro-detail{ display:flex; align-items:center; gap:22px; max-width:380px; padding-bottom:4px; }
    .services-arrow{
      flex:none; width:44px; height:44px; border-radius:50%;
      display:flex; align-items:center; justify-content:center;
      border:1px solid var(--line); background:var(--accent-soft); color:var(--accent-2);
    }
    .services-intro-detail .sec-sub{ margin:0; max-width:none; }
    @media (max-width:640px){
      .services-intro-detail{ max-width:none; }
    }

    /* ── Leistungs-Index: kurzer Einstieg, Tiefe liegt woanders ── */
    .lx-head{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.84fr); gap:28px 48px; align-items:end; }
    .lx-h2{ font-family:'Questrial'; font-size:clamp(2rem,4.2vw,3.2rem); line-height:1.08; letter-spacing:-.01em; color:#fff; margin:12px 0 0; }
    .lx-intro{ color:var(--slate); font-size:1rem; line-height:1.7; }

    .lx-list{ margin-top:54px; border-top:1px solid var(--line-soft); }
    .lx-row{
      position:relative; isolation:isolate; overflow:hidden;
      display:grid; grid-template-columns:62px minmax(0,1fr) auto 46px; gap:26px;
      align-items:center; padding:32px 0; border-bottom:1px solid var(--line-soft);
    }
    /* Akzentwisch von links beim Ueberfahren */
    .lx-row::before{
      content:''; position:absolute; inset:0 -24px; z-index:-1;
      background:linear-gradient(90deg, rgba(46,91,255,.17), rgba(46,91,255,0) 58%);
      transform:scaleX(0); transform-origin:left;
      transition:transform .55s cubic-bezier(.16,1,.3,1);
    }
    .lx-row:hover::before, .lx-row:focus-visible::before{ transform:scaleX(1); }
    .lx-no{ font-family:var(--mono); font-size:.76rem; color:var(--muted); transition:color .3s ease; }
    .lx-row:hover .lx-no{ color:var(--accent-2); }
    .lx-name{
      display:block; font-family:'Questrial'; line-height:1.1; color:#fff;
      font-size:clamp(1.35rem,2.6vw,2.05rem); letter-spacing:-.005em;
      transition:transform .45s cubic-bezier(.16,1,.3,1);
    }
    .lx-desc{
      display:block; color:var(--slate); font-size:.95rem; line-height:1.6;
      margin-top:9px; max-width:54ch;
      transition:transform .45s cubic-bezier(.16,1,.3,1) .04s;
    }
    .lx-row:hover .lx-name, .lx-row:hover .lx-desc{ transform:translateX(9px); }
    .lx-price{ font-family:var(--mono); font-size:.8rem; color:var(--accent-2); white-space:nowrap; text-align:right; }
    .lx-go{
      width:46px; height:46px; border-radius:50%; flex:none;
      border:1px solid var(--line); color:var(--slate);
      display:flex; align-items:center; justify-content:center;
      transition:background .3s ease, color .3s ease, border-color .3s ease, transform .45s cubic-bezier(.16,1,.3,1);
    }
    .lx-row:hover .lx-go{ background:var(--accent); border-color:var(--accent); color:#fff; transform:translateX(5px); }

    .lx-foot{
      display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
      margin-top:30px;
    }
    .lx-foot p{ color:var(--muted); font-family:var(--mono); font-size:.72rem; line-height:1.7; }
    .lx-foot a{
      display:inline-flex; align-items:center; gap:10px; min-height:40px;
      font-family:var(--mono); font-size:.72rem; letter-spacing:.09em;
      text-transform:uppercase; color:var(--accent-2);
    }
    .lx-foot a svg{ transition:transform .3s ease; }
    .lx-foot a:hover svg{ transform:translateX(4px); }

    @media (max-width:900px){
      .lx-head{ grid-template-columns:1fr; align-items:start; }
      .lx-row{ grid-template-columns:minmax(0,1fr) 46px; gap:0 18px; align-items:start; padding:26px 0; }
      .lx-no{ grid-column:1; margin-bottom:10px; }
      .lx-go{ grid-column:2; grid-row:1 / span 2; align-self:center; }
      .lx-main{ grid-column:1; }
      .lx-price{ grid-column:1; text-align:left; margin-top:14px; }
      .lx-row:hover .lx-name, .lx-row:hover .lx-desc{ transform:none; }
    }

    @media (prefers-reduced-motion: reduce){
      .lx-row::before{ transition:none; }
      .lx-row:hover .lx-name, .lx-row:hover .lx-desc, .lx-row:hover .lx-go{ transform:none; }
    }

    /* ── Pakete der Zusatzleistungen (Chatbot, Social Media) ── */
    .svcpkg-block{ margin-top:56px; padding-top:40px; border-top:1px solid var(--line-soft); }
    .svcpkg-intro{ display:flex; align-items:baseline; gap:10px 20px; flex-wrap:wrap; margin-bottom:26px; }
    .svcpkg-eyebrow{
      font-family:var(--mono); font-size:.68rem; letter-spacing:.12em;
      color:var(--accent-2); text-transform:uppercase; flex:none;
    }
    .svcpkg-intro p{ color:var(--slate); font-size:.95rem; max-width:62ch; }
    .svcpkg-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .svcpkg{
      display:flex; flex-direction:column;
      border:1px solid var(--line-soft); border-radius:var(--radius);
      background:linear-gradient(180deg, var(--panel) 0%, rgba(10,18,32,.5) 100%);
      padding:26px; transition:border-color .25s ease;
    }
    .svcpkg.fu{ transition:opacity .6s ease, transform .6s ease, border-color .25s ease; }
    .svcpkg:hover{ border-color:var(--line); }
    .svcpkg-head{ display:flex; align-items:center; gap:15px; margin-bottom:18px; }
    .svcpkg-icon{
      width:46px; height:46px; border-radius:12px; background:var(--accent-soft);
      display:flex; align-items:center; justify-content:center; color:var(--accent-2);
      flex:none; transition:background .2s, color .2s;
    }
    .svcpkg:hover .svcpkg-icon{ background:var(--accent); color:#fff; }
    .svcpkg-name{
      font-family:'Questrial'; font-size:1.3rem; color:#fff;
      letter-spacing:.04em; text-transform:uppercase; line-height:1.2;
    }
    .svcpkg-price{ font-family:var(--mono); font-size:.86rem; color:var(--accent-2); margin-top:5px; }
    .svcpkg-desc{ color:var(--slate); font-size:.94rem; line-height:1.65; margin-bottom:16px; }
    .svcpkg-list{ list-style:none; display:flex; flex-direction:column; gap:9px; margin:0 0 16px; }
    .svcpkg-list li{ color:var(--slate); font-size:.92rem; line-height:1.5; }
    .svcpkg-list li::before{ content:'✓ '; color:var(--accent-2); }
    .svcpkg-note{
      font-family:var(--mono); font-size:.68rem; line-height:1.7; color:var(--muted);
      margin-top:auto; padding-top:4px;
    }
    .svcpkg-cta{ display:flex; gap:11px; flex-wrap:wrap; margin-top:18px; }
    @media (max-width:820px){
      .svcpkg-row{ grid-template-columns:1fr; }
      .svcpkg{ padding:22px; }
      .svcpkg-block{ margin-top:44px; padding-top:32px; }
    }
    @media (max-width:420px){
      .svcpkg-cta .btn{ flex:1 1 auto; justify-content:center; }
    }

    /* ── Vorgehen: Flugbahn-Timeline ── */
    #vorgehen{ position:relative; border-top:1px solid var(--line-soft); }
    .trajectory{ position:relative; margin-top:60px; padding-left:60px; }
    .trajectory::before{
      content:''; position:absolute; left:22px; top:22px; bottom:22px; width:1px;
      background:linear-gradient(to bottom, var(--accent), rgba(46,91,255,.1));
    }
    .trail-dot{
      position:absolute; left:18px; width:9px; height:9px; border-radius:50%;
      background:var(--star); box-shadow:0 0 14px 3px rgba(234,241,255,.65);
      animation:trail-travel 7s ease-in-out infinite;
    }
    @keyframes trail-travel{ 0%,100%{ top:22px; opacity:.9; } 50%{ top:calc(100% - 22px); opacity:1; } }
    .stop{ position:relative; padding-bottom:60px; }
    .stop:last-child{ padding-bottom:0; }
    .stop-node{
      position:absolute; left:-60px; top:0; width:44px; height:44px; border-radius:50%;
      background:var(--panel); border:1px solid var(--line);
      display:flex; align-items:center; justify-content:center;
      font-family:var(--mono); font-size:.92rem; color:var(--accent-2);
      z-index:1;
    }
    .stop h3{ font-size:1.24rem; margin-bottom:10px; color:#fff; }
    .stop p{ color:var(--slate); font-size:.98rem; max-width:600px; }
    @media (max-width:640px){
      .trajectory{ padding-left:48px; }
      .stop-node{ left:-48px; width:36px; height:36px; font-size:.8rem; }
      .trajectory::before{ left:18px; }
      .trail-dot{ left:14px; }
    }

    /* ── Angebote: Karten-Deck ── */
    /* Deck faechert seitlich auf – die Sektion muss es beschneiden */
    .wd-pakete{ position:relative; border-top:1px solid var(--line-soft); overflow-x:hidden; }
    .deck-stage{ position:relative; max-width:1040px; margin:76px auto 0; }
    .deck{ position:relative; width:860px; max-width:100%; margin:0 auto; min-height:700px; }
    .deck-arrow{
      position:absolute; top:50%; transform:translateY(-50%);
      width:52px; height:52px; border-radius:50%; z-index:6; flex:none;
      display:flex; align-items:center; justify-content:center;
      background:var(--panel); border:1px solid var(--line); color:var(--slate);
      cursor:pointer; transition:color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
    }
    .deck-arrow:hover{ color:#fff; border-color:rgba(140,180,255,.55); background:rgba(46,91,255,.14); transform:translateY(-50%) translateY(-2px); }
    .deck-arrow:active{ transform:translateY(-50%); }
    .deck-arrow--prev{ left:0; }
    .deck-arrow--next{ right:0; }
    @media (max-width:760px){
      .deck-arrow{ width:36px; height:36px; }
      .deck{ width:calc(100% - 84px); }
    }
    .deck-card{
      position:absolute; top:0; left:50%;
      width:390px; height:auto;
      border-radius:18px;
      background:
        radial-gradient(1px 1px at 12% 16%, rgba(255,255,255,.9), transparent 70%),
        radial-gradient(1px 1px at 82% 11%, rgba(255,255,255,.7), transparent 70%),
        radial-gradient(1.4px 1.4px at 22% 78%, rgba(255,255,255,.85), transparent 70%),
        radial-gradient(1px 1px at 70% 86%, rgba(255,255,255,.6), transparent 70%),
        radial-gradient(1.3px 1.3px at 48% 38%, rgba(255,255,255,.7), transparent 70%),
        radial-gradient(1px 1px at 88% 55%, rgba(255,255,255,.6), transparent 70%),
        radial-gradient(1px 1px at 33% 56%, rgba(255,255,255,.5), transparent 70%),
        radial-gradient(1px 1px at 60% 20%, rgba(255,255,255,.55), transparent 70%),
        radial-gradient(1px 1px at 18% 45%, rgba(255,255,255,.5), transparent 70%),
        radial-gradient(1px 1px at 92% 30%, rgba(255,255,255,.55), transparent 70%),
        linear-gradient(160deg, #0B1526 0%, #04060C 100%);
      border:1px solid rgba(120,160,255,.32);
      box-shadow:0 0 0 1px rgba(255,255,255,.03) inset, 0 20px 50px rgba(0,0,0,.6);
      padding:32px 30px; cursor:pointer; color:var(--ink); font:inherit; text-align:center;
      display:flex; flex-direction:column; align-items:center;
      transition:transform .55s cubic-bezier(.22,.61,.36,1), opacity .5s ease, filter .5s ease, box-shadow .5s ease, border-color .5s ease;
    }
    .deck-card.is-front{
      transform:translateX(-50%) translateY(0) rotate(0deg) scale(1);
      z-index:3; opacity:1; filter:none;
      box-shadow:0 0 0 1px rgba(140,180,255,.14) inset, 0 0 60px rgba(80,140,255,.4), 0 30px 60px rgba(0,0,0,.65);
      border-color:rgba(140,180,255,.65);
    }
    .deck-card.is-left{
      transform:translateX(-50%) translate(-212px, 60px) rotate(-11deg) scale(.8);
      z-index:2; opacity:.5; filter:brightness(.6) saturate(.8);
    }
    .deck-card.is-right{
      transform:translateX(-50%) translate(212px, 60px) rotate(11deg) scale(.8);
      z-index:1; opacity:.5; filter:brightness(.6) saturate(.8);
    }
    .deck-card.is-back{
      transform:translateX(-50%) translateY(60px) scale(.6);
      z-index:0; opacity:0; pointer-events:none;
    }
    .deck-card:hover:not(.is-front){ filter:brightness(.85) saturate(1); opacity:.72; }
    .deck-card:focus-visible{ outline:2px solid var(--accent); outline-offset:5px; }
    .deck-index{
      position:absolute; display:flex; flex-direction:column; align-items:center; gap:3px;
      font-family:'Questrial'; font-size:1.15rem; color:#fff; line-height:1;
    }
    .deck-index--tl{ top:18px; left:18px; }
    .deck-index--br{ bottom:18px; right:18px; transform:rotate(180deg); }
    .deck-index-mark{ width:14px; height:auto; opacity:.85; }
    .deck-emblem{
      width:112px; height:auto; margin:38px 0 18px;
      filter:drop-shadow(0 0 26px rgba(140,180,255,.55));
      opacity:.92;
    }
    .deck-body{ display:flex; flex-direction:column; align-items:center; gap:12px; flex:1; }
    .deck-name{ font-family:'Questrial'; font-size:1.55rem; color:#fff; letter-spacing:.04em; text-transform:uppercase; }
    .deck-star{ color:var(--accent-2); font-size:.85em; }
    .deck-price{ font-family:var(--mono); font-size:1.1rem; color:var(--accent-2); }
    .deck-desc{ font-size:.86rem; color:var(--slate); line-height:1.5; max-width:280px; }
    .deck-features{ list-style:none; font-size:.92rem; color:var(--slate); display:flex; flex-direction:column; gap:8px; margin-top:6px; text-align:left; }
    .deck-features li::before{ content:'✓ '; color:var(--accent-2); }
    .deck-cta{
      margin-top:auto; font-family:var(--mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase;
      color:var(--muted); padding-top:16px;
    }
    .deck-card.is-front .deck-cta{ color:var(--accent-2); }
    .deck-note{ text-align:center; color:var(--muted); font-size:.85rem; margin-top:40px; }
    @media (max-width:640px){
      .deck-stage{ margin-top:56px; }
      .deck{ min-height:660px; }
      .deck-card{ width:min(70vw, 300px); padding:22px 20px; }
      .deck-card.is-left{ transform:translateX(-50%) translate(-112px, 38px) rotate(-10deg) scale(.78); }
      .deck-card.is-right{ transform:translateX(-50%) translate(112px, 38px) rotate(10deg) scale(.78); }
      .deck-emblem{ width:74px; margin:24px 0 13px; }
      .deck-features{ font-size:.8rem; }
    }

    /* ── Projekte: editorial Werkliste ── */
    .projects{ position:relative; border-top:1px solid var(--line-soft); }
    .proj-list{ margin-top:52px; border-top:1px solid var(--line-soft); }
    .proj{
      position:relative; display:grid; grid-template-columns:40px 260px 1fr; gap:28px; align-items:center;
      padding:36px 0; border-bottom:1px solid var(--line-soft);
      transition:background .2s;
    }
    .proj:hover{ background:rgba(255,255,255,.025); }
    .proj-index{ font-family:var(--mono); color:var(--muted); font-size:.92rem; align-self:start; padding-top:6px; }
    .proj-media{
      position:relative; border-radius:10px; overflow:hidden; aspect-ratio:16/10;
      background:var(--panel); border:1px solid var(--line-soft); flex:none;
    }
    .proj-media img{
      width:100%; height:100%; object-fit:cover; display:block;
      filter:saturate(.88) brightness(.92);
      transition:transform .7s cubic-bezier(.16,1,.3,1), filter .4s;
    }
    .proj:hover .proj-media img{ transform:scale(1.06); filter:saturate(1) brightness(1); }
    .proj-badge{
      position:absolute; top:10px; left:10px; z-index:2;
      font-family:var(--mono); font-size:.6rem; font-weight:400; letter-spacing:.08em; text-transform:uppercase;
      padding:5px 11px; border-radius:99px; backdrop-filter:blur(6px);
    }
    .proj-badge-client{ background:var(--accent); color:#fff; border:1px solid var(--accent); }
    .proj-badge-ref{ background:rgba(0,0,0,.6); color:var(--accent-2); border:1px solid rgba(110,140,255,.4); }
    .proj-badge-concept{ background:rgba(0,0,0,.6); color:var(--muted); border:1px solid var(--line); }
    .proj-top{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
    .proj h3{ font-size:clamp(1.3rem, 2.2vw, 1.65rem); font-family:'Questrial'; color:#fff; display:inline-flex; align-items:center; gap:10px; }
    .proj .arrow{ color:var(--accent-2); transition:transform .25s ease; flex:none; }
    .proj:hover .arrow{ transform:translateX(6px); }
    .proj-kind{ font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-2); background:var(--accent-soft); padding:5px 12px; border-radius:99px; flex:none; }
    .proj p{ color:var(--slate); font-size:1rem; margin-top:12px; max-width:620px; }
    .proj-tags{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
    .proj-tags span{ font-family:var(--mono); font-size:.74rem; color:var(--muted); border:1px solid var(--line); border-radius:99px; padding:4px 12px; }
    .proj-cta{
      display:inline-flex; align-items:center; gap:7px; margin-top:16px;
      font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--accent-2);
    }
    .proj-cta svg{ width:12px; height:12px; transition:transform .2s ease; flex:none; }
    .proj:hover .proj-cta svg{ transform:translate(3px,-3px); }
    @media (max-width:900px){ .proj{ grid-template-columns:32px 180px 1fr; gap:20px; } }
    @media (max-width:640px){
      .proj{ display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:26px 0; }
      .proj-index{ order:-1; }
      .proj-media{ aspect-ratio:16/10; width:100%; }
    }

    /* ── Kontakt ── */
    #kontakt{ position:relative; border-top:1px solid var(--line-soft); }
    .contact-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; margin-top:12px; position:relative; }
    .contact-info h2{ font-size:clamp(1.8rem,3.6vw,2.6rem); margin-bottom:16px; }
    .contact-info p{ color:var(--slate); margin-bottom:28px; max-width:400px; }
    .contact-facts{ display:flex; flex-direction:column; gap:16px; }
    .fact{ display:flex; gap:14px; align-items:flex-start; }
    .fact-icon{ width:40px; height:40px; flex:none; border-radius:10px; background:var(--accent-soft); color:var(--accent); display:flex; align-items:center; justify-content:center; }
    .fact b{ display:block; font-size:.92rem; }
    .fact span{ color:var(--slate); font-size:.9rem; }
    .contact-card{
      background:var(--card); border:1px solid var(--line); border-radius:16px;
      box-shadow:var(--shadow); padding:36px;
    }
    .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
    .form-group{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
    .form-label{ font-size:.82rem; font-weight:600; color:var(--ink); }
    .form-input{
      font-family:'Inter'; font-size:.95rem; color:var(--ink);
      background:var(--bg-soft); border:1px solid var(--line); border-radius:10px;
      padding:12px 14px; transition:border-color .15s, background .15s;
      width:100%;
    }
    .form-input:focus{ outline:none; border-color:var(--accent); background:var(--card); }
    textarea.form-input{ resize:vertical; min-height:110px; }
    .form-submit-btn{
      width:100%; justify-content:center;
    }
    .form-submit-btn:disabled{ opacity:.55; cursor:not-allowed; }
    .contact-notice{ font-size:.8rem; color:var(--muted); margin-top:14px; text-align:center; }
    .contact-success{
      display:none; flex-direction:column; align-items:center; text-align:center; gap:12px; padding:32px 0;
    }
    .contact-success-icon{
      width:56px; height:56px; border-radius:50%; background:#E8F9EF; color:#16A34A;
      display:flex; align-items:center; justify-content:center;
    }
    .contact-success h3{ font-size:1.3rem; }
    .contact-success p{ color:var(--slate); font-size:.92rem; }

    /* ── Anfahrt: Fullscreen Sidebar + Karte ── */
    #anfahrt{ position:relative; padding:0; border-top:1px solid var(--line-soft); }
    .anfahrt-stage{
      display:grid; grid-template-columns:440px 1fr;
      min-height:calc(100svh - 69px);
    }
    .anfahrt-sidebar{
      position:relative; z-index:2;
      padding:72px 48px 48px; display:flex; flex-direction:column; gap:34px;
      background:linear-gradient(180deg, var(--void) 0%, #04060B 100%);
      border-right:1px solid var(--line-soft);
    }
    .anfahrt-sidebar .sec-h2{ margin-bottom:10px; }
    .anfahrt-sidebar .sec-sub{ max-width:none; }

    .anfahrt-facts{ display:flex; flex-direction:column; gap:18px; }
    .anfahrt-fact{ display:flex; align-items:flex-start; gap:14px; }
    .anfahrt-fact-icon{
      flex:none; width:38px; height:38px; border-radius:10px; background:var(--accent-soft);
      display:flex; align-items:center; justify-content:center; color:var(--accent-2);
    }
    .anfahrt-fact b{
      display:block; font-size:.7rem; color:var(--muted); font-family:var(--mono);
      letter-spacing:.08em; text-transform:uppercase; margin-bottom:4px; font-weight:400;
    }
    .anfahrt-fact span{ color:#fff; font-size:.92rem; line-height:1.55; }

    .anfahrt-map-col{ position:relative; min-height:460px; }
    .route-stage{
      position:absolute; inset:0; z-index:0; overflow:hidden;
      border-radius:0; background:transparent;
    }
    /* weicher Übergang der rechteckigen Karte in den Sternenhintergrund, statt eines Rahmens */
    .route-stage::after{
      content:''; position:absolute; inset:0; z-index:3; pointer-events:none;
      box-shadow:inset 0 0 140px 46px var(--void);
    }

    .anfahrt-route-panel{
      display:flex; flex-direction:column; gap:20px;
      padding-top:26px; border-top:1px solid var(--line-soft);
    }
    .route-top{ display:flex; justify-content:space-between; gap:16px; }
    .route-point{ display:flex; flex-direction:column; gap:4px; }
    .route-point--end{ text-align:right; align-items:flex-end; }
    .route-point-label{ font-family:var(--mono); font-size:.66rem; letter-spacing:.09em; text-transform:uppercase; color:var(--muted); }
    .route-point-value{ font-family:'Questrial'; font-size:1.15rem; color:#fff; }

    .route-stats-row{ display:flex; gap:32px; }
    .route-stat{ display:flex; flex-direction:column; gap:4px; }
    .route-stat-value{
      font-family:'Questrial'; font-size:1.9rem; color:#fff; line-height:1;
      transition:opacity .35s ease;
    }
    .route-stat-value.is-empty{ color:var(--muted); font-size:1.3rem; }
    .route-stat-label{ font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

    .anfahrt-cta-row{ display:flex; flex-direction:column; gap:12px; }

    @media (max-width:980px){
      .anfahrt-stage{ grid-template-columns:1fr; grid-template-rows:auto 62vh; min-height:auto; }
      .anfahrt-sidebar{ border-right:none; border-bottom:1px solid var(--line-soft); padding:48px 24px 36px; }
      .anfahrt-map-col{ min-height:62vh; }
    }

    /* Planet-Ansicht (Startzustand) */
    .planet-view{
      position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center;
      transition:opacity .9s ease, transform .9s ease;
    }
    .planet-view.is-hidden{ opacity:0; pointer-events:none; }
    .planet-view.is-zooming{ transition:none; }
    .planet{
      position:relative; width:min(58vw, 400px); aspect-ratio:1/1; border-radius:50%;
      overflow:hidden; isolation:isolate;
      transition:transform 2s cubic-bezier(.55,0,.85,.45);
      box-shadow:
        0 0 18px 2px rgba(150,190,230,.4),
        0 0 80px 12px rgba(90,130,200,.22),
        inset -34px -26px 70px rgba(0,0,0,.88),
        inset 18px 14px 34px rgba(255,255,255,.06);
    }
    .planet-texture, .planet-clouds{
      position:absolute; inset:0;
      background-repeat:repeat-x; background-size:200% 100%;
      transition:background-position 1.7s cubic-bezier(.4,0,.2,1), background-size 1.7s cubic-bezier(.4,0,.2,1);
    }
    .planet-texture{
      background-image:url('https://upload.wikimedia.org/wikipedia/commons/c/c3/Solarsystemscope_texture_2k_earth_daymap.jpg');
      filter:saturate(1.05) brightness(1) contrast(1);
    }
    .planet-clouds{
      background-image:url('https://upload.wikimedia.org/wikipedia/commons/e/ed/Solarsystemscope_texture_2k_earth_clouds.jpg');
      mix-blend-mode:screen; opacity:.55;
    }
    .planet-shade{
      position:absolute; inset:-30px; border-radius:50%;
      background:
        radial-gradient(circle at 76% 50%, transparent 26%, rgba(4,8,17,.35) 46%, rgba(2,5,11,.84) 66%, rgba(1,3,8,.96) 86%);
      mix-blend-mode:multiply; pointer-events:none;
      filter:blur(9px);
    }
    .planet-highlight{
      position:absolute; inset:0;
      background:radial-gradient(circle at 32% 30%, rgba(255,255,255,.32), transparent 44%);
      mix-blend-mode:screen; opacity:.42; pointer-events:none;
    }
    .planet-rim{
      position:absolute; inset:-20px; border-radius:50%; pointer-events:none;
      background:radial-gradient(circle, transparent 78%, rgba(170,200,235,.32) 90%, rgba(170,200,235,.1) 96%, transparent 100%);
      mix-blend-mode:screen;
      filter:blur(3px);
    }
    .planet::after{
      content:''; position:absolute; inset:-22px; border-radius:50%;
      box-shadow:0 0 60px rgba(120,155,210,.2); pointer-events:none;
    }
    .planet-hint{
      position:absolute; bottom:26px; left:0; right:0; text-align:center;
      font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color:var(--muted);
      transition:opacity .4s ease;
    }
    /* blur() kombiniert mit mix-blend-mode ist auf schwächeren Mobil-GPUs teuer –
       auf kleinen Bildschirmen daher ohne Weichzeichnung (Farbverlauf bleibt weich genug) */
    @media (max-width:640px){
      .planet-shade, .planet-rim{ filter:none; }
    }

    /* echte Karte, dunkel gestylt */
    .route-map{ position:absolute; inset:0; z-index:1; opacity:0; transition:opacity 1.1s ease; background:#0a0c10; }
    .route-map.is-visible{ opacity:1; }
    .route-car-icon{ display:flex; align-items:center; justify-content:center; transition:transform .15s linear; filter:drop-shadow(0 2px 5px rgba(0,0,0,.55)); }
    .leaflet-container{ background:#0a0c10; font-family:'Inter', sans-serif; }
    .leaflet-control-zoom a{ background:var(--panel) !important; color:#fff !important; border-color:var(--line) !important; }
    .leaflet-control-attribution{ background:rgba(4,6,10,.75) !important; color:var(--muted) !important; }
    .leaflet-control-attribution a{ color:var(--accent-2) !important; }
    .route-glow{ filter:blur(4px); pointer-events:none; }

    /* Marken-blaue Pin-Marker */
    .anfahrt-pin{ filter:drop-shadow(0 6px 14px rgba(0,0,0,.5)); }
    .anfahrt-pulse-marker{ position:relative; width:14px; height:14px; }
    .anfahrt-pulse-dot{
      position:absolute; inset:0; border-radius:50%; background:var(--accent-2);
      box-shadow:0 0 14px 4px rgba(110,140,255,.7);
    }
    .anfahrt-pulse-dot::after{
      content:''; position:absolute; inset:-10px; border-radius:50%; border:1px solid rgba(110,140,255,.5);
      animation:pulse 2.4s ease-out infinite;
    }

    /* Glassmorphism-Popup */
    .leaflet-popup.anfahrt-popup-wrap .leaflet-popup-content-wrapper{
      background:rgba(14,18,28,.72); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
      border:1px solid rgba(255,255,255,.12); border-radius:16px;
      box-shadow:0 24px 60px rgba(0,0,0,.55); color:#fff;
    }
    .leaflet-popup.anfahrt-popup-wrap .leaflet-popup-tip{ background:rgba(14,18,28,.72); }
    .leaflet-popup.anfahrt-popup-wrap .leaflet-popup-close-button{ color:var(--muted) !important; }
    .anfahrt-popup{ padding:4px 2px; min-width:180px; }
    .anfahrt-popup-title{ font-family:'Questrial'; font-size:1.05rem; margin-bottom:8px; }
    .anfahrt-popup-row{ font-size:.82rem; color:var(--slate); margin-bottom:4px; }
    .anfahrt-popup-btn{
      display:inline-flex; align-items:center; gap:6px; margin-top:12px; padding:9px 16px;
      border-radius:99px; background:var(--accent); color:#fff !important; font-size:.78rem; font-weight:600;
      text-decoration:none; transition:transform .15s ease, box-shadow .15s ease;
    }
    .anfahrt-popup-btn:hover{ transform:translateY(-1px); box-shadow:0 8px 20px rgba(46,91,255,.4); }

    .route-addr-form{ display:flex; flex-direction:column; gap:8px; }
    .route-addr-row{ display:flex; gap:8px; }
    .route-addr-row input{
      flex:1; min-width:0; padding:12px 16px; border-radius:99px;
      background:rgba(255,255,255,.04); border:1px solid var(--line);
      color:#fff; font-family:'Inter'; font-size:.86rem; outline:none;
      transition:border-color .2s ease, background .2s ease;
    }
    .route-addr-row input::placeholder{ color:var(--muted); }
    .route-addr-row input:focus{ border-color:var(--accent-2); background:rgba(255,255,255,.07); }
    .route-addr-row input:disabled{ opacity:.55; }
    .route-addr-submit{
      flex:0 0 auto; width:44px; height:44px; border-radius:50%;
      background:var(--accent); border:none; color:#fff; cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      transition:transform .15s ease, box-shadow .15s ease, opacity .2s ease;
    }
    .route-addr-submit:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(46,91,255,.35); }
    .route-addr-submit:disabled{ opacity:.55; cursor:default; transform:none; box-shadow:none; }
    .route-cta{
      display:inline-flex; align-items:center; justify-content:center; gap:10px;
      width:100%; padding:14px 22px; border-radius:99px;
      background:var(--accent); color:#fff; font-weight:600; font-size:.9rem;
      border:none; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, opacity .2s ease;
      font-family:'Inter';
    }
    .route-cta:hover{ transform:translateY(-1px); box-shadow:0 8px 22px rgba(46,91,255,.35); }
    .route-cta:disabled{ opacity:.6; cursor:default; transform:none; box-shadow:none; }
    .route-cta--ghost{
      background:transparent; border:1px solid var(--line); color:var(--slate); font-weight:500;
    }
    .route-cta--ghost:hover{ border-color:var(--accent-2); color:#fff; box-shadow:none; }
    .route-status{ font-size:.84rem; color:var(--slate); min-height:1.2em; }
    .route-status a{ color:var(--accent-2); text-decoration:underline; }

    /* ── Footer: schwebende Card mit riesiger Hintergrund-Typografie darunter ── */
    .footer{ position:relative; padding:80px 0 100px; overflow:hidden; }
    .footer-bg-word{
      position:absolute; left:50%; bottom:0; transform:translate(-50%, 50%);
      font-family:'Questrial'; font-size:clamp(5rem, 17vw, 13.5rem); line-height:1;
      color:rgba(255,255,255,.035); white-space:nowrap; letter-spacing:.02em;
      pointer-events:none; user-select:none; z-index:0;
    }
    .footer-card{
      position:relative; z-index:1;
      background:rgba(255,255,255,.02);
      border:1px solid var(--line-soft); border-radius:32px;
      padding:64px 56px 36px;
      box-shadow:0 40px 100px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.04);
    }
    .footer-card-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
    .footer-brand-row{ display:flex; align-items:center; gap:12px; margin-bottom:20px; }
    .footer-brand-row img{ height:32px; width:auto; }
    .footer-brand-row span{ font-family:'Questrial'; font-size:1.25rem; color:#fff; letter-spacing:.02em; }
    .footer-tagline{ color:var(--slate); font-size:.92rem; line-height:1.65; max-width:34ch; margin-bottom:28px; }
    .footer-social{ display:flex; gap:10px; }
    .footer-social a{
      width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
      display:flex; align-items:center; justify-content:center; color:var(--slate);
      transition:transform .2s ease, border-color .2s ease, color .2s ease, background .2s ease;
    }
    .footer-social a:hover{ transform:translateY(-3px) scale(1.08); border-color:var(--accent-2); color:#fff; background:var(--accent-soft); }

    .footer-links-col h4{
      color:#fff; font-size:.74rem; letter-spacing:.09em; text-transform:uppercase;
      font-family:var(--mono); font-weight:400; margin-bottom:18px;
    }
    .footer-links-col ul{ list-style:none; display:flex; flex-direction:column; gap:12px; }
    .footer-links-col a, .footer-link-btn{
      display:inline-block; font-size:.9rem; color:var(--slate);
      transition:color .2s ease, transform .2s ease;
    }
    .footer-links-col a:hover, .footer-link-btn:hover{ color:#fff; transform:translateX(3px); }
    .footer-link-btn{
      background:none; border:none; padding:0; margin:0; cursor:pointer;
      font-family:'Inter'; text-align:left;
    }

    .footer-divider{ height:1px; background:var(--line-soft); margin-bottom:26px; }
    .footer-bottom{
      display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
      gap:14px; font-size:.82rem; color:var(--muted);
    }
    .footer-bottom-links{ display:flex; gap:22px; align-items:center; }
    .footer-bottom-links a{ color:var(--muted); transition:color .2s ease; }
    .footer-bottom-links a:hover{ color:#fff; }
    .footer-bottom-links .footer-link-btn{ color:var(--muted); font-size:.82rem; }
    .footer-bottom-links .footer-link-btn:hover{ color:#fff; transform:none; }

    @media (max-width:980px){
      .footer-card-grid{ grid-template-columns:1fr 1fr; row-gap:36px; }
      .footer-brand-col{ grid-column:1 / -1; }
    }
    @media (max-width:640px){
      .footer{ padding:64px 0 55px; }
      .footer-card{ padding:48px 24px 28px; border-radius:24px; }
      .footer-card-grid{ grid-template-columns:1fr; row-gap:32px; }
      .footer-bg-word{ font-size:15vw; }
      .footer-bottom{ flex-direction:column; align-items:flex-start; }
    }

    /* ── Cookie-Consent ── */
    .cookie-overlay{
      position:fixed; inset:0; z-index:300;
      background:rgba(0,0,0,.55);
      backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
      opacity:0; visibility:hidden; pointer-events:none;
      transition:opacity .45s ease, visibility 0s linear .45s;
    }
    .cookie-overlay.is-visible{
      opacity:1; visibility:visible; pointer-events:auto;
      transition:opacity .45s ease;
    }
    .cookie-banner{
      position:fixed; left:50%; bottom:28px; z-index:301;
      width:min(92vw, 560px);
      transform:translate(-50%, 18px) scale(.97);
      background:linear-gradient(160deg, var(--panel) 0%, #04060C 100%);
      border:1px solid var(--line); border-radius:22px;
      box-shadow:0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
      padding:32px 32px 28px;
      opacity:0; visibility:hidden; pointer-events:none;
      transition:opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1), visibility 0s linear .5s;
    }
    .cookie-banner.is-visible{
      opacity:1; visibility:visible; pointer-events:auto;
      transform:translate(-50%, 0) scale(1);
      transition:opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
    }
    .cookie-banner-icon{ font-size:1.7rem; margin-bottom:14px; line-height:1; }
    .cookie-title{ font-family:'Questrial'; font-size:1.25rem; color:#fff; margin-bottom:10px; }
    .cookie-text{ color:var(--slate); font-size:.9rem; line-height:1.6; margin-bottom:24px; }
    .cookie-actions{ display:flex; flex-wrap:wrap; gap:10px; }
    .cookie-btn{
      flex:1 1 auto; padding:13px 18px; border-radius:99px; font-size:.85rem; font-weight:600;
      font-family:'Inter'; cursor:pointer; white-space:nowrap;
      transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
    }
    .cookie-btn--primary{ background:var(--accent); color:#fff; border:none; }
    .cookie-btn--primary:hover{ transform:translateY(-2px) scale(1.015); box-shadow:0 10px 26px rgba(46,91,255,.4); }
    .cookie-btn--secondary{ background:rgba(255,255,255,.06); color:#fff; border:none; }
    .cookie-btn--secondary:hover{ background:rgba(255,255,255,.1); transform:translateY(-2px); }
    .cookie-btn--outline{ background:transparent; border:1px solid var(--line); color:var(--slate); }
    .cookie-btn--outline:hover{ border-color:var(--accent-2); color:#fff; transform:translateY(-2px); }

    /* Cookie-Einstellungen: Modal */
    .cookie-modal-overlay{
      position:fixed; inset:0; z-index:310;
      background:rgba(0,0,0,.6);
      backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
      opacity:0; visibility:hidden; pointer-events:none;
      transition:opacity .35s ease, visibility 0s linear .35s;
    }
    .cookie-modal-overlay.is-visible{
      opacity:1; visibility:visible; pointer-events:auto;
      transition:opacity .35s ease;
    }
    .cookie-modal{
      position:fixed; left:50%; top:50%; z-index:311;
      width:min(92vw, 520px); max-height:85vh; overflow-y:auto;
      transform:translate(-50%,-50%) scale(.95);
      background:linear-gradient(160deg, var(--panel) 0%, #04060C 100%);
      border:1px solid var(--line); border-radius:24px;
      box-shadow:0 40px 100px rgba(0,0,0,.6);
      opacity:0; visibility:hidden; pointer-events:none;
      transition:opacity .4s cubic-bezier(.16,1,.3,1), transform .4s cubic-bezier(.16,1,.3,1), visibility 0s linear .4s;
    }
    .cookie-modal.is-visible{
      opacity:1; visibility:visible; pointer-events:auto;
      transform:translate(-50%,-50%) scale(1);
      transition:opacity .4s cubic-bezier(.16,1,.3,1), transform .4s cubic-bezier(.16,1,.3,1);
    }
    .cookie-modal-head{
      display:flex; align-items:center; justify-content:space-between;
      padding:26px 28px; border-bottom:1px solid var(--line-soft);
    }
    .cookie-modal-head h3{ font-family:'Questrial'; font-size:1.1rem; color:#fff; font-weight:400; }
    .cookie-modal-close{
      flex:none; width:34px; height:34px; border-radius:50%; border:1px solid var(--line);
      background:transparent; color:var(--slate); cursor:pointer;
      display:flex; align-items:center; justify-content:center; font-size:1rem;
      transition:background .2s ease, color .2s ease, transform .3s ease;
    }
    .cookie-modal-close:hover{ background:rgba(255,255,255,.08); color:#fff; transform:rotate(90deg); }
    .cookie-modal-body{ padding:6px 28px; }
    .cookie-cat{ padding:20px 0; border-bottom:1px solid var(--line-soft); }
    .cookie-cat:last-child{ border-bottom:none; }
    .cookie-cat-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
    .cookie-cat-head h4{ color:#fff; font-size:.96rem; margin-bottom:6px; font-family:'Questrial'; font-weight:400; }
    .cookie-cat-head p{ color:var(--slate); font-size:.82rem; line-height:1.55; max-width:34ch; }

    .cookie-toggle{ position:relative; flex:none; display:inline-block; width:44px; height:26px; }
    .cookie-toggle input{
      position:absolute; inset:0; width:100%; height:100%; margin:0;
      opacity:0; cursor:pointer; z-index:1;
    }
    .cookie-toggle input:disabled{ cursor:default; }
    .cookie-toggle-track{
      position:absolute; inset:0; border-radius:99px; background:rgba(255,255,255,.1);
      border:1px solid var(--line); transition:background .25s ease, border-color .25s ease;
    }
    .cookie-toggle-thumb{
      position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%;
      background:var(--slate); transition:transform .25s cubic-bezier(.34,1.56,.64,1), background .25s ease;
    }
    .cookie-toggle input:checked ~ .cookie-toggle-track{ background:var(--accent); border-color:var(--accent); }
    .cookie-toggle input:checked ~ .cookie-toggle-track .cookie-toggle-thumb{ transform:translateX(18px); background:#fff; }
    .cookie-toggle input:disabled ~ .cookie-toggle-track{ opacity:.65; }
    .cookie-toggle input:focus-visible ~ .cookie-toggle-track{ outline:2px solid var(--accent-2); outline-offset:2px; }

    .cookie-modal-foot{ padding:22px 28px 28px; }
    .cookie-modal-foot .cookie-btn{ width:100%; }

    @media (max-width:640px){
      .cookie-banner{
        left:0; bottom:0; width:100%; border-radius:22px 22px 0 0;
        padding:28px 22px 24px; transform:translateY(100%);
      }
      .cookie-banner.is-visible{ transform:translateY(0); }
      .cookie-actions{ flex-direction:column; }
      .cookie-modal{
        left:0; top:auto; bottom:0; width:100%; max-height:88vh;
        border-radius:22px 22px 0 0; transform:translateY(100%);
      }
      .cookie-modal.is-visible{ transform:translateY(0); }
    }

    /* ── Scroll-Animation ── */
    .fu{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
    .fu.on{ opacity:1; transform:none; }
    @media (prefers-reduced-motion: reduce){
      html{ scroll-behavior:auto; }
      .fu{ opacity:1; transform:none; transition:none; }
      .card, .proj, .btn{ transition:none; }
    }

    /* ── Responsive ── */
    @media (max-width: 900px){
      section{ padding:72px 0; }
      .contact-grid{ grid-template-columns:1fr; gap:40px; }
      .nav-links{ display:none; }
      .nav-toggle{ display:flex; }
      .mobile-menu{ display:block; }
      .footer-grid{ grid-template-columns:1fr; gap:32px; }
    }
    @media (max-width: 540px){
      .form-row{ grid-template-columns:1fr; }
      .contact-card{ padding:26px 20px; }
    }
  