  .topbar{ position: relative; }
  .toplinks{ display:flex; gap: 28px; font-size: 14px; font-weight: 400; }
  .toplinks a{ text-decoration:none; color: var(--ink-soft); }
  .toplinks a:hover{ color: var(--ink); }

  .menu-toggle{
    display:none;
    width: 40px; height: 40px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: var(--paper);
    align-items:center; justify-content:center;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    padding: 0;
  }
  .menu-toggle span{
    display:block; width: 18px; height: 2px;
    background: var(--ink); border-radius: 2px;
    transition: transform .2s ease, opacity .2s ease;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2){ opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-6px) rotate(-45deg); }

  .mobile-menu{
    display:none;
    flex-direction: column;
    gap: 4px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 10px;
    margin: 0 0 18px;
    box-shadow: var(--shadow);
  }
  .mobile-menu a{
    text-decoration:none; color: var(--ink);
    font-size: 15px;
    padding: 12px 14px;
    border-radius: 10px;
  }
  .mobile-menu a:hover, .mobile-menu a:focus-visible{ background: var(--mint-soft); }
  .mobile-menu.open{ display:flex; }

  @media (max-width: 640px){
    .toplinks{ display:none; }
    .menu-toggle{ display:flex; }
  }

  /* ---------- HERO ---------- */
  .hero{ padding: 56px 0 40px; text-align:center; }
  .hero .tag{ margin-bottom: 22px; }
  h1{
    font-family: 'Fraunces', serif;
    font-weight: 700;
    font-size: clamp(34px, 5.6vw, 58px);
    line-height: 1.06;
    margin: 0 0 20px;
    letter-spacing: -0.015em;
  }
  h1 em{ font-style: normal; color: var(--strawberry); }
  .hero .lede{
    font-size: 17.5px;
    max-width: 560px;
    margin: 0 auto 0;
  }

  .scoops{ display:inline-flex; gap:4px; vertical-align:middle; }
  .scoop{
    width:12px; height:12px;
    border-radius: 50% 50% 50% 2px;
    background: var(--line);
    transform: rotate(45deg);
  }
  .scoop.filled{ background: var(--lemon); }
  .hero-scoops{ margin-top: 30px; }
  .hero-scoops .cap{
    display:block; margin-top: 10px;
    font-family:'Space Mono',monospace; font-size: 12px; color: var(--ink-soft);
  }

  .cta-download{
    display:inline-flex; align-items:center; gap:10px;
    background: var(--strawberry);
    color: #fff;
    font-family:'Space Mono', monospace;
    font-size: 14px;
    padding: 14px 26px;
    border-radius: 999px;
    text-decoration:none;
    margin-top: 28px;
    box-shadow: 0 14px 28px -12px rgba(240,87,122,0.45);
    transition: transform .15s ease, box-shadow .15s ease;
  }
  .cta-download:hover{ transform: translateY(-2px); box-shadow: 0 18px 32px -12px rgba(240,87,122,0.55); }
  .cta-meta{
    display:block; margin-top:10px;
    font-family:'Space Mono', monospace; font-size:12px; color: var(--ink-soft);
  }

  .download-counter{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Space Mono', monospace;
    font-size: 12.5px;
    color: var(--ink-soft);
    background: var(--lemon-soft);
    padding: 8px 16px;
    border-radius: 999px;
    margin-top: 16px;
  }
  .download-counter strong{ color: var(--ink); font-weight: 700; }

  /* ---------- STÄDTE-BANNER ---------- */
  .pilot{
    margin: 46px 0 0;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 22px 26px;
    display:flex; align-items:center; gap:18px;
    box-shadow: var(--shadow);
  }
  .pilot .pin{
    flex-shrink:0;
    width: 44px; height: 44px;
    border-radius: 50% 50% 50% 6px;
    background: var(--strawberry-soft);
    display:flex; align-items:center; justify-content:center;
    font-size: 20px;
    transform: rotate(-6deg);
  }
  .pilot h3{ font-family:'Fraunces',serif; font-weight:700; font-size:17px; margin:0 0 4px; }
  .pilot p{ margin:0; color:var(--ink-soft); font-size:14.5px; line-height:1.5; }
  .pilot .cities{ margin-top:8px; display:flex; flex-wrap:wrap; gap:6px; }
  .pilot .chip{
    font-family:'Space Mono',monospace; font-size:11px;
    border:1px dashed var(--line); color: var(--ink-soft);
    padding: 3px 9px; border-radius:999px;
  }
  @media (max-width:560px){ .pilot{ flex-direction:column; text-align:center; } }

  /* ---------- SECTIONS ---------- */
  section{ padding: 84px 0; }
  section + section{ border-top: 1px solid var(--line); }
  .section-head{ max-width: 560px; margin: 0 auto 48px; text-align:center; }
  .section-head .tag{ color: var(--strawberry); background: none; padding: 0; margin-bottom: 12px; }
  .section-head h2{
    font-family:'Fraunces',serif; font-weight:700; font-size: clamp(26px, 3.2vw, 34px);
    margin:0 0 12px; letter-spacing:-0.01em;
  }
  .section-head p{ color:var(--ink-soft); font-size:15.5px; line-height:1.6; margin:0; }

  /* ---------- FEATURES ---------- */
  .features{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  @media (max-width: 780px){ .features{ grid-template-columns: 1fr; } }
  .feature{
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 22px;
    padding: 28px 24px;
  }
  .feature .ico{
    width: 46px; height: 46px;
    border-radius: 50% 50% 50% 8px;
    display:flex; align-items:center; justify-content:center;
    font-size: 21px;
    margin-bottom: 18px;
  }
  .feature h3{ font-family:'Fraunces',serif; font-weight:700; font-size:18px; margin: 0 0 8px; }
  .feature p{ color:var(--ink-soft); font-size:14.5px; line-height:1.6; margin:0; }

  /* ---------- PRIVACY ---------- */
  .privacy{
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 28px;
    padding: 32px 40px;
    display:grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items:center;
    box-shadow: var(--shadow);
  }
  @media (max-width: 780px){ .privacy{ grid-template-columns: 1fr; padding: 32px 24px; } }
  .id-badge{
    display:inline-flex; align-items:center; gap:10px;
    background: var(--mint-soft);
    border-radius: 999px;
    padding: 8px 16px;
    font-family:'Space Mono',monospace; font-size:14px; font-weight:400; color: var(--mint);
    margin-bottom: 14px;
  }
  .id-badge .puck{ width:8px; height:8px; border-radius:50%; background:var(--mint); }
  .privacy-copy h3{ font-family:'Fraunces',serif; font-weight:700; font-size:22px; margin: 0 0 12px; }
  .privacy-copy p{ color:var(--ink-soft); font-size:14.5px; line-height:1.55; margin: 0 0 12px; }
  .privacy-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
  .privacy-list li{ display:flex; gap:10px; align-items:flex-start; font-size: 14.5px; color: var(--ink); }
  .privacy-list .check{
    flex-shrink:0; width:20px; height:20px; border-radius:50%;
    background: var(--strawberry-soft); color: var(--strawberry);
    display:flex; align-items:center; justify-content:center;
    font-size:11px; font-weight:700; margin-top:1px;
  }

  /* ---------- FAQ ---------- */
  .faq{ max-width: 720px; margin: 0 auto; }
  .faq-item{ border-bottom: 1px solid var(--line); }
  .faq-item summary{
    list-style:none;
    cursor:pointer;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding: 22px 4px;
    font-family:'Fraunces',serif; font-weight:700; font-size:16.5px;
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item .plus{
    flex-shrink:0;
    width: 26px; height:26px; border-radius:50%;
    border: 1.5px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    font-size: 15px; color: var(--ink-soft);
    transition: transform 0.2s ease;
  }
  .faq-item[open] .plus{ transform: rotate(45deg); background: var(--lemon-soft); border-color: transparent; color: var(--ink); }
  .faq-item .a{ padding: 0 30px 24px 4px; color: var(--ink-soft); font-size: 14.5px; line-height: 1.65; }
