@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .site-header__cta { margin-left: auto; }
  .menu-toggle { display: block; }
  .hero__grid, .hero__grid--single-visual { grid-template-columns: 1fr; }
  .hero__visual, .hero__visual--single { min-height: 470px; max-width: 860px; width: 100%; margin-inline: auto; }
  .card-grid, .gallery-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  :root { --container: min(100% - 2rem, 760px); }
  .what-is__grid, .solution-tabs, .routes-band__grid, .roles-layout, .trust-grid, .devices-layout, .solution-page-grid { grid-template-columns: 1fr; }
  .integration-strip { grid-template-columns: repeat(3, 1fr); }
  .ecosystem { min-height: 520px; }
  .ecosystem__orbit { inset: 13%; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .site-footer__brand { grid-column: span 2; }
  .device-stage { min-height: 390px; }
}

@media (max-width: 768px) {
  :root { --header-height: 68px; --container: min(100% - 1.4rem, 700px); }
  .site-header__inner { min-height: var(--header-height); }
  .brand img { width: 42px; height: 42px; }
  .brand__text { font-size: .78rem; }
  .site-header__cta { display: none; }
  .menu-toggle { margin-left: auto; }
  .hero { min-height: auto; padding-top: 3.4rem; }
  .hero__visual, .hero__visual--single { min-height: 410px; }
  .feature-showcase, .growth-steps, .compare-grid, .trust-points { grid-template-columns: 1fr; }
  .feature-card--wide { grid-column: auto; }
  .gallery-grid, .card-grid { grid-template-columns: 1fr; }
  .ecosystem { min-height: auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; }
  .ecosystem__core { grid-column: span 2; position: relative; width: 190px; margin: 0 auto 1rem; }
  .ecosystem__orbit { display: none; }
  .ecosystem__item { position: static !important; min-width: 0; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__brand { grid-column: auto; }
  .whatsapp-float__label { display: none; }
  .whatsapp-float { padding: .48rem; }
  .device-stage { min-height: 320px; }
}

@media (max-width: 560px) {
  .integration-strip { grid-template-columns: repeat(2, 1fr); }
  .hero-actions .btn, .cta-row .btn { width: 100%; }
  .hero__visual, .hero__visual--single { min-height: 320px; }
  .hero-device--laptop { width: 88%; }
  .hero-device--tablet { width: 44%; left: 0; bottom: 10%; }
  .hero-device--phone { width: 34%; right: 0; bottom: 0; }
  .hero-device--main { width: min(100%, 640px); }
  .flow__node { min-width: 105px; }
  .device-stage { min-height: 300px; }
  .final-cta { padding: 1.6rem; }
}

@media (max-width: 430px) {
  :root { --container: min(100% - 1.1rem, 410px); }
  .brand__text { max-width: 130px; white-space: normal; line-height: 1.05; }
  .hero__visual, .hero__visual--single { min-height: 300px; }
  .hero-device--main { width: 100%; }
  .section { padding-block: clamp(3.6rem, 14vw, 5rem); }
  .ecosystem { grid-template-columns: 1fr; }
  .ecosystem__core { grid-column: auto; }
}

@media (max-width: 390px) {
  .brand img { width: 39px; height: 39px; }
  .brand__text { font-size: .72rem; }
  .hero__visual, .hero__visual--single { min-height: 280px; }
  .card { padding: 1.15rem; }
}

@media (max-width: 360px) {
  :root { --container: calc(100% - .9rem); }
  .brand__text { display: none; }
  .hero__visual, .hero__visual--single { min-height: 260px; }
  .whatsapp-float { right: .7rem; bottom: .7rem; }
}

/* v1.0.1 responsive refinements */
@media (max-width: 1180px) {
  .solution-tab-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .solution-tab-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .solution-tab {
    min-height: 170px;
  }
}

@media (max-width: 768px) {
  .integration-pill {
    min-height: 98px;
  }
  .solution-tab-list {
    grid-template-columns: 1fr;
  }
  .solution-tab {
    min-height: auto;
  }
  .solution-tab__desc {
    -webkit-line-clamp: unset;
  }
  .solution-panel .flow__node {
    min-width: 118px;
  }
  .ecosystem__item {
    position: static !important;
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 560px) {
  .integration-strip {
    grid-template-columns: 1fr;
  }
  .whatsapp-float {
    right: .9rem;
    left: .9rem;
    bottom: .9rem;
    justify-content: center;
  }
  .whatsapp-float__label {
    display: inline;
  }
}

@media (max-width: 430px) {
  .solution-panel {
    padding: 1.15rem;
  }
  .solution-panel__intro {
    font-size: .96rem;
  }
  .ecosystem__core {
    width: min(100%, 250px);
  }
  .whatsapp-float__label {
    font-size: .73rem;
  }
}

@media (max-width: 390px) {
  .whatsapp-float {
    gap: .55rem;
    padding: .52rem .72rem .52rem .52rem;
  }
  .whatsapp-float__icon {
    width: 40px;
    height: 40px;
  }
  .whatsapp-float__icon img {
    width: 22px;
    height: 22px;
  }
}

@media (max-width: 560px) {
  .integration-pill {
    min-height: 112px;
    font-size: .94rem;
  }
  .gallery-card {
    padding: .8rem;
    border-radius: 1.35rem;
  }
  .gallery-card__frame {
    border-radius: 1.2rem;
    padding: .45rem;
  }
}

@media (max-width: 900px) {
  .device-stage--equal { gap: 1rem; }
}

@media (max-width: 768px) {
  .device-stage--equal { gap: .9rem; }
  .device-stage__card { padding: .55rem; }
}

@media (max-width: 560px) {
  .device-stage__card img { aspect-ratio: 16/9.6; }
}

@media (max-width: 900px) {
  .device-carousel { padding: .85rem; }
}

@media (max-width: 768px) {
  .device-carousel { border-radius: 1.6rem; }
  .device-slide__mockup { padding: .6rem; }
  .device-slide__content { padding-inline: .1rem; }
  .device-carousel__controls { gap: .8rem; }
}

@media (max-width: 560px) {
  .device-carousel { padding: .7rem; border-radius: 1.35rem; }
  .device-carousel__viewport { border-radius: 1.2rem; }
  .device-carousel__arrow { width: 42px; height: 42px; }
  .device-slide__content h3 { font-size: 1.12rem; }
}

@media (max-width: 1180px) {
  .device-gallery {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .devices-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .device-gallery__card {
    padding: .8rem;
    border-radius: 1.35rem;
  }
  .device-gallery__mockup {
    padding: .5rem;
    border-radius: 1.15rem;
  }
}

@media (max-width: 560px) {
  .device-gallery__content h3 {
    font-size: 1rem;
  }
  .device-gallery__content p {
    font-size: .88rem;
  }
}

/* v1.0.3 responsive overrides for 2+1 device gallery */
@media (max-width: 1180px) {
  .device-gallery {
    grid-template-columns: minmax(0, 1fr) minmax(240px, .82fr);
  }
}

@media (max-width: 900px) {
  .devices-layout {
    grid-template-columns: 1fr;
  }
  .device-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "featured featured"
      "tablet mobile";
  }
}

@media (max-width: 768px) {
  .device-gallery__card {
    padding: .8rem;
    border-radius: 1.35rem;
  }
  .device-gallery__mockup {
    padding: .5rem;
    border-radius: 1.15rem;
  }
  .device-gallery__content p {
    font-size: .9rem;
  }
}

@media (max-width: 560px) {
  .device-gallery {
    grid-template-columns: 1fr;
    grid-template-areas:
      "featured"
      "tablet"
      "mobile";
  }
  .device-gallery__content h3 {
    font-size: 1rem;
  }
  .device-gallery__content p {
    font-size: .88rem;
  }
}
