/* SoftwareSwitch website — shared styles */

:root {
  --bg: #FAFAFE;
  --bg-soft: #F4F4FC;
  --bg-tint: #EEEEFB;
  --surface: #FFFFFF;
  --border: #E5E5F0;
  --border-strong: #DADAEB;
  --ink: #15172E;
  --ink-2: #3A3D5C;
  --muted: #6E7191;
  --muted-2: #9094B0;
  --accent: #5B50E8;
  --accent-2: #6F66EB;
  --accent-soft: #EEECFE;
  --accent-soft-2: #E4E1FD;
  --accent-deep: #3F37C0;
  --success: #0EA86A;
  --success-soft: #E2F5EC;
  --warning: #E89438;
  --warning-soft: #FCEFDD;
  --danger: #E2455A;
  --danger-soft: #FBE3E7;
  --shadow-card: 0 1px 2px rgba(21,23,46,.04), 0 8px 30px rgba(60,55,170,.07);
  --shadow-window: 0 30px 80px -20px rgba(60,55,170,.35), 0 8px 20px rgba(21,23,46,.10);
  --shadow-lift: 0 14px 40px -16px rgba(60,55,170,.25), 0 1px 2px rgba(21,23,46,.04);

  --font-display: 'Inter', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --container: 1200px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }

::selection { background: var(--accent-soft-2); color: var(--accent-deep); }

/* ---------- Layout ---------- */

.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

section { position: relative; }

.section-pad { padding: 96px 0; }
.section-pad-sm { padding: 64px 0; }

/* ---------- Header ---------- */

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  backdrop-filter: saturate(160%) blur(14px);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  background: rgba(250,250,254,.78);
  border-bottom: 1px solid rgba(229,229,240,.6);
}

.site-header .nav {
  display: flex;
  align-items: center;
  height: 72px;
  gap: 36px;
}

.logo-link {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -.01em;
  color: var(--ink);
  flex-shrink: 0;
}
.logo-link .name .switch { color: var(--accent); }

.primary-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 12px;
}
.primary-nav a {
  padding: 8px 14px;
  border-radius: 999px;
  color: var(--ink-2);
  font-size: 14.5px;
  font-weight: 500;
  transition: background .15s, color .15s;
}
.primary-nav a:hover { background: var(--accent-soft); color: var(--accent); }
.primary-nav a.active { color: var(--accent); font-weight: 600; }

.header-cta {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ---------- Buttons ---------- */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 10px;
  padding: 12px 20px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14.5px;
  cursor: pointer;
  transition: transform .12s, background .15s, box-shadow .15s, color .15s;
  text-decoration: none;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }

.btn-primary {
  background: linear-gradient(180deg, #6F66EB 0%, #5B50E8 100%);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.4) inset, 0 6px 20px -4px rgba(91,80,232,.5);
}
.btn-primary:hover { background: linear-gradient(180deg, #7A71EE 0%, #6258EA 100%); transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255,255,255,.4) inset, 0 10px 28px -4px rgba(91,80,232,.55); }

.btn-secondary {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--border-strong);
}
.btn-secondary:hover { background: var(--bg-soft); border-color: var(--accent); color: var(--accent); }

.btn-ghost {
  background: transparent;
  color: var(--ink-2);
}
.btn-ghost:hover { color: var(--accent); }

.btn-lg { padding: 16px 26px; font-size: 15.5px; border-radius: 12px; }
.btn-xl { padding: 18px 30px; font-size: 16.5px; border-radius: 12px; }

.btn-arrow svg { transition: transform .2s; }
.btn-arrow:hover svg { transform: translateX(3px); }

/* ---------- Typography ---------- */

h1, h2, h3, h4 { margin: 0; letter-spacing: -.025em; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: var(--accent-soft);
  color: var(--accent);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
}
.eyebrow .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }

.h-hero {
  font-size: clamp(40px, 5.4vw, 68px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.03em;
}
.h-section {
  font-size: clamp(32px, 3.8vw, 48px);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.025em;
}
.h-feature {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
.lead {
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.5;
  color: var(--ink-2);
}
.muted { color: var(--muted); }
.gradient-text {
  background: linear-gradient(120deg, #5B50E8 10%, #8E85F0 50%, #5B50E8 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- HERO ---------- */

.hero {
  position: relative;
  padding: 80px 0 140px;
  overflow: hidden;
  background:
    radial-gradient(900px 500px at 12% -10%, #E2DEFD 0%, transparent 60%),
    radial-gradient(800px 500px at 90% 30%, #DCE7FB 0%, transparent 55%),
    linear-gradient(180deg, #FAFAFE 0%, #F4F4FC 100%);
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}

.hero-text .eyebrow { margin-bottom: 22px; }
.hero-text .lead { margin-top: 22px; max-width: 540px; }
.hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
  flex-wrap: wrap;
}
.hero-meta {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 32px;
  font-size: 13.5px;
  color: var(--muted);
  flex-wrap: wrap;
}
.hero-meta-item { display: flex; align-items: center; gap: 8px; }
.hero-meta-item svg { color: var(--success); }
.rating { display: flex; align-items: center; gap: 10px; }
.rating .stars { display: flex; gap: 2px; color: #FFB020; }
.rating .num { font-weight: 700; color: var(--ink); }

/* hero mockup */
.hero-mockup {
  position: relative;
}
.window-mock {
  width: 100%;
  background: #fff;
  border-radius: 14px;
  box-shadow: var(--shadow-window);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.6);
  transform: rotate(-0.8deg);
}
.window-mock .titlebar {
  height: 34px;
  display: flex;
  align-items: stretch;
  padding: 0 0 0 14px;
  gap: 8px;
  background: #F7F7FE;
  border-bottom: 1px solid var(--border);
  font-size: 12.5px;
  color: var(--muted);
}
/* Windows-style window controls (minimize / maximize / close) on the right */
.tl-dots {
  display: flex;
  height: 100%;
  order: 2;
  margin-left: auto;
}
.tl-dots i {
  width: 44px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: default;
  background: transparent;
  transition: background .15s;
}
.tl-dots i:hover { background: rgba(21,23,46,.06); }
/* Minimize: single bottom line */
.tl-dots i:nth-child(1)::before {
  content: "";
  width: 10px;
  height: 1.2px;
  background: #15172E;
}
/* Maximize: square outline */
.tl-dots i:nth-child(2)::before {
  content: "";
  width: 9px;
  height: 9px;
  border: 1.2px solid #15172E;
  box-sizing: border-box;
}
/* Close: an X, with red Windows-style hover */
.tl-dots i:nth-child(3)::before,
.tl-dots i:nth-child(3)::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 1.2px;
  background: #15172E;
  transition: background .15s;
}
.tl-dots i:nth-child(3)::before { transform: rotate(45deg); }
.tl-dots i:nth-child(3)::after { transform: rotate(-45deg); }
.tl-dots i:nth-child(3):hover { background: #E81123; }
.tl-dots i:nth-child(3):hover::before,
.tl-dots i:nth-child(3):hover::after { background: #fff; }
.tl-title {
  margin-left: 0;
  font-weight: 500;
  display: flex;
  align-items: center;
  order: 1;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.window-mock .mock-body {
  display: grid;
  grid-template-columns: 180px 1fr;
}
.mock-sidebar {
  background: #F0EFFA;
  padding: 12px 10px;
  display: flex; flex-direction: column; gap: 4px;
  border-right: 1px solid var(--border);
}
.mock-nav {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px; border-radius: 8px;
  font-size: 13px; color: var(--ink-2);
  cursor: pointer;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.mock-nav:hover { background: rgba(91,80,232,.08); color: var(--accent); }
.mock-nav.active { background: #fff; color: var(--accent); font-weight: 600; box-shadow: 0 1px 2px rgba(21,23,46,.04); }
.mock-nav.active:hover { background: #fff; }
.mock-nav svg { width: 16px; height: 16px; }

.mock-content { padding: 22px 24px; min-height: 360px; }
.mock-h {
  font-size: 24px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 16px;
}
.mock-cards {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 14px;
}
.mock-card {
  background: linear-gradient(180deg, #F4F2FE 0%, #ECEAFD 100%);
  border-radius: 10px;
  padding: 14px;
  font-size: 12px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.mock-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(91,80,232,.18);
  border-color: rgba(91,80,232,.35);
  filter: brightness(1.02);
}
.mock-card.green { background: linear-gradient(180deg, #EAF6F0 0%, #E0F2EA 100%); }
.mock-card.green:hover {
  box-shadow: 0 8px 18px rgba(14,168,106,.18);
  border-color: rgba(14,168,106,.35);
}
.mock-card .label { display: inline-block; padding: 3px 8px; border-radius: 999px; background: rgba(91,80,232,.12); color: var(--accent); font-size: 10px; font-weight: 700; margin-bottom: 8px; }
.mock-card.green .label { background: rgba(14,168,106,.15); color: var(--success); }
.mock-card .title { font-weight: 700; font-size: 13px; margin-bottom: 2px; }
.mock-card .sub { color: var(--muted); font-size: 11px; line-height: 1.35; }

.mock-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff;
  margin-top: 8px; font-size: 12px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.mock-row:hover {
  background: #FAFAFE;
  border-color: rgba(91,80,232,.35);
  transform: translateX(2px);
  box-shadow: 0 2px 8px rgba(21,23,46,.05);
}
.mock-row .ico { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); }
.mock-row .ico svg { width: 16px; height: 16px; }
.mock-row .gain { margin-left: auto; color: var(--accent); font-weight: 700; }

/* Animated transfer progress (running mockup) — bar stays at 62%, a sheen sweeps through */
.mock-progress-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 45%;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%);
  transform: translateX(-120%);
  animation: mockProgressSheen 1.8s ease-in-out infinite;
}
@keyframes mockProgressSheen {
  0%   { transform: translateX(-120%); }
  100% { transform: translateX(320%); }
}
@media (prefers-reduced-motion: reduce) {
  .mock-progress-fill::after { animation: none; }
}

/* ===== Selection mockup (interactive) ===== */
.selection-mockup .mock-chip-row {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}
.window-mock .mock-chip {
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #DADAEB;
  font-size: 12px;
  font-weight: 600;
  color: #3A3D5C;
  cursor: pointer;
  user-select: none;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}
.window-mock .mock-chip:hover {
  background: #F4F2FE;
  border-color: #5B50E8;
  color: #5B50E8;
  transform: translateY(-1px);
}
.window-mock .mock-chip.active {
  background: linear-gradient(180deg,#6F66EB,#5B50E8);
  color: #fff;
  border-color: transparent;
}
.window-mock .mock-chip.active:hover {
  filter: brightness(1.08);
  box-shadow: 0 4px 12px rgba(91,80,232,.35);
  color: #fff;
}
.selection-mockup .mock-tile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 8px;
}
.window-mock .mock-tile {
  background: #fff;
  border: 1.5px solid #E5E5F0;
  border-radius: 10px;
  padding: 12px;
  cursor: pointer;
  user-select: none;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.window-mock .mock-tile.selected {
  background: linear-gradient(180deg, #F4F2FE, #ECEAFD);
  border-color: #5B50E8;
}
.window-mock .mock-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(91,80,232,.18);
  border-color: #5B50E8;
}
.mock-tile-ico {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
}
.mock-tile-name { font-weight: 700; font-size: 12px; }
.mock-tile-size b { color: #5B50E8; font-weight: 700; }
.mock-tile-size {
  color: #6E7191;
  font-weight: 500;
  font-size: 11px;
  margin-top: 4px;
  transition: color .18s ease;
}

.mock-summary {
  margin-top: 14px;
  padding: 12px;
  background: #EEECFE;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: #3A3D5C;
  transition: background .18s ease, color .18s ease;
}
.mock-summary.empty {
  background: #F4F4F8;
  color: #6E7191;
}


/* floating chips around hero mockup */
.float-chip {
  position: absolute;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 30px -8px rgba(60,55,170,.2), 0 1px 2px rgba(21,23,46,.05);
  padding: 12px 14px;
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 600;
  border: 1px solid var(--border);
}
.float-chip .ico {
  width: 32px; height: 32px; border-radius: 9px;
  display: grid; place-items: center;
  background: var(--accent-soft); color: var(--accent);
}
.float-chip.green .ico { background: var(--success-soft); color: var(--success); }
.float-chip.left {
  top: 20%; left: -34px;
  animation: floaty 5s ease-in-out infinite;
}
.float-chip.right {
  bottom: 16%; right: -22px;
  animation: floaty 6s ease-in-out infinite .8s;
}
@keyframes floaty {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ---------- Trust strip ---------- */
.trust-strip {
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: 28px 0;
  background: #fff;
}
.trust-strip .row {
  display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap;
}
.fact-badges {
  display: flex; align-items: center; justify-content: center; gap: 36px; flex-wrap: wrap;
}
.fact-badge {
  display: flex; align-items: center; gap: 10px;
  font-size: 14.5px; font-weight: 600; color: var(--ink);
}
.fact-badge svg { width: 20px; height: 20px; color: var(--accent); flex-shrink: 0; }
.logo-fake {
  display: flex; align-items: center; gap: 8px;
  color: #9094B0;
  font-weight: 700; font-size: 17px;
  opacity: .85;
  filter: grayscale(1);
}
.logo-fake svg { width: 22px; height: 22px; }

/* ---------- Features grid ---------- */
.features {
  background: linear-gradient(180deg, #FAFAFE 0%, #F4F4FC 100%);
}
.section-head {
  text-align: center;
  margin-bottom: 56px;
}
.section-head .eyebrow { margin-bottom: 20px; }
.section-head .lead { margin: 18px auto 0; max-width: 620px; }

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.feature-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 26px 26px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.feature-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--accent-soft-2); }
.feature-icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--accent-soft);
  color: var(--accent);
  display: grid; place-items: center;
  margin-bottom: 18px;
}
.feature-icon svg { width: 24px; height: 24px; }
.feature-card.green .feature-icon { background: var(--success-soft); color: var(--success); }
.feature-card.amber .feature-icon { background: var(--warning-soft); color: var(--warning); }
.feature-card.blue .feature-icon { background: #E5EEFC; color: #3B6FE0; }
.feature-card.violet .feature-icon { background: #EFE9FB; color: #7E5BD8; }
.feature-card h3 { font-size: 18px; margin-bottom: 8px; }
.feature-card p { color: var(--ink-2); font-size: 14.5px; line-height: 1.55; }

/* ---------- How it works ---------- */
.how {
  background: #fff;
}
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
}
.steps::before {
  content: '';
  position: absolute;
  top: 36px; left: 14%; right: 14%;
  border-top: 2px dashed var(--accent-soft-2);
  z-index: 0;
}
.step-item {
  position: relative;
  text-align: center;
  z-index: 1;
}
.step-num {
  width: 72px; height: 72px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: linear-gradient(180deg, #fff 0%, #F4F2FE 100%);
  border: 1.5px solid var(--accent-soft-2);
  display: grid; place-items: center;
  font-weight: 700; font-size: 24px;
  color: var(--accent);
  box-shadow: 0 8px 24px -8px rgba(91,80,232,.25);
}
.step-item h3 { font-size: 20px; margin-bottom: 10px; }
.step-item p { color: var(--ink-2); font-size: 14.5px; max-width: 280px; margin: 0 auto; }

/* ---------- Detail sections ---------- */
.detail {
  padding: 96px 0;
}
.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.detail-grid.reverse > div:first-child { order: 2; }
.detail-text .eyebrow { margin-bottom: 18px; }
.detail-text h2 { margin-bottom: 18px; }
.detail-text .lead { margin-bottom: 24px; }
.detail-bullets {
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 14px;
}
.detail-bullets li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 15px;
}
.detail-bullets li .ck {
  width: 24px; height: 24px; border-radius: 50%;
  background: var(--accent-soft); color: var(--accent);
  display: grid; place-items: center; flex: none;
  margin-top: 1px;
}
.detail-bullets li .ck svg { width: 14px; height: 14px; }
.detail-bullets strong { font-weight: 600; }

.detail-visual {
  position: relative;
}

.detail.alt { background: var(--bg-soft); }

/* ---------- Comparison ---------- */
.compare {
  background: #fff;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.compare-table {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.compare-table .row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  align-items: center;
  border-bottom: 1px solid var(--border);
}
.compare-table .row:last-child { border-bottom: 0; }
.compare-table .row.head {
  background: linear-gradient(180deg, #F4F2FE 0%, #ECEAFD 100%);
  font-weight: 700;
}
.compare-table .row.head .col { padding: 18px 20px; }
.compare-table .col { padding: 16px 20px; font-size: 14.5px; }
.compare-table .col:first-child { color: var(--ink-2); }
.compare-table .col.us { background: rgba(91,80,232,.04); font-weight: 600; color: var(--ink); position: relative; }
.compare-table .row.head .col.us { background: linear-gradient(180deg, #5B50E8 0%, #6F66EB 100%); color: #fff; }
.compare-table .col.us .pill-mini {
  display: inline-block;
  background: rgba(255,255,255,.2);
  color: #fff;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  margin-left: 6px;
}
.cell-tick { color: var(--success); display: inline-flex; align-items: center; gap: 6px; }
.cell-cross { color: var(--danger); display: inline-flex; align-items: center; gap: 6px; }
.cell-partial { color: var(--warning); display: inline-flex; align-items: center; gap: 6px; }

/* ---------- Pricing ---------- */
.pricing {
  background: linear-gradient(180deg, #FAFAFE 0%, #F4F4FC 100%);
}
.price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: stretch;
}
.price-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 32px 28px;
  display: flex; flex-direction: column;
  position: relative;
}
.price-card.featured {
  background: linear-gradient(180deg, #16133E 0%, #0E0C28 100%);
  border-color: transparent;
  color: #fff;
  transform: translateY(-12px);
  box-shadow: var(--shadow-lift);
}
.price-card .badge {
  position: absolute; top: -12px; left: 28px;
  background: linear-gradient(180deg, #6F66EB 0%, #5B50E8 100%);
  color: #fff; padding: 5px 12px; border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: .02em;
  box-shadow: 0 4px 16px -2px rgba(91,80,232,.5);
}
.price-card h3 { font-size: 20px; margin-bottom: 4px; }
.price-card .pitch { color: var(--muted); font-size: 14px; min-height: 40px; }
.price-card.featured .pitch { color: #B6B1E8; }
.price-num {
  margin: 22px 0 4px;
  display: flex; align-items: baseline; gap: 6px;
}
.price-num .big {
  font-size: 48px; font-weight: 700; letter-spacing: -.03em;
}
.price-num .small { font-size: 14.5px; color: var(--muted); font-weight: 500; }
.price-card.featured .price-num .small { color: #B6B1E8; }
.price-card .once { color: var(--muted); font-size: 13px; margin-bottom: 22px; }
.price-card.featured .once { color: #B6B1E8; }
.price-card .btn { width: 100%; justify-content: center; }
.price-card.featured .btn-secondary {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: rgba(255,255,255,.2);
}
.price-card.featured .btn-secondary:hover {
  background: rgba(255,255,255,.18);
  border-color: rgba(255,255,255,.35);
}
.price-features {
  list-style: none; padding: 0; margin: 24px 0 0;
  display: flex; flex-direction: column; gap: 10px;
}
.price-features li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14px; color: var(--ink-2);
}
.price-card.featured .price-features li { color: #E0DDF6; }
.price-features li .ck {
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--accent-soft); color: var(--accent);
  display: grid; place-items: center; flex: none;
  margin-top: 1px;
}
.price-card.featured .price-features li .ck { background: rgba(91,80,232,.3); color: #fff; }
.price-features li.muted-li { color: var(--muted-2); text-decoration: line-through; }
.price-features li.muted-li .ck { background: #F0F0F8; color: var(--muted-2); }
.price-foot {
  margin-top: auto; padding-top: 26px;
}

.price-note {
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  margin-top: 28px;
}

/* ---------- Testimonials ---------- */
.testimonials {
  background: #fff;
}
.testi-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.testi {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px 26px;
  display: flex; flex-direction: column;
}
.testi .stars {
  display: flex; gap: 2px; color: #FFB020; margin-bottom: 16px;
}
.testi .quote {
  font-size: 16px; line-height: 1.55;
  color: var(--ink);
  letter-spacing: -.005em;
}
.testi .quote::before { content: '„'; color: var(--accent); font-size: 28px; line-height: 0; vertical-align: -.05em; margin-right: 1px; }
.testi .quote::after  { content: '“'; color: var(--accent); }
.testi .person {
  margin-top: 22px;
  display: flex; align-items: center; gap: 12px;
}
.avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6F66EB 0%, #5B50E8 100%);
  color: #fff;
  display: grid; place-items: center;
  font-weight: 700; font-size: 14px;
}
.avatar.v2 { background: linear-gradient(135deg, #3B6FE0 0%, #5B50E8 100%); }
.avatar.v3 { background: linear-gradient(135deg, #0EA86A 0%, #3B6FE0 100%); }
.person .meta { font-size: 13.5px; }
.person .meta .name { font-weight: 700; }
.person .meta .role { color: var(--muted); font-size: 12.5px; }

/* ---------- FAQ ---------- */
.faq {
  background: linear-gradient(180deg, #F4F4FC 0%, #FAFAFE 100%);
}
.faq-grid {
  max-width: 820px;
  margin: 0 auto;
}
.faq-item {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  margin-bottom: 10px;
  overflow: hidden;
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 24px;
  display: flex; align-items: center; gap: 16px;
  font-weight: 600; font-size: 15.5px;
  user-select: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: '';
  margin-left: auto;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--accent-soft);
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9 L12 15 L18 9' stroke='%235B50E8' stroke-width='2.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: center; background-repeat: no-repeat; background-size: 14px;
  transition: transform .2s;
  flex: none;
}
.faq-item[open] summary::after { transform: rotate(180deg); }
.faq-item .body {
  padding: 0 24px 22px 24px;
  color: var(--ink-2);
  font-size: 14.5px;
  line-height: 1.6;
}

/* ---------- Final CTA ---------- */
.cta-banner {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #4A41D4 0%, #5B50E8 40%, #8B82F0 100%);
  color: #fff;
  border-radius: 28px;
  padding: 64px 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}
.cta-banner::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(700px 300px at 80% 120%, rgba(255,255,255,.18), transparent 70%),
    radial-gradient(500px 300px at 10% -20%, rgba(255,255,255,.14), transparent 60%);
  pointer-events: none;
}
.cta-banner h2 {
  font-size: clamp(28px, 3.4vw, 40px);
  letter-spacing: -.02em;
  position: relative;
  max-width: 560px;
}
.cta-banner p {
  margin-top: 14px;
  color: rgba(255,255,255,.85);
  position: relative;
  max-width: 480px;
  font-size: 17px;
}
.cta-banner .btn-group {
  display: flex; gap: 12px;
  position: relative;
  flex-wrap: wrap;
}
.cta-banner .btn-secondary {
  background: rgba(255,255,255,.12);
  color: #fff;
  border-color: rgba(255,255,255,.2);
  backdrop-filter: blur(10px);
}
.cta-banner .btn-secondary:hover {
  background: rgba(255,255,255,.22);
  color: #fff;
}
.cta-banner .btn-primary {
  background: #fff;
  color: var(--accent);
  box-shadow: 0 6px 24px -2px rgba(0,0,0,.25);
}
.cta-banner .btn-primary:hover {
  background: #fff;
  color: var(--accent-deep);
}

/* ---------- Footer ---------- */
.site-footer {
  background: #0E0C28;
  color: #B6B1E8;
  padding: 72px 0 32px;
}
.footer-top {
  display: grid;
  grid-template-columns: 2.6fr repeat(3, 0.85fr);
  gap: 32px;
  margin-bottom: 56px;
}
.site-footer .logo-link { color: #fff; }
.site-footer .footer-pitch {
  font-size: 14.5px;
  margin-top: 16px;
  line-height: 1.6;
  max-width: 280px;
}
.footer-col h4 {
  font-size: 12.5px;
  font-weight: 700;
  color: #fff;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 11px; }
.footer-col a {
  color: #B6B1E8;
  font-size: 14px;
  transition: color .15s;
}
.footer-col a:hover { color: #fff; }
.footer-bottom {
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  font-size: 13px; color: #837FAE;
  flex-wrap: wrap;
}
.footer-bottom .social {
  display: flex; gap: 10px;
}
.footer-bottom .social a {
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.06);
  display: grid; place-items: center;
  color: #B6B1E8;
  transition: background .15s, color .15s;
}
.footer-bottom .social a:hover { background: rgba(255,255,255,.14); color: #fff; }

/* ---------- Page hero (sub pages) ---------- */
.page-hero {
  padding: 80px 0 60px;
  background:
    radial-gradient(800px 400px at 20% 0%, #E2DEFD 0%, transparent 60%),
    linear-gradient(180deg, #FAFAFE 0%, #F4F4FC 100%);
  text-align: center;
}
.page-hero .eyebrow { margin-bottom: 18px; }
.page-hero h1 { margin-bottom: 16px; }
.page-hero .lead { max-width: 640px; margin: 0 auto; }

/* ---------- Misc utilities ---------- */
.center { text-align: center; }
.text-accent { color: var(--accent); }
.text-success { color: var(--success); }
.divider { height: 1px; background: var(--border); margin: 64px 0; }

/* Code block */
.code-tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  padding: 4px 10px;
  background: #F0EFFA;
  color: var(--accent-deep);
  border-radius: 6px;
}

/* ---------- Page-specific helpers ---------- */
.system-req {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.req-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 24px 26px;
}
.req-card h3 {
  font-size: 16px; margin-bottom: 16px;
  display: flex; align-items: center; gap: 10px;
}
.req-card .ico {
  width: 32px; height: 32px; border-radius: 9px;
  background: var(--accent-soft); color: var(--accent);
  display: grid; place-items: center;
}
.req-card ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.req-card li {
  font-size: 14px;
  display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
  padding-bottom: 10px; border-bottom: 1px solid var(--border);
}
.req-card li:last-child { padding-bottom: 0; border-bottom: 0; }
.req-card li .k { color: var(--muted); }
.req-card li .v { color: var(--ink); font-weight: 600; text-align: right; }

.download-card {
  background: linear-gradient(180deg, #16133E 0%, #0E0C28 100%);
  color: #fff;
  border-radius: 22px;
  padding: 48px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 32px;
  align-items: center;
  box-shadow: var(--shadow-window);
}
.download-card h2 { color: #fff; margin-bottom: 12px; }
.download-card p { color: #B6B1E8; max-width: 480px; font-size: 16px; }
.download-card .btn-primary {
  background: #fff; color: var(--accent);
  box-shadow: 0 8px 30px -4px rgba(0,0,0,.4);
}
.download-meta {
  display: flex; gap: 20px; margin-top: 16px; font-size: 13px; color: #837FAE;
}

.both-pcs-icons { display: flex; align-items: center; gap: 8px; flex: none; color: #fff; }
.both-pcs-arrow { color: #7E77C9; }
.pc-ico {
  width: 52px; height: 52px; border-radius: 12px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  display: grid; place-items: center;
}

.alt-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.alt-card {
  background: #fff; border: 1px solid var(--border); border-radius: 16px;
  padding: 24px; display: flex; flex-direction: column; gap: 6px;
}
.alt-card .ico {
  width: 40px; height: 40px; border-radius: 10px;
  background: var(--accent-soft); color: var(--accent);
  display: grid; place-items: center; margin-bottom: 8px;
}
.alt-card .title { font-weight: 700; font-size: 16px; }
.alt-card .sub { color: var(--muted); font-size: 13px; margin-bottom: 12px; }
.alt-card .btn { align-self: flex-start; }

@media (max-width: 720px) {
  .alt-grid { grid-template-columns: 1fr; }
}

/* support cards */
.help-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

/* ===== Interactive speed chart ===== */
.speed-chart {
  position: relative;
  cursor: crosshair;
  touch-action: none;
}
.speed-chart svg { display: block; }
.sc-guide {
  position: absolute;
  top: 0; bottom: 0;
  width: 1px;
  background: rgba(91,80,232,.35);
  transform: translateX(-0.5px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s;
}
.sc-dot {
  position: absolute;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #5B50E8;
  border: 2.5px solid #fff;
  box-shadow: 0 2px 8px rgba(91,80,232,.45);
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s;
}
.sc-tip {
  position: absolute;
  transform: translate(-50%, calc(-100% - 14px));
  background: #15172E;
  color: #fff;
  padding: 7px 11px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.3;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity .15s;
  box-shadow: 0 6px 18px rgba(21,23,46,.25);
  z-index: 2;
}
.sc-tip::after {
  content: "";
  position: absolute;
  left: 50%; top: 100%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #15172E;
}
.sc-tip-time { color: #A39CF4; font-weight: 600; font-size: 11px; }
.sc-tip-speed { font-weight: 700; font-size: 13.5px; }
.speed-chart.active .sc-guide,
.speed-chart.active .sc-dot,
.speed-chart.active .sc-tip { opacity: 1; }

/* License banner (support page) */
.lic-banner {
  display: flex;
  align-items: center;
  gap: 22px;
  background: linear-gradient(120deg, #F4F2FE 0%, #ECEAFD 100%);
  border: 1px solid var(--accent-soft-2);
  border-radius: 18px;
  padding: 26px 30px;
  text-decoration: none;
  color: inherit;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.lic-banner:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(91,80,232,.18);
  border-color: var(--accent);
}
.lic-banner-ico {
  width: 56px; height: 56px; border-radius: 16px;
  background: #fff; color: var(--accent);
  display: grid; place-items: center; flex: none;
  box-shadow: 0 3px 10px rgba(91,80,232,.15);
}
.lic-banner-text { flex: 1; min-width: 0; }
.lic-banner-text h3 { font-size: 19px; margin: 0 0 4px; color: var(--ink); }
.lic-banner-text p { margin: 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.5; }
.lic-banner-cta {
  flex: none;
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(180deg,#6F66EB,#5B50E8);
  color: #fff; font-weight: 600; font-size: 14.5px;
  padding: 12px 20px; border-radius: 10px;
  transition: filter .2s, box-shadow .2s;
}
.lic-banner:hover .lic-banner-cta {
  filter: brightness(1.06);
  box-shadow: 0 6px 16px rgba(91,80,232,.3);
}
@media (max-width: 720px) {
  .lic-banner { flex-direction: column; align-items: flex-start; text-align: left; }
  .lic-banner-cta { align-self: stretch; justify-content: center; }
}
.help-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px;
  display: flex; flex-direction: column;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.help-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--accent-soft-2); }
.help-card .ico {
  width: 48px; height: 48px; border-radius: 14px;
  background: var(--accent-soft); color: var(--accent);
  display: grid; place-items: center;
  margin-bottom: 16px;
}
.help-card h3 { font-size: 18px; margin-bottom: 8px; }
.help-card p { color: var(--ink-2); font-size: 14.5px; flex: 1; }
.help-card .link {
  margin-top: 18px;
  color: var(--accent); font-weight: 600;
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 14px;
}

.article-list {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
}
.article-row {
  padding: 18px 24px;
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; gap: 18px;
  cursor: pointer;
  transition: background .15s;
}
.article-row:last-child { border-bottom: 0; }
.article-row:hover { background: var(--bg-soft); }
.article-row .ico {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--accent-soft); color: var(--accent);
  display: grid; place-items: center; flex: none;
}
.article-row .title { font-weight: 600; font-size: 15px; }
.article-row .sub { color: var(--muted); font-size: 13px; margin-top: 2px; }
.article-row .chev { margin-left: auto; color: var(--muted-2); }

.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.contact-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 28px;
}
.contact-card h3 {
  font-size: 18px; margin-bottom: 6px;
  display: flex; align-items: center; gap: 10px;
}
.contact-card p { color: var(--ink-2); font-size: 14.5px; margin-bottom: 18px; }
.contact-card .meta { font-size: 13px; color: var(--muted); margin-top: 14px; }

/* ===== Legal pages (Impressum / Datenschutz / AGB) ===== */
.legal {
  padding: 8px 0 96px;
}
.legal .legal-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 56px;
  align-items: start;
}
.legal-toc {
  position: sticky;
  top: 96px;
  font-size: 13.5px;
}
.legal-toc .toc-label {
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted-2);
  margin-bottom: 12px;
}
.legal-toc a {
  display: block;
  padding: 7px 0;
  color: var(--ink-2);
  text-decoration: none;
  border-left: 2px solid var(--border);
  padding-left: 14px;
  transition: color .15s, border-color .15s;
}
.legal-toc a:hover { color: var(--accent); border-color: var(--accent); }
.legal-body {
  max-width: 720px;
  font-size: 15.5px;
  line-height: 1.72;
  color: var(--ink-2);
}
.legal-body section { scroll-margin-top: 96px; }
.legal-body section + section { margin-top: 40px; }
.legal-body h2 {
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -.01em;
  margin-bottom: 12px;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.legal-body h2 .num {
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}
.legal-body h3 {
  font-size: 16.5px;
  font-weight: 700;
  color: var(--ink);
  margin: 24px 0 8px;
}
.legal-body p { margin-bottom: 14px; }
.legal-body a { color: var(--accent); font-weight: 500; }
.legal-body ul {
  margin: 0 0 14px;
  padding-left: 0;
  list-style: none;
}
.legal-body ul li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 8px;
}
.legal-body ul li::before {
  content: "";
  position: absolute;
  left: 4px; top: 11px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--accent);
}
.legal-body strong { color: var(--ink); font-weight: 600; }
.cookie-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 15px;
}
.cookie-table th, .cookie-table td {
  text-align: left;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
}
.cookie-table thead th {
  color: var(--muted);
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cookie-table tbody td { color: var(--ink); }
.legal-card {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 18px;
  font-size: 14.5px;
  line-height: 1.7;
}
.legal-card .row-line { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.legal-card .row-line + .row-line { margin-top: 14px; }
.legal-card .row-line .k {
  flex: 0 0 100px;
  color: var(--muted);
  font-weight: 500;
}
@media (max-width: 480px) {
  .legal-card .row-line { flex-direction: column; gap: 2px; }
  .legal-card .row-line .k { flex: none; }
}
.legal-card .row-line .v { color: var(--ink); font-weight: 500; }
.legal-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--accent-soft);
  border: 1px solid var(--accent-soft-2);
  border-radius: 12px;
  padding: 14px 18px;
  font-size: 13.5px;
  color: var(--ink-2);
  line-height: 1.55;
  margin-top: 40px;
}
.legal-note .ico { color: var(--accent); flex: none; margin-top: 1px; }
.legal-updated {
  font-size: 13.5px;
  color: var(--muted);
  margin-top: 8px;
}

@media (max-width: 880px) {
  .legal .legal-grid { grid-template-columns: 1fr; gap: 28px; }
  .legal-toc { position: static; display: none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 980px) {
  .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .hv2-card { margin: 0 auto; }
  .feature-grid, .help-grid, .testi-grid, .steps { grid-template-columns: 1fr; }
  .steps::before { display: none; }
  .price-grid { grid-template-columns: 1fr; }
  .price-card.featured { transform: none; }
  .detail-grid { grid-template-columns: 1fr; gap: 32px; }
  .detail-grid.reverse > div:first-child { order: 0; }
  .compare-table .row { grid-template-columns: 2fr repeat(3, 1fr); font-size: 12.5px; }
  .compare-table .col { padding: 12px 12px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .cta-banner { padding: 40px 28px; flex-direction: column; align-items: flex-start; gap: 24px; }
  .download-card { grid-template-columns: 1fr; }
  .system-req, .contact-grid { grid-template-columns: 1fr; }
  .primary-nav { display: none; }
  .site-header .nav { gap: 12px; }
}

/* ---------- Hero visual v2 ---------- */
.hv2-card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 2px 6px rgba(31,27,84,.05),0 14px 34px rgba(31,27,84,.10);padding:24px 24px 20px;max-width:420px;margin-left:auto;animation:hv2In .6s ease both}
@keyframes hv2In{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hv2-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid #EDECF7;margin-bottom:6px}
.hv2-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft,#ECEAFD);color:#5B50E8}
.hv2-title{font-weight:700;font-size:15.5px;color:#2A2653}
.hv2-sub{font-size:12.5px;color:#6E7191;font-weight:600;margin-top:2px}
.hv2-list{display:flex;flex-direction:column}
.hv2-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid #F3F2FA;opacity:0;animation:hv2Row .5s ease both}
.hv2-row:last-child{border-bottom:0}
@keyframes hv2Row{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.hv2-row.r1{animation-delay:.3s}.hv2-row.r2{animation-delay:.5s}.hv2-row.r3{animation-delay:.7s}.hv2-row.r4{animation-delay:.9s}.hv2-row.r5{animation-delay:1.1s}
.hv2-row .ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#F4F3FB;color:#5B50E8;flex:0 0 auto}
.hv2-row .txt{flex:1 1 auto;min-width:0}
.hv2-row .name{font-weight:600;font-size:13.5px;color:#2A2653}
.hv2-row .meta{font-size:11.5px;color:#6E7191}
.hv2-row .chk{width:22px;height:22px;border-radius:50%;background:var(--success-soft,#E2F6EC);color:var(--success,#1F9D63);display:grid;place-items:center;flex:0 0 auto;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.hv2-row.is-done .chk{transform:scale(1)}
.hv2-row .spin{width:22px;height:22px;border-radius:50%;border:2px solid #E3E0F7;border-top-color:#5B50E8;flex:0 0 auto;display:none;animation:hv2Spin .7s linear infinite}
.hv2-row.is-active .spin{display:block}
.hv2-row.is-active .chk{display:none}
.hv2-row.is-active .name{color:#5B50E8}
@keyframes hv2Spin{to{transform:rotate(360deg)}}
.hv2-foot{margin-top:16px}
.hv2-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;padding:13px 16px;border-radius:11px;background:#E9E7FB;color:#3D34BE;font:inherit;font-weight:700;font-size:14px;box-shadow:none;transition:background .18s ease,color .18s ease}
.hv2-btn:hover{background:#DCD8F7;color:#2F2799}
.hv2-btn:active{transform:none}
.hv2-prog{display:none}
.hv2-foot.is-running .hv2-btn{display:none}
.hv2-foot.is-running .hv2-prog{display:block}
.hv2-prog-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.hv2-prog-label{font-size:12.5px;font-weight:600;color:#2A2653}
.hv2-prog-pct{font-size:12.5px;font-weight:700;color:#5B50E8;font-variant-numeric:tabular-nums}
.hv2-bar{height:8px;border-radius:99px;background:#EDECF7;overflow:hidden}
.hv2-bar-fill{height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#7B6FF2,#5B50E8);transition:width .35s ease}
.hv2-prog-sub{margin-top:8px;font-size:11.5px;color:#6E7191}
.hv2-done{display:none;align-items:center;gap:8px;padding:11px 14px;border-radius:11px;background:var(--success-soft,#E2F6EC);color:var(--success,#1F9D63);font-weight:700;font-size:13px;line-height:1.35}
.hv2-foot.is-done .hv2-btn,.hv2-foot.is-done .hv2-prog{display:none}
.hv2-foot.is-done .hv2-done{display:flex;animation:hv2Row .45s ease both}
.expert-badge .badge-ico{display:grid;place-items:center;color:#5B50E8}
.expert-badge .badge-ico svg{width:15px;height:15px}
.expert-badge .num{font-size:12.5px}
.hero-actions{align-items:center}
.hero-actions .expert-badge{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#2A2653}
@media (prefers-reduced-motion:reduce){.hv2-card,.hv2-row,.hv2-done{animation:none;opacity:1;transform:none}.hv2-row .spin{animation:none}}

/* ---------- Blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;text-decoration:none;color:inherit}
.blog-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}
.blog-card .thumb{height:150px;display:grid;place-items:center;color:#fff}
.blog-card .thumb svg{width:44px;height:44px}
.blog-card .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card .meta{display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--ink-3,#8a8aa3);font-weight:600}
.blog-card .meta .cat{color:var(--accent,#5B50E8)}
.blog-card h3{font-size:18px;line-height:1.35}
.blog-card p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.blog-card .more{margin-top:auto;padding-top:8px;font-weight:700;font-size:14px;color:var(--accent,#5B50E8)}
.blog-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden;margin-bottom:40px;text-decoration:none;color:inherit;transition:box-shadow .2s}
.blog-featured:hover{box-shadow:var(--shadow-lift)}
.blog-featured .thumb{min-height:280px;display:grid;place-items:center;color:#fff}
.blog-featured .thumb svg{width:72px;height:72px}
.blog-featured .bd{padding:40px 44px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.blog-featured h2{font-size:clamp(22px,2.2vw,30px);line-height:1.25}
.blog-featured p{margin:0;color:var(--ink-2);line-height:1.6}
.article{padding:64px 0 90px}
.article .container{max-width:760px}
.article-head{margin-bottom:36px}
.article-head .meta{display:flex;gap:12px;align-items:center;font-size:13.5px;color:var(--ink-3,#8a8aa3);font-weight:600;margin-bottom:18px}
.article-head .meta .cat{color:var(--accent,#5B50E8)}
.article-head h1{font-size:clamp(30px,3.4vw,42px);line-height:1.15;margin-bottom:16px}
.article-body{font-size:17px;line-height:1.72;color:var(--ink-2)}
.article-body h2{font-size:24px;margin:44px 0 14px;color:var(--ink,#17172b)}
.article-body h3{font-size:19px;margin:32px 0 10px;color:var(--ink,#17172b)}
.article-body p{margin:0 0 18px}
.article-body ul,.article-body ol{margin:0 0 18px;padding-left:24px}
.article-body li{margin-bottom:8px}
.article-body strong{color:var(--ink,#17172b)}
.article-cta{margin:44px 0;padding:30px 32px;border-radius:16px;background:linear-gradient(135deg,#6F66EB,#5B50E8);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.article-cta h3{color:#fff;font-size:19px;margin:0 0 6px}
.article-cta p{margin:0;color:rgba(255,255,255,.85);font-size:14.5px}
.article-cta .btn{background:#fff;color:#5B50E8;flex:none}
.article-back{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--accent,#5B50E8);text-decoration:none;margin-bottom:22px}
@media (max-width:900px){.blog-grid{grid-template-columns:1fr}.blog-featured{grid-template-columns:1fr}}


/* ---------- Mobile-Navigation (Burger + Drawer) ---------- */
.nav-toggle{display:none;margin-left:auto;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:10px}
.nav-toggle:hover{background:var(--accent-soft)}
.nav-toggle span{display:block;width:22px;height:2px;border-radius:2px;background:var(--ink);transition:transform .22s ease,opacity .15s ease}
html.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
html.nav-open .nav-toggle span:nth-child(2){opacity:0}
html.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 20px 44px -20px rgba(31,27,84,.4);padding:8px 20px 20px;max-height:calc(100vh - 64px);overflow-y:auto;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.mobile-nav-links{display:flex;flex-direction:column}
.mobile-nav-links a{display:flex;align-items:center;min-height:50px;padding:6px 4px;font-size:16px;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--border)}
.mobile-nav-links a:last-child{border-bottom:0}
.mobile-nav-links a.active{color:var(--accent)}
.mobile-nav-cta{margin-top:16px;justify-content:center}
.mobile-nav-scrim{display:none;position:fixed;inset:0;z-index:90;background:rgba(14,12,40,.4);opacity:0;pointer-events:none;transition:opacity .2s ease}

@media (max-width: 980px){
  .nav-toggle{display:flex}
  .header-cta{display:none}
  .mobile-nav{display:flex}
  .mobile-nav-scrim{display:block}
  html.nav-open .mobile-nav{opacity:1;transform:none;pointer-events:auto}
  html.nav-open .mobile-nav-scrim{opacity:1;pointer-events:auto}
  html.nav-open body{overflow:hidden}
  .site-header .nav{height:64px}
  .logo-link img{height:44px!important}
}

/* ---------- Mobile-Feinschliff ---------- */
@media (max-width: 980px){
  .window-mock{transform:none!important}
  .detail-visual .window-mock,.hv2-card{max-width:520px;margin-left:auto;margin-right:auto}
  .float-chip.left{left:0}
  .float-chip.right{right:0}
  .footer-top{margin-bottom:40px}
}

@media (max-width: 760px){
  .container{padding:0 18px}
  .section-pad{padding:64px 0}
  .section-pad-sm{padding:48px 0}
  .detail{padding:56px 0}
  .hero{padding:48px 0 72px}
  .page-hero{padding:56px 0 44px}
  .section-head{margin-bottom:36px}

  /* Vergleichstabellen: horizontal scrollbar, erste Spalte bleibt sichtbar */
  .compare-table{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
  .compare-table .row{grid-template-columns:148px repeat(3,minmax(106px,1fr));min-width:472px;font-size:12.5px}
  .compare-table .col,.compare-table .row.head .col{padding:12px 10px}
  .compare-table .col:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 var(--border)}
  .compare-table .row.head .col:first-child{background:#F1EFFD}
  .compare-table .col.us .pill-mini{display:none}

  /* Interaktive Programm-Mockups */
  .tl-dots i{width:36px}
  .window-mock .mock-body{grid-template-columns:1fr}
  .mock-sidebar{flex-direction:row;gap:6px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:8px}
  .mock-nav{white-space:nowrap}
  .mock-content{padding:18px 16px;min-height:0}
  .mock-cards{grid-template-columns:1fr}
  .selection-mockup .mock-tile-grid{grid-template-columns:1fr 1fr}
  .selection-mockup .mock-chip-row{flex-wrap:wrap}
  .window-mock [style*="padding: 22px"],.window-mock [style*="padding: 26px"],.window-mock [style*="padding: 36px 28px"]{padding:16px!important}

  /* Downloads, Rechtliches, Blog */
  .download-card{padding:28px 22px;gap:22px}
  .cta-banner{padding:32px 22px;border-radius:20px}
  .cookie-table{font-size:13.5px}
  .cookie-table th,.cookie-table td{padding:8px 10px}
  .legal-body{font-size:15px}
  .legal-body a{word-break:break-word}
  .blog-featured .thumb{min-height:170px}
  .blog-featured .bd{padding:26px 22px}
  .article{padding:40px 0 64px}
  .article-cta{padding:24px 22px}
}

@media (max-width: 560px){
  .footer-top{grid-template-columns:1fr;gap:26px}
  .price-card{padding:26px 22px}
  .feature-card,.help-card,.testi{padding:24px 20px}
  .req-card,.contact-card{padding:20px 18px}
}
