/* =====================================================================
   Aurora Hive - Design System 2026
   Abgeleitet vom DSS-Designsystem, auf die Vertriebsseite zugeschnitten.
   ===================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
/* Der Kopf steht fest ueber der Seite. Ohne diesen Abstand landet jede
   Sprungmarke darunter und die Ueberschrift ist verdeckt - auf den
   Rechtstexten trifft das jeden Eintrag des Inhaltsverzeichnisses. */
[id]{scroll-margin-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
body{margin:0}
img,video,svg{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}

:root{
  /* Flächen */
  --ink:#05080f;
  --ink-2:#080d18;
  --panel:#0e1626;
  --panel-2:#131f33;
  --line:rgba(148,163,184,.14);
  --line-2:rgba(148,163,184,.24);

  /* Text */
  --tx:#e9eefb;
  --tx-2:#a3b3cd;
  --tx-3:#70839f;

  /* Produktfarben */
  --sales:#3b82f6;   --sales-2:#60a5fa;   --sales-d:#1d4ed8;
  --sites:#a78bfa;   --sites-2:#c4b5fd;   --sites-d:#6d28d9;
  --live:#34d399;    --live-2:#6ee7b7;    --live-d:#047857;
  --gold:#f0a63c;    --gold-2:#fbbf24;

  /* aktive Akzentfarbe - je Seite überschrieben */
  --ac:var(--sales);
  --ac-2:var(--sales-2);
  --ac-d:var(--sales-d);

  --radius:16px;
  --radius-lg:22px;
  --maxw:1240px;
  --shadow:0 24px 60px -20px rgba(0,0,0,.7);

  --v:2;
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,'SF Mono',Menlo,Consolas,monospace;
}
body[data-theme="sites"]{--ac:var(--sites);--ac-2:var(--sites-2);--ac-d:var(--sites-d)}
body[data-theme="live"] {--ac:var(--live);--ac-2:var(--live-2);--ac-d:var(--live-d)}

body{
  font-family:var(--font);
  background:var(--ink);
  color:var(--tx);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* ---------- Layout ---------- */
.wrap{width:min(100% - 40px,var(--maxw));margin-inline:auto}
@media(max-width:640px){.wrap{width:min(100% - 28px,var(--maxw))}}
.sec{padding:104px 0;position:relative}
.sec--tight{padding:72px 0}
.sec--alt{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 12%,var(--ink-2) 88%,var(--ink) 100%)}
.grid{display:grid;gap:22px}
.center{text-align:center}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
@media(max-width:760px){.g2{grid-template-columns:1fr}}

/* ---------- Typografie ---------- */
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.022em;line-height:1.12}
h1{font-size:clamp(2.3rem,1.35rem + 3.6vw,4.3rem);letter-spacing:-.032em}
h2{font-size:clamp(1.85rem,1.15rem + 2.4vw,3rem);letter-spacing:-.028em}
h3{font-size:clamp(1.2rem,1.02rem + .6vw,1.5rem)}
h4{font-size:1.03rem}
p{margin:0 0 1em}
.lead{font-size:clamp(1.06rem,1rem + .35vw,1.28rem);color:var(--tx-2);line-height:1.62}
.dim{color:var(--tx-2)}
.dimmer{color:var(--tx-3)}
.sm{font-size:.9rem}
.xs{font-size:.8rem}
.nowrap{white-space:nowrap}

.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.735rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ac-2);margin-bottom:20px;
}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ac),transparent)}

.gradtext{
  /* Senkrecht, nicht waagerecht: ein waagerechter Verlauf setzt den
     Farbwechsel mitten in ein Wort ("Sys|tem"). */
  background:linear-gradient(172deg,#ffffff 6%,var(--ac-2) 88%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.sec-head{max-width:780px;margin-bottom:56px}
.sec-head.center{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  --b:var(--ac);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 26px;border-radius:999px;border:1px solid transparent;
  font-weight:650;font-size:.96rem;text-decoration:none;cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
  white-space:nowrap;
}
.btn svg{width:17px;height:17px;flex:none}
.btn--primary{background:linear-gradient(135deg,var(--b),var(--ac-d));color:#fff;box-shadow:0 12px 30px -10px color-mix(in srgb,var(--b) 65%,transparent)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 18px 40px -12px color-mix(in srgb,var(--b) 75%,transparent)}
.btn--ghost{background:rgba(255,255,255,.045);border-color:var(--line-2);color:var(--tx)}
.btn--ghost:hover{background:rgba(255,255,255,.09);transform:translateY(-2px)}
.btn--sm{padding:10px 20px;font-size:.88rem}
.btn--wide{width:100%}
.btn[disabled]{opacity:.55;cursor:default;transform:none!important}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

.arrowlink{display:inline-flex;align-items:center;gap:8px;font-weight:640;color:var(--ac-2);text-decoration:none;font-size:.97rem}
.arrowlink svg{width:15px;height:15px;transition:transform .2s ease}
.arrowlink:hover svg{transform:translateX(4px)}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:90;transition:background .3s ease,border-color .3s ease;border-bottom:1px solid transparent}
.hdr.is-stuck{background:rgba(5,8,15,.86);backdrop-filter:blur(18px) saturate(160%);border-bottom-color:var(--line)}
.hdr__in{display:flex;align-items:center;gap:18px;height:72px}
.hdr__logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.hdr__logo svg{height:30px;width:auto}
.hdr__nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.hdr__nav a{padding:9px 14px;border-radius:10px;text-decoration:none;font-size:.925rem;font-weight:550;color:var(--tx-2);transition:color .16s,background .16s}
.hdr__nav a:hover{color:var(--tx);background:rgba(255,255,255,.06)}
.hdr__nav a.is-active{color:var(--tx)}
.hdr__nav a.is-active::after{content:"";display:block;height:2px;border-radius:2px;background:var(--ac);margin:5px 12px -6px}
.hdr__cta{margin-left:8px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:10px;padding:9px 11px;cursor:pointer}
.burger span{display:block;width:19px;height:2px;background:var(--tx);border-radius:2px}
.burger span+span{margin-top:5px}
@media(max-width:1040px){
  .hdr__nav,.hdr__cta{display:none}
  .burger{display:block}
  .hdr__nav.is-open{
    display:flex;flex-direction:column;align-items:stretch;gap:2px;
    position:absolute;top:72px;left:14px;right:14px;
    background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;
    box-shadow:var(--shadow);
  }
  .hdr__nav.is-open a{padding:13px 14px}
  .hdr__nav.is-open a.is-active::after{display:none}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(92svh,820px);display:flex;align-items:center;overflow:hidden;padding:150px 0 90px}
.hero--sub{min-height:auto;padding:164px 0 72px}
.hero__scrim{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse 900px 520px at 12% 8%,color-mix(in srgb,var(--ac) 20%,transparent),transparent 68%),
    radial-gradient(ellipse 780px 480px at 92% 82%,color-mix(in srgb,var(--sites) 13%,transparent),transparent 70%),
    linear-gradient(180deg,var(--ink-2) 0%,var(--ink) 78%);
}
.hero__mesh{
  position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(148,163,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.055) 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:radial-gradient(ellipse 80% 65% at 50% 30%,#000 25%,transparent 78%);
  mask-image:radial-gradient(ellipse 80% 65% at 50% 30%,#000 25%,transparent 78%);
}
.hero__in{position:relative;z-index:2;max-width:920px}
.hero h1{margin-bottom:24px}
.hero .lead{max-width:660px;font-size:clamp(1.08rem,1rem + .5vw,1.35rem)}
.hero .btn-row{margin-top:38px}

.badge{
  display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 11px;border-radius:999px;
  background:rgba(255,255,255,.055);border:1px solid var(--line-2);
  font-size:.815rem;font-weight:560;color:var(--tx-2);margin-bottom:26px;backdrop-filter:blur(8px);
}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb,var(--live) 25%,transparent)}

.trustbar{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:46px;padding-top:26px;border-top:1px solid var(--line)}
.trustbar span{display:inline-flex;align-items:center;gap:8px;font-size:.845rem;color:var(--tx-3);font-weight:520}
.trustbar svg{width:15px;height:15px;color:var(--ac-2);flex:none}

/* ---------- Karten ---------- */
.card{
  background:linear-gradient(165deg,var(--panel) 0%,var(--ink-2) 100%);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:30px;position:relative;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.card--link{text-decoration:none;display:block}
.card--link:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--ac) 45%,var(--line));box-shadow:0 26px 55px -28px color-mix(in srgb,var(--ac) 70%,transparent)}
.card__glow{position:absolute;inset:-1px auto auto -1px;width:190px;height:130px;background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--ac) 30%,transparent),transparent 70%);pointer-events:none;opacity:.85}
.card > *{position:relative}

.pico{
  width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px;
  background:color-mix(in srgb,var(--ac) 16%,transparent);
  border:1px solid color-mix(in srgb,var(--ac) 32%,transparent);
  color:var(--ac-2);
}
.pico svg{width:22px;height:22px}

.tag{
  display:inline-block;padding:4px 11px;border-radius:999px;font-size:.72rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  background:color-mix(in srgb,var(--ac) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--ac) 30%,transparent);
  color:var(--ac-2);
}
.tag--gold{background:color-mix(in srgb,var(--gold) 14%,transparent);border-color:color-mix(in srgb,var(--gold) 32%,transparent);color:var(--gold-2)}

/* Produktkarten */
.prodgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.prod{--ac:var(--sales);--ac-2:var(--sales-2);--ac-d:var(--sales-d)}
.prod[data-p="sites"]{--ac:var(--sites);--ac-2:var(--sites-2);--ac-d:var(--sites-d)}
.prod[data-p="live"]{--ac:var(--live);--ac-2:var(--live-2);--ac-d:var(--live-d)}
.prod__name{font-size:1.45rem;font-weight:750;letter-spacing:-.02em;margin-bottom:4px}
.prod__kicker{font-size:.78rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ac-2);margin-bottom:14px}

.ticks{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:9px}
.ticks li{position:relative;padding-left:24px;font-size:.925rem;color:var(--tx-2)}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:13px;height:13px;border-radius:50%;background:color-mix(in srgb,var(--ac) 22%,transparent);border:1px solid color-mix(in srgb,var(--ac) 50%,transparent)}
.ticks li::after{content:"";position:absolute;left:4.5px;top:.83em;width:4px;height:1.5px;border-radius:1px;background:var(--ac-2);box-shadow:2.5px -2px 0 0 var(--ac-2);transform:rotate(45deg)}
.ticks b{color:var(--tx);font-weight:640}

/* Feature-Grid */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.feat{background:var(--ink-2);padding:28px 26px;transition:background .2s}
.feat:hover{background:var(--panel)}
.feat h3{margin-bottom:8px;font-size:1rem;letter-spacing:-.012em}
.feat p{margin:0;font-size:.895rem;color:var(--tx-2);line-height:1.6}
.feat__ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin-bottom:16px;background:color-mix(in srgb,var(--ac) 14%,transparent);color:var(--ac-2)}
.feat__ic svg{width:17px;height:17px}

/* Split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split--rev > :first-child{order:2}
@media(max-width:960px){.split{grid-template-columns:1fr;gap:40px}.split--rev > :first-child{order:0}}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border-block:1px solid var(--line)}
.stat{background:var(--ink);padding:28px 22px;text-align:center}
.stat b{display:block;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.5rem);font-weight:750;letter-spacing:-.03em;color:var(--tx);line-height:1.1}
.stat span{font-size:.83rem;color:var(--tx-3);font-weight:540}

/* Rollen */
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.role{--c:var(--sales);--c2:var(--sales-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;background:var(--ink-2);position:relative;overflow:hidden}
.role[data-p="sites"]{--c:var(--sites);--c2:var(--sites-2)}
.role[data-p="live"]{--c:var(--live);--c2:var(--live-2)}
.role::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--c),transparent)}
.role__n{font-size:1.2rem;font-weight:750;letter-spacing:-.02em;color:var(--c2);margin-bottom:4px}
.role__r{font-size:.76rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:var(--tx-3);margin-bottom:14px}
.role p{margin:0;font-size:.92rem;color:var(--tx-2)}

/* ---------- Ablauf ---------- */
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;counter-reset:f}
.flow__i{position:relative;padding:26px 24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);counter-increment:f}
.flow__i::before{content:counter(f,decimal-leading-zero);font-size:.78rem;font-weight:800;letter-spacing:.08em;color:var(--ac-2);display:block;margin-bottom:12px}
.flow__i h3{margin-bottom:8px;font-size:1.03rem;letter-spacing:-.012em}
.flow__i p{margin:0;font-size:.895rem;color:var(--tx-2)}
.flow__i .when{font-size:.72rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);display:block;margin-bottom:10px}

/* =====================================================================
   PREISE
   ===================================================================== */
.pricetoggle{display:inline-flex;align-items:center;gap:3px;padding:4px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);margin-bottom:12px}
.pricetoggle button{
  border:0;background:none;padding:9px 20px;border-radius:999px;cursor:pointer;
  font-size:.87rem;font-weight:650;color:var(--tx-3);transition:background .18s,color .18s;
}
.pricetoggle button.on{background:var(--ac);color:#fff}
.saveline{font-size:.86rem;color:var(--live-2);font-weight:600}

.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:22px;align-items:stretch}
.plan{
  position:relative;display:flex;flex-direction:column;
  background:linear-gradient(165deg,var(--panel) 0%,var(--ink-2) 100%);
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:30px 28px;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.plan:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ac) 40%,var(--line))}
.plan--best{border-color:color-mix(in srgb,var(--ac) 55%,var(--line));box-shadow:0 26px 60px -30px color-mix(in srgb,var(--ac) 80%,transparent)}
.plan__flag{position:absolute;top:-12px;left:28px;padding:5px 13px;border-radius:999px;background:linear-gradient(135deg,var(--ac),var(--ac-d));color:#fff;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.plan__name{font-size:1.22rem;font-weight:750;letter-spacing:-.02em;margin-bottom:4px}
.plan__for{font-size:.86rem;color:var(--tx-3);margin-bottom:22px}
.plan__price{display:flex;align-items:baseline;gap:7px;margin-bottom:4px}
.plan__price b{font-size:2.5rem;font-weight:750;letter-spacing:-.035em;line-height:1}
.plan__price span{font-size:.9rem;color:var(--tx-3)}
.plan__sub{font-size:.82rem;color:var(--tx-3);margin-bottom:24px;min-height:1.4em}
.plan__once b{font-size:2rem}
.plan .btn{margin-top:auto}
.plan__ticks{margin-bottom:26px}

/* Grenzenblock in den Paketen */
.limits{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  margin:0 0 24px;background:rgba(255,255,255,.02);
}
.limits + .limits{margin-top:-12px}
.limits__h{
  display:flex;align-items:center;gap:8px;padding:10px 15px;
  background:color-mix(in srgb,var(--lc,var(--ac)) 11%,transparent);
  border-bottom:1px solid var(--line);
  font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--lc2,var(--ac-2));
}
.limits--sales{--lc:var(--sales);--lc2:var(--sales-2)}
.limits--sites{--lc:var(--sites);--lc2:var(--sites-2)}
.limits--live{--lc:var(--live);--lc2:var(--live-2)}
.limits__h svg{width:13px;height:13px}
.limits dl{margin:0;display:grid;grid-template-columns:1fr auto}
.limits dt,.limits dd{margin:0;padding:8px 15px;font-size:.87rem;border-bottom:1px solid var(--line)}
.limits dt{color:var(--tx-2)}
.limits dd{color:var(--tx);font-weight:650;text-align:right;white-space:nowrap}
.limits dl > :nth-last-child(1),.limits dl > :nth-last-child(2){border-bottom:0}

/* Raster-Kinder duerfen schrumpfen.
   Ohne min-width:0 waechst ein Rasterfeld auf die Mindestbreite seines
   Inhalts - eine breite Tabelle im Kasten schiebt dann die ganze Seite
   seitwaerts, obwohl sie in einem scrollbaren Rahmen sitzt. */
.split > *, .g2 > *, .g3 > *, .grid > *, .plans > *, .prodgrid > *,
.feats > *, .roles > *, .flow > *{min-width:0}

/* Tabellen */
.tblwrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch}
table.tbl{width:100%;border-collapse:collapse;min-width:660px;font-size:.9rem}
table.tbl th,table.tbl td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}
table.tbl thead th{
  background:var(--panel);font-size:.72rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tx-3);white-space:nowrap;
}
table.tbl tbody tr:last-child th,table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl tbody tr:hover td,table.tbl tbody tr:hover th{background:rgba(255,255,255,.022)}
table.tbl tbody th{font-weight:600;color:var(--tx-2);width:34%}
table.tbl td{color:var(--tx);white-space:nowrap}
table.tbl td.wrap,table.tbl th.wrap{white-space:normal}
table.tbl .num{font-variant-numeric:tabular-nums}
table.tbl .yes{color:var(--live-2);font-weight:700}
table.tbl .no{color:var(--tx-3)}
table.tbl .hi{color:var(--ac-2);font-weight:700}
table.tbl tr.grp th{background:rgba(255,255,255,.03);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ac-2);width:auto}
.tblnote{font-size:.83rem;color:var(--tx-3);margin-top:14px}

/* Kleine Tabelle im Kasten: bricht um, statt zu schieben */
table.tbl--mini{min-width:0}
table.tbl--mini th,table.tbl--mini td{padding:11px 2px}
table.tbl--mini td{white-space:normal;text-align:right}
table.tbl--mini tbody th{width:auto}

/* Hinweiskasten */
.note{
  display:flex;gap:14px;align-items:flex-start;
  border:1px solid var(--line);border-left:3px solid var(--ac);
  border-radius:var(--radius);padding:20px 22px;background:var(--ink-2);
}
.note svg{width:19px;height:19px;color:var(--ac-2);flex:none;margin-top:2px}
.note p{margin:0;font-size:.92rem;color:var(--tx-2)}
.note p + p{margin-top:.7em}
.note b{color:var(--tx)}
.note--gold{border-left-color:var(--gold)}
.note--gold svg{color:var(--gold-2)}

/* ---------- FAQ ---------- */
.faq{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.faq details{border-bottom:1px solid var(--line);background:var(--ink-2)}
.faq details:last-child{border-bottom:0}
.faq summary{padding:20px 24px;cursor:pointer;font-weight:640;font-size:1.01rem;list-style:none;display:flex;align-items:center;gap:14px;transition:background .18s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:var(--panel)}
.faq summary::after{content:"+";margin-left:auto;font-size:1.35rem;font-weight:400;color:var(--ac-2);line-height:1;transition:transform .22s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{padding:0 24px 22px;color:var(--tx-2);font-size:.945rem;max-width:78ch}
.faq details > div p:last-child{margin-bottom:0}

/* ---------- CTA ---------- */
.ctasec{position:relative;overflow:hidden;padding:110px 0;background:linear-gradient(180deg,var(--ink) 0%,var(--ink-2) 50%,var(--ink) 100%)}
.ctasec::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 820px 420px at 50% 40%,color-mix(in srgb,var(--ac) 17%,transparent),transparent 70%);
}
.ctasec__in{position:relative;z-index:2;text-align:center;max-width:790px;margin-inline:auto}
.ctasec .btn-row{justify-content:center}

/* ---------- Formular ---------- */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.form-grid{grid-template-columns:1fr}}
.fld{display:block}
.fld.full{grid-column:1/-1}
.fld > span{display:block;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-3);margin-bottom:8px}
.fld input,.fld textarea,.fld select{
  width:100%;padding:13px 15px;border-radius:12px;
  background:rgba(255,255,255,.035);border:1px solid var(--line-2);color:var(--tx);
  transition:border-color .18s,background .18s;font-size:.95rem;
}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--ac);background:rgba(255,255,255,.06)}
.fld textarea{min-height:130px;resize:vertical}
.fld select option{background:var(--panel);color:var(--tx)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:11px;align-items:flex-start;font-size:.87rem;color:var(--tx-2);grid-column:1/-1}
.check input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:var(--ac)}
.check a{color:var(--ac-2)}
.formmsg{grid-column:1/-1;padding:14px 16px;border-radius:12px;font-size:.9rem;display:none}
.formmsg.ok{display:block;background:color-mix(in srgb,var(--live) 13%,transparent);border:1px solid color-mix(in srgb,var(--live) 34%,transparent);color:var(--live-2)}
.formmsg.err{display:block;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#fca5a5}

.contact-line{display:flex;gap:15px;align-items:flex-start;text-decoration:none;padding:17px 0;border-bottom:1px solid var(--line)}
.contact-line:last-child{border-bottom:0}
.contact-line svg{width:19px;height:19px;color:var(--ac-2);flex:none;margin-top:3px}
.contact-line b{display:block;font-size:.95rem;color:var(--tx);font-weight:620}
.contact-line span{font-size:.87rem;color:var(--tx-3)}

/* ---------- Rechtstexte ---------- */
.legal{max-width:82ch}
.legal h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);margin:52px 0 16px;padding-top:26px;border-top:1px solid var(--line)}
.legal h2:first-of-type{margin-top:0;border-top:0;padding-top:0}
.legal h3{font-size:1.08rem;margin:30px 0 10px}
.legal p,.legal li{color:var(--tx-2);font-size:.96rem}
.legal ul,.legal ol{padding-left:22px;margin:0 0 1em}
.legal li{margin-bottom:.45em}
.legal a{color:var(--ac-2)}
.legal b,.legal strong{color:var(--tx)}
.legal address{font-style:normal;color:var(--tx-2);line-height:1.8}
.legal .updated{font-size:.85rem;color:var(--tx-3);margin-bottom:40px}
.toc{border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;background:var(--ink-2);margin-bottom:48px}
.toc .toc__h{margin-bottom:12px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3)}
.toc ol{margin:0;padding-left:20px;display:grid;gap:6px}
.toc a{color:var(--tx-2);text-decoration:none;font-size:.92rem}
.toc a:hover{color:var(--ac-2)}

/* ---------- Footer ---------- */
.ftr{border-top:1px solid var(--line);padding:64px 0 34px;background:var(--ink-2)}
.ftr__grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:40px;margin-bottom:46px}
@media(max-width:860px){.ftr__grid{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:520px){.ftr__grid{grid-template-columns:1fr}}
.ftr h2{margin:0 0 16px;font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase;color:var(--tx-3)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr a{text-decoration:none;color:var(--tx-2);font-size:.92rem;transition:color .16s}
.ftr a:hover{color:var(--ac-2)}
.ftr__logo svg{height:32px;margin-bottom:18px}
.ftr__bot{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;font-size:.85rem;color:var(--tx-3)}
.ftr__bot .sp{margin-left:auto;display:flex;flex-wrap:wrap;gap:20px}

/* ---------- Reveal ---------- */
.js-anim .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.js-anim .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js-anim .rv{opacity:1;transform:none}}

/* ---------- Betahinweis ---------- */
.betanote{
  position:fixed;right:16px;bottom:16px;z-index:80;
  background:rgba(14,22,38,.95);border:1px solid var(--line-2);border-radius:999px;
  color:var(--tx-2);backdrop-filter:blur(12px);box-shadow:var(--shadow);
  display:flex;align-items:center;gap:9px;padding:9px 15px;
  font-size:.78rem;font-weight:600;cursor:pointer;
  transition:border-radius .2s ease,padding .2s ease,background .2s ease;
  max-width:min(340px,calc(100vw - 32px));
}
.betanote:hover{background:rgba(19,31,51,.97)}
.betanote::before{
  content:"";width:7px;height:7px;border-radius:50%;flex:none;
  background:var(--gold-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 25%,transparent);
}
.betanote > p{margin:0;display:none;font-weight:400;font-size:.8rem;line-height:1.5}
.betanote > button{
  background:none;border:0;color:var(--tx-3);cursor:pointer;font-size:1.05rem;
  line-height:1;padding:0 0 0 8px;margin-left:auto;display:none;
}
.betanote > button:hover{color:var(--tx)}
.betanote.offen{
  border-radius:14px;padding:14px 16px;align-items:flex-start;cursor:default;
  flex-wrap:wrap;
}
.betanote.offen::before{margin-top:6px}
.betanote.offen > p{display:block;flex:1 1 100%;margin-top:6px;color:var(--tx-2)}
.betanote.offen > b{flex:0 1 auto}
.betanote.offen > button{display:block}
@media(max-width:620px){.betanote{display:none}}

.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:14px;top:14px;z-index:200}
:focus-visible{outline:2px solid var(--ac-2);outline-offset:3px;border-radius:6px}
