/* Integraatiot 6/6: responsiivisuus */
  @media (min-width: 861px) {
    .hero-cta-row:has(.ai-hi) { flex-wrap: nowrap; }
    .hero-cta-row:has(.ai-hi) > * { min-width: 0; }
    .hero-cta-row .ai-hi-input { min-width: 0; }
    .hero-cta-row .btn-primary { flex-shrink: 0; white-space: nowrap; }
  }

  @media (max-width: 1100px) {
    .ig-hero-layout { grid-template-columns: minmax(0, 1fr); gap: 56px; }
    .hero-page-inner { max-width: 680px; }
    .ig-stage { margin: 0 auto; max-width: 520px; }
    .ig-retry { left: 0; }
    .ig-aamu-grid, .ig-guard-grid { grid-template-columns: minmax(0, 1fr); gap: 44px; }
    .ig-sys-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ig-ask { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .ig-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
    .ig-steps::before { display: none; }
    .ig-price { grid-template-columns: minmax(0, 1fr); max-width: 620px; }
  }

  @media (max-width: 860px) {
    .block, .ig-guard { padding: 80px 0; }
    .section-head { margin-bottom: 44px; }
    .ig-hero { padding: 120px 0 80px; }
    .ig-refs { grid-template-columns: minmax(0, 1fr); }
    .cta-band { padding: 84px 0; }
  }

  @media (max-width: 640px) {
    .container { padding: 0 16px; }
    .ig-hero-layout p { font-size: 17px; }
    .hero-cta-row { flex-direction: column; align-items: stretch; }
    .hero-cta-row .btn-primary { justify-content: center; }

    /* Näyttämö pinoksi: kortti, solmut allekkain, ei johtoja */
    .ig-stage { aspect-ratio: auto; display: flex; flex-direction: column; gap: 12px; padding-bottom: 28px; }
    .ig-wires { display: none; }
    .ig-order { position: relative; top: auto; left: auto; width: 100%; translate: none; }
    .ig-retry { position: relative; top: auto; left: auto; align-self: flex-start; }
    .ig-nodes { position: relative; top: auto; grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .ig-node {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr) auto;
      grid-template-rows: auto auto;
      column-gap: 12px;
      row-gap: 0;
      align-items: center;
      padding: 12px 14px;
    }
    .ig-node-ico { grid-row: 1 / 3; margin: 0; }
    .ig-node-label { grid-column: 2; }
    .ig-node-text { grid-column: 2; }
    .ig-node-ok { grid-column: 3; grid-row: 1 / 3; margin: 0; }
    .ig-hero-layout .ig-stage-note { bottom: 0; }

    .ig-aamu-card { padding: 18px; border-radius: 22px; }
    .ig-switch label { font-size: 13px; padding: 10px 8px; }
    .ig-timeline::before { left: 63px; }
    .ig-timeline li { grid-template-columns: 52px minmax(0, 1fr); gap: 24px; font-size: 15px; }
    .ig-timeline li::before { left: 58px; }

    .ig-sys-grid { grid-template-columns: minmax(0, 1fr); }
    .ig-sys { padding: 24px; }
    .ig-ask { padding: 28px 22px; }
    .ig-ask-form { flex-direction: column; border-radius: 20px; }
    .ig-ask-form button { justify-content: center; }
    .ig-steps { grid-template-columns: minmax(0, 1fr); }
    .ig-guard-list { grid-template-columns: minmax(0, 1fr); }
    .ig-price-card { padding: 28px 22px; }
    .ig-ref-body { padding: 24px 22px 26px; }
    .faq-item summary { padding: 18px 20px; font-size: 16px; }
    .faq-item p { padding: 0 20px 20px; }
  }
