:root {
    --bg: #ffffff;
    --bg-alt: #f7f7f5;
    --ink: #111315;
    --ink-2: #2b2f33;
    --muted: #5a6068;
    --muted-2: #8a9098;
    --line: #e5e5e2;
    --line-strong: #d5d5d1;
    --accent: #608818;
    --accent-hover: #4f7014;
    --accent-ink: #4a6810;
    --accent-soft: #f4f7ec;
    --dark: #0d0f11;
    --dark-line: #232629;
    --radius: 4px;
    --pad-x: clamp(20px, 4vw, 56px);
    --maxw: 1412px;
    --hair: 1px solid var(--line);
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body {
    font-family: "IBM Plex Sans", system-ui, sans-serif;
    color: var(--ink);
    background: var(--bg);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  a { color: inherit; text-decoration: none; }
  button { font: inherit; cursor: pointer; }
  ::selection { background: var(--accent); color: #fff; }
  html { scroll-behavior: smooth; }
  [id] { scroll-margin-top: 88px; }

  /* ---------- Layout primitives ---------- */
  .wrap {
    max-width: var(--maxw);
    margin: 0 auto;
    padding-left: var(--pad-x);
    padding-right: var(--pad-x);
  }
  .section { padding: 96px 0; border-bottom: var(--hair); }
  .section--tight { padding: 64px 0; }
  .section--dark { background: var(--dark); color: #f4f4f2; border-bottom: none; }
  .eyebrow {
    font-family: "IBM Plex Mono", monospace;
    font-size: 14px;
    letter-spacing: 0.04em;
    color: var(--accent);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    font-weight: 700;
  }
  .eyebrow::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: var(--accent);
  }
  .section-title {
    font-weight: 500;
    font-size: clamp(28px, 3.4vw, 40px);
    letter-spacing: -0.01em;
    line-height: 1.15;
    margin: 0 0 16px;
    max-width: 22ch;
    text-wrap: balance;
  }
  .section-lede {
    color: var(--muted);
    font-size: 17px;
    max-width: 56ch;
    margin: 0;
    text-wrap: pretty;
  }
  .section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 56px;
    flex-wrap: wrap;
  }
  .section-head > a {
    color: var(--accent-ink);
    font-size: 14px;
    font-weight: 500;
    border-bottom: 1px solid var(--accent);
    padding-bottom: 2px;
    white-space: nowrap;
  }

  /* ---------- Buttons ---------- */
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: var(--radius);
    font-weight: 500;
    font-size: 15px;
    line-height: 1;
    border: 1px solid transparent;
    transition: background 120ms ease, color 120ms ease, border-color 120ms ease;
    white-space: nowrap;
  }
  .btn--primary {
    background: var(--accent);
    color: #fff;
  }
  .btn--primary:hover { background: var(--accent-hover); }
  .btn--ghost {
    background: transparent;
    color: var(--ink);
    border-color: var(--line-strong);
  }
  .btn--ghost:hover { border-color: var(--ink); }
  .btn--dark {
    background: #fff;
    color: var(--dark);
  }
  .btn--dark:hover { background: #e8e8e6; }
  .btn--outline-light {
    background: transparent;
    color: #fff;
    border-color: #3a3d40;
  }
  .btn--outline-light:hover { border-color: #fff; }
  .btn .arrow { width: 14px; height: 14px; }
  .btn--accent-outline{background:transparent;color:var(--accent);border-color:var(--accent)}
  .btn--accent-outline:hover{background:color-mix(in oklch,var(--accent) 8%,transparent)}
  .nav-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-10px;padding:0;background:none;border:0;color:var(--ink)}
  .nav-burger svg{width:26px;height:26px}
  .mobile-menu{display:none}

  /* ---------- Header ---------- */
  .topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,0.92);
    backdrop-filter: saturate(140%) blur(8px);
    border-bottom: var(--hair);
  }
  .nav {
    display: flex;
    align-items: center;
    gap: 40px;
    height: 104px;
  }
  .logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    font-size: 17px;
    letter-spacing: -0.01em;
  }
  .logo img {
    height: 48px;
    width: auto;
    display: block;
  }
  .logo-mark {
    width: 28px;
    height: 28px;
    border: 1.5px solid var(--ink);
    position: relative;
    border-radius: 2px;
  }
  .logo-mark::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1.5px solid var(--accent);
    border-radius: 1px;
  }
  .nav-links {
    display: flex;
    align-items: center;
    gap: 28px;
    margin-left: 8px;
    list-style: none;
    padding: 0;
  }
  .nav-links a {
    font-size: 14px;
    color: var(--ink-2);
    padding: 8px 0;
    border-bottom: 1px solid transparent;
  }
  .nav-links a { transition: color .15s, border-color .15s; }
  .nav-links a:hover { border-color: var(--accent); color: var(--accent); }
  .nav-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .nav-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    color: var(--ink-2);
    font-variant-numeric: tabular-nums;
  }
  .nav-phone svg { width: 16px; height: 16px; }

  /* ---------- Hero ---------- */
  .hero {
    padding: 88px 0 96px;
    border-bottom: var(--hair);
  }
  .hero-grid {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 40px;
    align-items: center;
  }
  .badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 12px 7px 10px;
    border: 1px solid var(--line-strong);
    border-radius: 999px;
    font-size: 13px;
    color: var(--ink-2);
    margin-bottom: 28px;
  }
  .badge .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 3px color-mix(in oklch, var(--accent) 18%, transparent);
  }
  .hero h1 {
    font-weight: 500;
    font-size: clamp(32px, 4.32vw, 51px);
    letter-spacing: -0.02em;
    line-height: 1.04;
    margin: 0 0 24px;
    text-wrap: balance;
  }
  .hero h1 em {
    font-style: normal;
    color: var(--accent);
  }
  .hero .lede {
    font-size: 19px;
    color: var(--muted);
    margin: 0 0 36px;
    max-width: 52ch;
    text-wrap: pretty;
  }
  .hero-ctas {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .check-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 24px;
    margin-top: 56px;
    padding-top: 32px;
    border-top: var(--hair);
  }
  .check-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }
  .check-item .ic {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--accent);
    margin-top: 2px;
  }
  .check-item strong {
    display: block;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 2px;
  }
  .check-item span {
    font-size: 13px;
    color: var(--muted);
  }

  /* ---------- Quote form ---------- */
  .quote-card {
    border: 1px solid var(--line);
    background: var(--bg);
    padding: 32px;
    border-radius: 6px;
  }
  .quote-card h2 {
    font-weight: 500;
    font-size: 20px;
    margin: 0 0 4px;
    letter-spacing: -0.005em;
  }
  .quote-card .sub {
    font-size: 13px;
    color: var(--muted);
    margin: 0 0 24px;
  }
  .field { margin-bottom: 16px; }
  .field label {
    display: block;
    font-size: 12px;
    color: var(--ink-2);
    font-weight: 500;
    margin-bottom: 6px;
    letter-spacing: 0.01em;
  }
  .field input,
  .field select,
  .field textarea {
    width: 100%;
    border: 1px solid var(--line-strong);
    background: #fff;
    padding: 11px 13px;
    border-radius: var(--radius);
    font: inherit;
    color: var(--ink);
    font-size: 14px;
    transition: border-color 120ms ease;
  }
  .field input:focus,
  .field select:focus,
  .field textarea:focus {
    outline: none;
    border-color: var(--accent);
  }
  .field textarea { resize: vertical; min-height: 64px; }
  .field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .quote-submit {
    width: 100%;
    justify-content: center;
    margin-top: 8px;
  }
  .form-note {
    font-size: 12px;
    color: var(--muted);
    margin: 14px 0 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .form-note svg { width: 14px; height: 14px; color: var(--accent); }

  /* ---------- Hero media ---------- */
  .hero-media {
    align-self: center;
    margin-right: calc(-1 * var(--pad-x));
  }
  .hero-media img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 8px;
  }

  /* ---------- Schnellanfrage section ---------- */
  .anfrage { background: var(--bg-alt); }
  .anfrage-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center;
  }
  .anfrage-intro .section-title { margin-bottom: 16px; }
  .anfrage-points {
    list-style: none;
    padding: 0;
    margin: 28px 0 28px;
    display: grid;
    gap: 14px;
  }
  .anfrage-points li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 15px;
    color: var(--ink-2);
  }
  .anfrage-points svg {
    width: 18px;
    height: 18px;
    color: var(--accent);
    flex-shrink: 0;
    margin-top: 2px;
  }
  .anfrage-phone {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 500;
    color: var(--accent-ink);
  }
  .anfrage-phone svg { width: 16px; height: 16px; }
  .anfrage-phone:hover { color: var(--accent); }
  .anfrage .quote-card { background: #fff; }

  /* ---------- Trust strip ---------- */
  .trust {
    padding: 56px 0;
    background: var(--bg-alt);
    border-bottom: var(--hair);
  }
  .trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }
  .stat {
    padding: 0 32px;
    border-left: var(--hair);
  }
  .stat:first-child { border-left: none; padding-left: 0; }
  .stat .num {
    font-size: clamp(36px, 4vw, 48px);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 10px;
    font-variant-numeric: tabular-nums;
  }
  .stat .num small {
    font-size: 0.5em;
    color: var(--muted);
    font-weight: 400;
    margin-left: 4px;
  }
  .stat .label {
    font-size: 17px;
    color: var(--muted);
    text-wrap: pretty;
  }
  .stat .placeholder {
    font-family: "IBM Plex Mono", monospace;
    font-size: 10px;
    color: var(--muted-2);
    margin-top: 6px;
    display: block;
  }

  /* ---------- Categories ---------- */
  .cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: var(--hair);
    border-left: var(--hair);
  }
  .cat-card {
    border-right: var(--hair);
    border-bottom: var(--hair);
    padding: 32px 28px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 18px;
    transition: background 120ms ease;
    cursor: pointer;
    position: relative;
  }
  .cat-card:hover { background: var(--accent-soft); }
  .cat-card .cat-image {
    aspect-ratio: 16 / 10;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
    overflow: hidden;
  }
  .cat-card .cat-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 16px;
    mix-blend-mode: multiply;
  }
  .cat-card .ic-wrap {
    width: 36px;
    height: 36px;
    border: 1px solid var(--line-strong);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
  }
  .cat-card .ic-wrap svg { width: 18px; height: 18px; }
  .cat-card h3 {
    font-weight: 500;
    font-size: 17px;
    margin: 0;
    letter-spacing: -0.005em;
  }
  .cat-card .meta {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px dashed var(--line);
  }
  .cat-card .price {
    font-size: 15px;
    color: var(--accent);
    font-weight: 600;
  }
  .cat-card .price b {
    color: var(--accent);
    font-weight: 700;
    font-size: 19px;
    font-variant-numeric: tabular-nums;
  }
  .cat-card .more {
    font-size: 13px;
    color: var(--accent-ink);
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }
  .cat-card .more svg { width: 12px; height: 12px; }
  .cat-card .price small { display: block; font-size: 11px; color: var(--muted); font-weight: 400; margin-top: 4px; }

  /* ---------- Promo ---------- */
  .promo { background: var(--bg-alt); }
  .promo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
  }
  .promo-media {
    border-radius: 8px;
    overflow: hidden;
    background: rgb(213,203,210);
    aspect-ratio: 4 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .promo-media img { height: 100%; width: auto; max-width: 100%; object-fit: contain; display: block; }
  .promo-code { display: inline-flex; align-items: center; gap: 14px; border: 1.5px dashed var(--accent); border-radius: 6px; padding: 10px 16px; margin: 0 0 24px; }
  .promo-code span { font-size: 13px; color: var(--muted); }
  .promo-code b { font-family: "IBM Plex Mono", monospace; font-size: 18px; font-weight: 600; color: var(--accent-ink); letter-spacing: 0.06em; }
  .promo-body .eyebrow { margin-bottom: 20px; }
  .promo-body .section-title { margin-bottom: 20px; }
  .promo-lede {
    font-size: 17px;
    color: var(--ink-2);
    margin: 0 0 16px;
    max-width: 46ch;
    text-wrap: pretty;
  }
  .promo-sub {
    font-size: 15px;
    color: var(--muted);
    margin: 0 0 32px;
    max-width: 46ch;
    text-wrap: pretty;
  }
  .promo-highlight {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #fff;
    background: var(--accent);
    padding: 20px 26px;
    border-radius: 8px;
    margin: 0 0 28px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
  }
  .promo-highlight b {
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    white-space: nowrap;
    padding-right: 18px;
    border-right: 1px solid rgba(255,255,255,0.35);
  }
  .promo-valid {
    font-size: 13px;
    color: #c15a12;
    font-weight: 500;
    margin: 18px 0 0;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .promo-valid::before {
    content: "";
    width: 8px; height: 8px;
    border-radius: 50%;
    background: #e8720c;
    flex-shrink: 0;
  }

  /* ---------- Steps ---------- */
  .steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    position: relative;
  }
  .step {
    padding: 0 24px 0 0;
    border-right: var(--hair);
    position: relative;
  }
  .step:last-child { border-right: none; padding-right: 0; }
  .step:not(:first-child) { padding-left: 24px; }
  .step-ic {
    width: 26px;
    height: 26px;
    color: var(--accent);
    margin-bottom: 18px;
    display: block;
  }
  .step .num {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 20px;
    font-variant-numeric: tabular-nums;
  }
  .step h3 {
    font-weight: 500;
    font-size: 17px;
    margin: 0 0 8px;
    letter-spacing: -0.005em;
  }
  .step p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    text-wrap: pretty;
  }

  /* ---------- Use cases ---------- */
  .usecase-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: var(--hair);
    border-left: var(--hair);
  }
  .usecase {
    border-right: var(--hair);
    border-bottom: var(--hair);
    padding: 36px 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: #fff;
    transition: background 120ms ease;
  }
  .usecase:hover { background: var(--accent-soft); }
  .usecases-green{background:var(--accent-ink);color:#fff}.usecases-green .section-title,.usecases-green .section-lede,.usecases-green .usecase h3,.usecases-green .usecase p,.usecases-green .usecase svg.ic{color:#fff}.usecases-green .usecase-grid,.usecases-green .usecase{border-color:rgba(255,255,255,.25)}.usecases-green .usecase{background:rgba(255,255,255,.08)}.usecases-green .usecase:hover{background:rgba(255,255,255,.15)}
  .usecase svg.ic {
    width: 24px;
    height: 24px;
    color: var(--accent);
  }
  .usecase h3 {
    font-weight: 500;
    font-size: 17px;
    margin: 0;
  }
  .usecase p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    text-wrap: pretty;
  }

  /* ---------- USPs ---------- */
  .usp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px 64px;
  }
  .usp {
    display: flex;
    gap: 18px;
    align-items: flex-start;
  }
  .usp .ic-wrap {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    border: 1px solid var(--line-strong);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ink);
  }
  .usp .ic-wrap svg { width: 18px; height: 18px; }
  .usp .ic-wrap { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
  .usp:hover .ic-wrap { background-color: var(--accent); border-color: var(--accent); color: #fff; }
  .usp h3 {
    font-weight: 700;
    font-size: 16px;
    margin: 4px 0 6px;
    color: var(--accent);
  }
  .usp p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    text-wrap: pretty;
  }

  /* ---------- Logos ---------- */
  .logos {
    padding: 64px 0;
    border-bottom: var(--hair);
  }
  .logos-head {
    font-weight: 700;
    font-size: clamp(24px, 2.6vw, 32px);
    letter-spacing: -0.01em;
    color: var(--accent);
    text-align: center;
    margin: 0 0 40px;
  }
  .logo-strip {
    display: block;
  }
  .logo-strip img {
    width: 100%;
    height: auto;
    display: block;
    filter: grayscale(1);
    opacity: 0.85;
  }

  /* ---------- Cross-sell ---------- */
  .crosssell {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
  .xs-card {
    border: 1px solid var(--line);
    padding: 36px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    transition: border-color .2s ease, background-color .2s ease;
  }
  .xs-card:hover { border-color: var(--ink); background-color: #f5f8f0; }
  .xs-card .tag {
    font-family: "IBM Plex Mono", monospace;
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.04em;
  }
  .xs-card h3 {
    font-weight: 500;
    font-size: 22px;
    margin: 0;
    letter-spacing: -0.01em;
  }
  .xs-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    max-width: 50ch;
    text-wrap: pretty;
  }
  .xs-card .link {
    margin-top: 10px;
    color: var(--accent-ink);
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 1px solid var(--accent);
    padding-bottom: 2px;
    align-self: flex-start;
  }

  /* ---------- Final CTA ---------- */
  .final {
    padding: 120px 0;
    background: var(--accent-ink);
    color: #fff;
  }
  .final .eyebrow, .final .eyebrow::before { color: #fff !important; }
  .final .eyebrow::before { background: #fff; border-color: #fff; }
  .final .btn--dark { color: var(--accent-ink); }
  .final h2 { color: #fff; }
  .final-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 80px;
    align-items: end;
  }
  .final h2 {
    font-weight: 500;
    font-size: clamp(36px, 5vw, 56px);
    letter-spacing: -0.02em;
    line-height: 1.05;
    margin: 0 0 24px;
    color: #fff;
    text-wrap: balance;
  }
  .final p {
    color: #fff;
    font-size: 18px;
    max-width: 52ch;
    margin: 0 0 36px;
  }
  .final-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
  .final-contact {
    display: grid;
    gap: 24px;
    padding: 32px;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 4px;
  }
  .final-contact .row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
  }
  .final-contact .row svg {
    width: 18px;
    height: 18px;
    color: #fff;
    margin-top: 5px;
    flex-shrink: 0;
  }
  .final-contact .row .label {
    font-family: "IBM Plex Mono", monospace;
    font-size: 11px;
    color: #fff;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
  }
  .final-contact .row .val {
    color: #fff;
    font-size: 21px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
  }

  /* ---------- Footer ---------- */
  footer {
    background: #fff;
    padding: 80px 0 0;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 56px;
    padding-bottom: 64px;
    border-bottom: var(--hair);
  }
  .foot-brand h3 {
    font-weight: 500;
    font-size: 16px;
    margin: 14px 0 8px;
  }
  .foot-brand p {
    color: var(--muted);
    font-size: 13px;
    margin: 0;
    max-width: 32ch;
  }
  .foot-col h4 {
    font-family: "IBM Plex Mono", monospace;
    font-size: 11px;
    color: var(--muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 0 0 18px;
    font-weight: 500;
  }
  .foot-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
  }
  .foot-col a {
    font-size: 14px;
    color: var(--ink-2);
  }
  .foot-col a:hover { color: var(--accent-ink); }
  .foot-hotline {
    border-top: var(--hair);
    border-bottom: var(--hair);
    padding: 32px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
  }
  .foot-hotline .left {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .foot-hotline .left svg { width: 22px; height: 22px; color: var(--accent); }
  .foot-hotline .left .label { font-size: 12px; color: var(--muted); font-family: "IBM Plex Mono", monospace; letter-spacing: 0.04em; }
  .foot-hotline .left .val { font-size: 22px; font-weight: 500; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
  .foot-hotline .hours { font-size: 13px; color: var(--muted); }
  .foot-bottom {
    padding: 28px 0 40px;
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: var(--muted);
    gap: 24px;
    flex-wrap: wrap;
  }

  /* ---------- Responsive ---------- */
  @media (max-width: 1100px) {
    .nav-links { display: none; }
    .hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .hero-media { margin-right: 0; }
    .quote-card { position: static; }
    .cat-grid, .usecase-grid { grid-template-columns: repeat(2, 1fr); }
    .usp-grid { grid-template-columns: repeat(2, 1fr); gap: 40px 48px; }
    .check-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .steps { grid-template-columns: repeat(3, 1fr); gap: 40px 32px; }
    .promo-grid { grid-template-columns: 1fr; gap: 40px; }
    .anfrage-grid { grid-template-columns: 1fr; gap: 40px; }
    .step { padding: 0 !important; border-right: none !important; }
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .logo-strip { grid-template-columns: repeat(4, 1fr); }
    .final-grid { grid-template-columns: 1fr; gap: 48px; }
  }
  @media (max-width: 768px) {
    .nav { height: 64px; gap: 12px; }
    .nav-burger { display: inline-flex; }
    .logo img { height: 38px; }
    .nav-right { gap: 14px; }
    .nav-phone svg { width: 19px; height: 19px; }
    .nav-right .btn { padding: 11px 16px; gap: 8px; font-size: 14px; }
    .mobile-menu { position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: var(--hair); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
    .topbar.menu-open .mobile-menu { display: block; }
    .mobile-menu ul { list-style: none; margin: 0; padding: 8px var(--pad-x) 16px; }
    .mobile-menu a { display: block; padding: 14px 0; font-size: 16px; color: var(--ink); border-bottom: var(--hair); }
    .mobile-menu li:last-child a { border-bottom: 0; color: var(--accent); font-weight: 500; }
    .hero { padding-top: 16px; }
    .hero-grid { display: flex; flex-direction: column; gap: 24px; }
    .hero-media { order: -1; }
    .hero h1 { font-size: 36px !important; }
    .hero .lede { font-size: 16.5px; }
  }
  @media (max-width: 720px) {
    .section { padding: 72px 0; }
    .trust-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 0; }
    .stat { padding-left: 16px; padding-right: 16px; }
    .stat:nth-child(odd) { border-left: none; padding-left: 0; }
    .stat:nth-child(even) { border-left: var(--hair); }
    .cat-grid, .usecase-grid { grid-template-columns: 1fr; }
    .usp-grid { grid-template-columns: 1fr; }
    .steps { grid-template-columns: 1fr; }
    .step { padding: 0 0 32px !important; border-right: none !important; border-bottom: var(--hair); }
    .step:last-child { border-bottom: none; padding-bottom: 0 !important; }
    .check-row { grid-template-columns: 1fr; gap: 16px; }
    .footer-grid { grid-template-columns: 1fr; gap: 40px; }
    .logo-strip { grid-template-columns: repeat(3, 1fr); }
    .crosssell { grid-template-columns: 1fr; }
    .nav-phone .num { display: none; }
    .nav { gap: 16px; }
    .hero h1 { font-size: 30px; }
    .field-row { grid-template-columns: 1fr; }
  }
  @media (max-width: 768px) {
    .cat-grid { grid-template-columns: 1fr 1fr; }
    .cat-card { padding: 18px 14px; gap: 12px; }
    .cat-card .cat-image img { padding: 8px; }
    .cat-card h3 { font-size: 15px; }
    .cat-card .meta { flex-wrap: wrap; gap: 4px 8px; }
    .hero { padding-bottom: 28px; }
    .check-row { grid-template-columns: 1fr 1fr; gap: 20px 16px; margin-top: 28px; padding-top: 24px; }
    .trust { padding-top: 32px; }
    .steps { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
    .step, .step:last-child { padding: 0 !important; border: none !important; }
    .footer-grid { gap: 0; }
    .foot-brand { margin-bottom: 24px; }
    .foot-col { border-top: var(--hair); padding: 16px 0; }
    .foot-col:last-child { border-bottom: var(--hair); }
    .foot-col h4 { margin-bottom: 0; }
    .foot-col:last-child h4 { margin-bottom: 14px; }
    .foot-col.foot-acc h4 { display: flex; align-items: center; justify-content: space-between; cursor: pointer; min-height: 28px; user-select: none; }
    .foot-col.foot-acc h4::after { content: "+"; font-family: var(--font, inherit); font-size: 22px; line-height: 1; font-weight: 400; color: var(--accent); }
    .foot-col.foot-acc.is-open h4::after { content: "\2212"; }
    .foot-col.foot-acc ul { display: none; }
    .foot-col.foot-acc.is-open ul { display: flex; margin-top: 14px; }
  }