/* Responsive */

@media (max-width: 1100px) {
  .nav-desktop { display: none; }
  .nav-toggle { display: inline-grid; }
  .header-cta { display: none; }
  .site-header__actions { gap: 0.55rem; }
  .header-call {
    width: 44px;
    height: 44px;
    justify-content: center;
    border: 1px solid var(--color-line);
    border-radius: 12px;
    background: #fff;
  }
  .category-grid,
  .category-grid--4,
  .product-grid,
  .project-grid,
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .product-grid--detailed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app-grid { grid-template-columns: repeat(2, 1fr); }
  .process-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .process-item:nth-child(3)::after { display: none; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .intro-grid,
  .split-layout,
  .contact-grid,
  .contact-layout,
  .svc-layout { grid-template-columns: 1fr; }
  .svc-intro,
  .svc-why { grid-template-columns: 1fr; }
  .sticky-card,
  .svc-card { position: static; }
  .svc-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-highlights__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-methods__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-method:nth-child(2n) { border-right: 0; }
  .contact-method:nth-child(-n + 2) { border-bottom: 1px solid var(--color-line); }
  .svc-highlight:nth-child(2n) { border-right: 0; }
  .svc-highlight:nth-child(-n + 2) { border-bottom: 1px solid var(--color-line); }
  .home-trust__grid,
  .home-intro__grid,
  .home-why,
  .home-apps,
  .home-process,
  .home-projects { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-cats {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .home-cat--wide {
    grid-column: span 2;
    grid-row: auto;
    min-height: 320px;
  }
  .home-trust__item:nth-child(2n) { border-right: 0; }
  .home-trust__item:nth-child(-n + 2) { border-bottom: 1px solid var(--color-line); }
  .faq-item__body { padding-left: 1.25rem; }
  .page-services .section-head { align-items: start; }
}

@media (max-width: 768px) {
  :root { --header-h: 80px; }
  .container { width: min(100% - 1.5rem, var(--container)); }
  .header-call span { display: none; }
  .site-logo__img {
    height: 56px;
    max-width: 120px;
  }
  .site-header.is-scrolled .site-logo__img {
    height: 50px;
    max-width: 110px;
  }
  .hero {
    min-height: calc(100svh - var(--header-h));
    min-height: calc(100dvh - var(--header-h));
    align-items: end;
  }
  .hero__video,
  .hero__img {
    object-position: center center;
  }
  .hero__content {
    width: min(100% - 1.5rem, var(--container));
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    padding: 2.25rem 0 3.25rem;
    max-width: none;
  }
  .hero__title {
    max-width: none;
    font-size: clamp(2.2rem, 9vw, 2.85rem);
  }
  .hero__sub {
    max-width: 34ch;
  }
  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .hero__actions .btn { width: 100%; justify-content: center; }
  .hero__scroll { display: none; }
  .category-grid,
  .category-grid--4,
  .product-grid,
  .product-grid--detailed,
  .project-grid,
  .why-grid,
  .values-grid,
  .benefit-grid,
  .form-grid,
  .site-footer__grid { grid-template-columns: 1fr; }
  .app-grid { grid-template-columns: 1fr 1fr; }
  .process-list { grid-template-columns: 1fr; gap: 0.85rem; }
  .process-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-rows: auto auto;
    column-gap: 0.9rem;
    row-gap: 0.25rem;
    align-items: start;
  }
  .process-item .process-num {
    grid-row: 1 / span 2;
    font-size: 1.8rem;
    padding-top: 0.15rem;
  }
  .process-item h3 {
    min-height: 0;
    font-size: 1.15rem;
  }
  .process-item:not(:last-child)::after { display: none; }
  .cta-band__actions { width: 100%; }
  .cta-band__actions .btn { flex: 1 1 auto; justify-content: center; }
  .whatsapp-float { bottom: 4.75rem; right: 1rem; width: 52px; height: 52px; }
  .mobile-cta-bar { display: grid; }
  body { padding-bottom: 68px; }
  .page-hero--service { min-height: 460px; }
  .svc-hero {
    min-height: min(68vh, 560px);
    align-items: flex-end;
  }
  .svc-hero__content {
    width: min(100% - 1.5rem, var(--container));
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    max-width: none;
    padding: 2.75rem 0 2.5rem;
  }
  .svc-hero__title { max-width: none; }
  .svc-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .svc-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .svc-highlights__grid { grid-template-columns: 1fr; }
  .svc-highlight {
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }
  .svc-highlight:last-child { border-bottom: 0; }
  .svc-features,
  .svc-benefits { grid-template-columns: 1fr; }
  .svc-intro__media,
  .svc-intro__media img { min-height: 220px; }
  .svc-why { padding: 1.35rem; }
  .contact-hero {
    min-height: min(64vh, 520px);
  }
  .contact-hero__content {
    width: min(100% - 1.5rem, var(--container));
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    max-width: none;
    padding: 2.75rem 0 2.5rem;
  }
  .contact-hero__title { max-width: none; }
  .contact-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .contact-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .contact-methods__grid { grid-template-columns: 1fr; }
  .contact-method {
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }
  .contact-method:last-child { border-bottom: 0; }
  .contact-side,
  .contact-form-panel { padding: 1.5rem; }
  .contact-form__footer {
    display: grid;
    grid-template-columns: 1fr;
  }
  .contact-form__footer .btn {
    width: 100%;
    justify-content: center;
  }
  .contact-steps { grid-template-columns: 1fr; }
  .contact-map-head { align-items: start; }
  .contact-map,
  .contact-map iframe { min-height: 300px; height: 300px; }
  .form-grid { grid-template-columns: 1fr; }
  .home-trust__grid,
  .home-cats,
  .home-why,
  .home-apps,
  .home-process,
  .home-projects,
  .home-intro__grid { grid-template-columns: 1fr; }
  .home-cat--wide { grid-column: auto; min-height: 280px; }
  .home-trust__item {
    border-right: 0;
    border-bottom: 1px solid var(--color-line);
  }
  .home-trust__item:last-child { border-bottom: 0; }
  .page-home .hero__content {
    width: min(100% - 1.5rem, var(--container));
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    padding: 2.5rem 0 2.75rem;
  }
  .page-home .hero__title { max-width: none; }
  .page-home .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-home .hero__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .home-intro__media,
  .home-intro__media img { min-height: 280px; }
  .home-cta__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .home-cta__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .home-head-actions { width: 100%; }
  .home-head-actions .btn {
    flex: 1;
    justify-content: center;
  }
  .faq-item summary {
    font-size: 0.98rem;
    padding: 1.05rem 1rem;
    gap: 0.7rem;
  }
  .faq-item__num {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.7rem;
  }
  .faq-section__cta {
    display: grid;
    grid-template-columns: 1fr;
  }
  .faq-section__cta .btn {
    width: 100%;
    justify-content: center;
  }
  .page-hero--services {
    min-height: auto;
  }
  .page-hero--services .page-hero__content {
    padding: 2.5rem 0 2.25rem;
    width: min(100% - 1.5rem, var(--container));
  }
  .page-hero--services .page-hero__title { max-width: none; }
  .page-hero--services .page-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-hero--services .page-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }
  .services-jump__inner {
    padding: 0.75rem 0;
    gap: 0.4rem;
  }
  .services-jump__inner a {
    padding: 0.5rem 0.8rem;
    font-size: 0.8rem;
  }
  .page-services .services-section {
    scroll-margin-top: calc(var(--header-offset, 68px) + 4rem);
  }
  .page-services .section-head {
    flex-direction: column;
    align-items: stretch;
  }
  .page-services .section-head .btn {
    width: 100%;
    justify-content: center;
  }
  .product-card--detailed h3 { min-height: 0; }
  .product-card__features { min-height: 0; }
  .product-card__apps { min-height: 0; }
  .product-card--detailed .product-card__actions {
    grid-template-columns: 1fr;
  }
  .intro-stats { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .app-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 360px; }
  .hero__title { font-size: 2.35rem; }
}

@media (min-width: 1101px) {
  .nav-mobile { display: none !important; }
  .nav-toggle { display: none !important; }
}
