/* ==========================================================================
   AGIL -- MOBILE CLEAN v1
   Carregado por ultimo para corrigir o mobile sem mexer no desktop.
   Se usar em "CSS adicional", substitua todo o CSS antigo por este arquivo.
   ========================================================================== */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

html,
body {
  overflow-x: hidden;
}

:focus-visible {
  outline: 2px solid #9fb1d4;
  outline-offset: 3px;
}

.ag-whatsapp {
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;
  top: auto !important;
  z-index: 9999 !important;
}

.ag-whatsapp::before,
.ag-whatsapp::after,
a[href*="wa.me"]::before,
a[href*="wa.me"]::after,
a[href*="whatsapp"]::before,
a[href*="whatsapp"]::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .ag-btn,
  .ag-card,
  .ag-solucao,
  .ag-case,
  .ag-numero,
  .ag-marquee-item img {
    transition:
      transform .28s ease,
      box-shadow .28s ease,
      background-color .28s ease,
      border-color .28s ease,
      opacity .28s ease,
      filter .28s ease;
  }
}

.ag-marquee-item img,
.ag-case__logo img {
  filter: none !important;
  opacity: 1 !important;
}

.ag-marquee-item img[alt="Rede D'Or"] {
  max-width: 230px;
}

.ag-printer-stage canvas {
  display: block !important;
}

.ag-printer-stage__grid,
.ag-printer-stage__image {
  display: none !important;
}

.ag-hero__stats-inner {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ag-stat {
  text-align: center !important;
}

@media (max-width: 1024px) {
  :root {
    --section-py: 88px;
  }

  .ag-container,
  .nav-inner,
  .footer-inner {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .ag-photo-split,
  .ag-about-tech,
  .ag-contato-grid {
    grid-template-columns: 1fr !important;
    gap: 44px !important;
  }

  .ag-about-tech .ag-photo-split__content,
  .ag-photo-split__content {
    padding: 0 !important;
  }

  .ag-nacional {
    grid-template-columns: 1fr !important;
    padding: 72px 32px !important;
  }
}

@media (max-width: 768px) {
  :root {
    --section-py: 64px;
  }

  html {
    scroll-padding-top: 76px;
  }

  body {
    background: #ffffff;
  }

  .ag-scroll-progress,
  .ag-hero > .ag-shine,
  .ag-cta__inner::before {
    display: none !important;
  }

  .agil-header {
    height: 64px !important;
    background: rgba(11, 20, 64, .94) !important;
    border-bottom: 1px solid rgba(159, 177, 212, .18) !important;
    box-shadow: 0 12px 34px rgba(7, 13, 42, .24) !important;
  }

  body.admin-bar .agil-header {
    top: 46px !important;
  }

  .nav-inner {
    height: 64px !important;
    padding-left: 18px !important;
    padding-right: 14px !important;
    gap: 10px !important;
  }

  .agil-logo {
    min-width: 0;
    gap: 9px !important;
  }

  .agil-logo-img {
    height: 30px !important;
    max-width: 118px !important;
  }

  .agil-symbol {
    width: 20px !important;
    height: 31px !important;
  }

  .agil-wordmark-text {
    font-size: .86rem !important;
    letter-spacing: .22em !important;
  }

  .nav-cta {
    display: none !important;
  }

  .lang-switcher {
    margin-left: auto !important;
    gap: 3px !important;
    padding: 3px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .08) !important;
  }

  .lang-btn {
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
  }

  .lang-btn span {
    display: none !important;
  }

  .lang-btn img {
    width: 18px !important;
    height: 18px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
  }

  .nav-toggle {
    display: inline-flex !important;
    width: 42px !important;
    height: 42px !important;
    margin-left: 2px !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .06) !important;
  }

  .nav-toggle span {
    width: 18px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
  }

  .nav-links {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-height: 100svh !important;
    padding: 88px 22px 28px !important;
    background:
      radial-gradient(circle at 86% 10%, rgba(159, 177, 212, .18), transparent 34%),
      linear-gradient(180deg, rgba(11, 20, 64, .98), rgba(7, 13, 42, .98)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(100%) !important;
    transition: opacity .24s ease, transform .32s cubic-bezier(.2, .8, .2, 1) !important;
    z-index: 9998 !important;
  }

  body.admin-bar .nav-links {
    top: 46px !important;
    min-height: calc(100svh - 46px) !important;
  }

  .nav-links.open {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
  }

  .nav-close-btn {
    display: inline-flex !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .06) !important;
    color: #ffffff !important;
    font-size: 1.1rem !important;
  }

  .nav-links a {
    display: flex !important;
    align-items: center !important;
    min-height: 58px !important;
    width: 100% !important;
    padding: 0 4px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .11) !important;
    color: rgba(255, 255, 255, .9) !important;
    font-size: .94rem !important;
    letter-spacing: .12em !important;
  }

  .nav-links a::after,
  header a:not(.ag-btn)::after {
    display: none !important;
  }

  .ag-hero-video,
  .ag-hero video,
  video.ag-hero-video {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
  }

  .ag-hero {
    min-height: auto !important;
    padding-top: 96px !important;
    padding-bottom: 0 !important;
    justify-content: flex-start !important;
    background:
      radial-gradient(circle at 84% 16%, rgba(236, 98, 85, .16), transparent 30%),
      radial-gradient(circle at 16% 78%, rgba(159, 177, 212, .16), transparent 34%),
      linear-gradient(145deg, #0b1440 0%, #111d58 56%, #070d2a 100%) !important;
  }

  .ag-hero-overlay {
    background: linear-gradient(180deg, rgba(7, 13, 42, .05), rgba(7, 13, 42, .20)) !important;
  }

  #ag-particles {
    opacity: .45 !important;
  }

  .ag-hero__body {
    padding: 0 20px 34px !important;
  }

  .ag-hero__tag,
  .ag-eyebrow,
  .ag-eyebrow--light,
  .ag-eyebrow--sage {
    font-size: .64rem !important;
    letter-spacing: .14em !important;
    line-height: 1.35 !important;
    margin-bottom: 16px !important;
  }

  .ag-hero__tag::before,
  .ag-eyebrow::before {
    width: 24px !important;
    flex: 0 0 24px !important;
  }

  .ag-hero__title,
  h1.ag-hero__title {
    max-width: 10.5em !important;
    margin-bottom: 18px !important;
    color: #ffffff !important;
    font-size: clamp(2.25rem, 11vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.025em !important;
    text-wrap: balance;
  }

  .ag-hero__title strong {
    display: block !important;
    color: #ffffff !important;
  }

  .ag-hero__desc {
    max-width: 32rem !important;
    margin-bottom: 26px !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: .98rem !important;
    line-height: 1.62 !important;
  }

  .ag-hero__ctas,
  .ag-cta__btns {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
  }

  .ag-btn,
  .ag-hero__ctas .ag-btn,
  .ag-cta__btns .ag-btn {
    min-height: 48px !important;
    width: 100% !important;
    justify-content: center !important;
    padding: 14px 18px !important;
    font-size: .78rem !important;
    letter-spacing: .08em !important;
    border-radius: 3px !important;
    transform: none !important;
  }

  .ag-hero__stats {
    margin: 0 !important;
    padding: 16px 20px 18px !important;
    border-top: 1px solid rgba(159, 177, 212, .20) !important;
    background: rgba(0, 0, 0, .18) !important;
    animation: none !important;
    transform: none !important;
  }

  .ag-hero__stats-inner {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 0 !important;
  }

  .ag-stat {
    min-width: 0 !important;
    padding: 13px 10px !important;
    border: 1px solid rgba(159, 177, 212, .18) !important;
    background: rgba(255, 255, 255, .045) !important;
  }

  .ag-hero .ag-stat__val,
  .ag-fullphoto .ag-stat__val {
    display: block !important;
    color: #ffffff !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    text-shadow: none !important;
    animation: none !important;
    font-size: .86rem !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .ag-stat__lbl {
    color: rgba(196, 212, 236, .86) !important;
    font-size: .48rem !important;
    letter-spacing: .10em !important;
    line-height: 1.25 !important;
  }

  .ag-section,
  .ag-section--white,
  .ag-section--light,
  .ag-section--printer,
  .ag-contato,
  .ag-bridge,
  .ag-cta,
  .ag-fullphoto {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  .ag-container,
  .footer-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ag-section-title,
  .ag-section-title--white,
  h2.ag-section-title {
    max-width: 100% !important;
    margin-bottom: 16px !important;
    font-size: clamp(2rem, 8.2vw, 2.7rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance;
  }

  .ag-section-lead,
  .ag-section-lead--white {
    max-width: 100% !important;
    white-space: normal !important;
    font-size: .98rem !important;
    line-height: 1.62 !important;
  }

  .ag-text-center {
    text-align: left !important;
  }

  .ag-text-center .ag-eyebrow {
    justify-content: flex-start !important;
  }

  .ag-text-center .ag-section-lead {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ag-mb-56 {
    margin-bottom: 34px !important;
  }

  .ag-mt-40 {
    margin-top: 28px !important;
  }

  .ag-about-tech,
  .ag-photo-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .ag-printer-stage {
    min-height: clamp(310px, 78vw, 430px) !important;
    max-height: none !important;
    border-radius: 8px !important;
  }

  .ag-printer-stage__image {
    width: min(142%, 690px) !important;
    transform: translate3d(-50%, -47%, 48px) scale(1) !important;
  }

  .ag-printer-stage__panel {
    min-width: 116px !important;
    padding: 10px 12px !important;
  }

  .ag-printer-stage__panel span {
    font-size: .55rem !important;
  }

  .ag-printer-stage__panel strong {
    font-size: .84rem !important;
  }

  .ag-bridge {
    text-align: left !important;
  }

  .ag-bridge__inner,
  .ag-cta__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    text-align: left !important;
  }

  .ag-bridge__text {
    font-size: clamp(1.35rem, 6.2vw, 2rem) !important;
    line-height: 1.35 !important;
    animation: none !important;
  }

  .ag-cards-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    border: 0 !important;
  }

  .ag-card {
    min-height: auto !important;
    padding: 24px 22px !important;
    border: 1px solid var(--border) !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(17, 29, 88, .06) !important;
  }

  .ag-card__num,
  .ag-solucao__num {
    font-size: .82rem !important;
    letter-spacing: .10em !important;
    color: var(--steel) !important;
  }

  .ag-card__title,
  .ag-solucao__title {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }

  .ag-card__text,
  .ag-solucao__text {
    max-width: none !important;
    font-size: .92rem !important;
    line-height: 1.58 !important;
  }

  .ag-solucoes-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    border: 0 !important;
  }

  .ag-solucao {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 12px 16px !important;
    align-items: start !important;
    padding: 24px 20px !important;
    border: 1px solid var(--border) !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(17, 29, 88, .06) !important;
    transform: none !important;
  }

  .ag-solucao__num {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    font-family: var(--font-mono) !important;
    font-size: 1.18rem !important;
    letter-spacing: -.02em !important;
    line-height: 1 !important;
  }

  .ag-solucao__body {
    grid-column: 2 !important;
    min-width: 0 !important;
  }

  .ag-solucao__tag {
    display: inline-flex !important;
    grid-column: 2 !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;
    padding: 5px 9px !important;
    white-space: normal !important;
    font-size: .52rem !important;
    letter-spacing: .08em !important;
    line-height: 1.2 !important;
  }

  .ag-fullphoto {
    min-height: auto !important;
    background-attachment: scroll !important;
  }

  .ag-fullphoto__content {
    padding: 0 20px !important;
  }

  .ag-fullphoto__stats {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
  }

  .ag-fullphoto__stat {
    width: 100% !important;
    padding: 18px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
  }

  .ag-fullphoto__stat:last-child {
    border-bottom: 0 !important;
  }

  .ag-nacional {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 64px 20px !important;
  }

  .ag-nacional__accent,
  .ag-nacional::before {
    display: none !important;
  }

  .ag-nacional__left,
  .ag-nacional__right {
    padding: 26px 20px !important;
    border: 1px solid rgba(159, 177, 212, .18) !important;
  }

  .ag-nacional__right {
    display: block !important;
    background: #ffffff !important;
  }

  .ag-nacional__items {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 24px !important;
  }

  .ag-nacional__item {
    min-height: auto !important;
    padding: 16px 0 !important;
    font-size: .92rem !important;
    line-height: 1.5 !important;
  }

  .ag-numeros-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    border: 0 !important;
    gap: 14px !important;
  }

  .ag-numero {
    padding: 28px 22px !important;
    border: 1px solid var(--border) !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(17, 29, 88, .06) !important;
  }

  .ag-numero__val {
    display: inline-block !important;
    color: var(--navy) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
    text-shadow: none !important;
    animation: none !important;
    font-size: clamp(2.7rem, 14vw, 4rem) !important;
    line-height: .95 !important;
  }

  .ag-numero__label {
    margin-top: 12px !important;
    font-size: .68rem !important;
    letter-spacing: .13em !important;
  }

  .ag-numero__desc {
    max-width: 22rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: .9rem !important;
    line-height: 1.55 !important;
  }

  .ag-cases-scroll-wrap {
    display: block !important;
    width: 100% !important;
    padding: 0 20px 20px !important;
    overflow-x: auto !important;
    scroll-padding-left: 20px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ag-cases-scroll {
    display: flex !important;
    gap: 16px !important;
    width: max-content !important;
    scroll-snap-type: x mandatory !important;
  }

  .ag-cases-scroll .ag-case,
  .ag-case {
    width: min(84vw, 360px) !important;
    min-width: min(84vw, 360px) !important;
    max-width: min(84vw, 360px) !important;
    scroll-snap-align: start !important;
    transform: none !important;
  }

  .ag-case__body {
    padding: 28px 22px !important;
  }

  .ag-case__logo {
    height: 54px !important;
    margin-bottom: 18px !important;
  }

  .ag-case__logo img {
    max-height: 46px !important;
    max-width: 150px !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .ag-case__logo--multi {
    min-height: 54px !important;
    gap: 10px !important;
  }

  .ag-case__logo--multi img {
    max-height: 28px !important;
    max-width: 82px !important;
  }

  .ag-case__logo--multi img[alt="Rede D'Or"] {
    max-height: 30px !important;
    max-width: 118px !important;
  }

  .ag-case__client,
  .ag-case__result {
    font-size: .58rem !important;
    letter-spacing: .12em !important;
  }

  .ag-case__title {
    font-size: 1.08rem !important;
    line-height: 1.25 !important;
  }

  .ag-case__text {
    font-size: .92rem !important;
    line-height: 1.58 !important;
  }

  .ag-logo-marquee {
    margin-top: 38px !important;
    padding: 36px 0 42px !important;
  }

  .ag-marquee-label {
    margin-bottom: 20px !important;
    font-size: .58rem !important;
  }

  .ag-marquee-track {
    gap: 38px !important;
    animation-duration: 52s !important;
  }

  .ag-marquee-item {
    width: 148px !important;
    height: 70px !important;
  }

  .ag-marquee-item img {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 138px !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .ag-marquee-item img[alt="Positivo"] {
    height: 58px !important;
    max-height: 58px !important;
    max-width: 160px !important;
  }

  .ag-marquee-item img[alt="Rede D'Or"] {
    height: 48px !important;
    max-height: 48px !important;
    max-width: 156px !important;
  }

  .ag-marquee-item img[alt="Pantum"] {
    height: 46px !important;
    max-height: 46px !important;
    max-width: 150px !important;
  }

  .ag-cta {
    text-align: left !important;
  }

  .ag-cta__title {
    font-size: clamp(2rem, 8vw, 2.8rem) !important;
    line-height: 1.08 !important;
  }

  .ag-cta__text {
    margin-bottom: 28px !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: .98rem !important;
    line-height: 1.6 !important;
  }

  .ag-contato-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .ag-contato-info__item {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 18px 0 !important;
  }

  .ag-contato-info__label {
    min-width: 0 !important;
    padding-top: 0 !important;
    font-size: .58rem !important;
    letter-spacing: .15em !important;
  }

  .ag-contato-info__val {
    font-size: .96rem !important;
    overflow-wrap: anywhere !important;
  }

  .ag-form {
    gap: 14px !important;
    padding: 22px !important;
    border-radius: 6px !important;
    box-shadow: 0 18px 44px rgba(17, 29, 88, .08) !important;
  }

  .ag-form-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .ag-field label {
    font-size: .6rem !important;
    letter-spacing: .12em !important;
  }

  .ag-field input,
  .ag-field textarea,
  .ag-field select {
    min-height: 48px !important;
    padding: 13px 14px !important;
    font-size: 16px !important;
    border-radius: 3px !important;
  }

  .ag-field textarea {
    min-height: 132px !important;
  }

  .footer-top {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 52px 0 38px !important;
  }

  .footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .footer-tags {
    gap: 8px !important;
  }

  .ag-whatsapp {
    width: 54px !important;
    height: 54px !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    animation: none !important;
    box-shadow: 0 12px 30px rgba(37, 211, 102, .35) !important;
  }
}

@media (max-width: 560px) {
  .ag-hero {
    padding-top: 88px !important;
  }

  .ag-hero__title,
  h1.ag-hero__title {
    font-size: clamp(2.05rem, 10.5vw, 2.6rem) !important;
  }

  .ag-section-title,
  .ag-section-title--white,
  h2.ag-section-title {
    font-size: clamp(1.75rem, 8.8vw, 2.25rem) !important;
  }

  .ag-hero__stats-inner {
    grid-template-columns: 1fr !important;
  }

  .ag-stat {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    align-items: baseline !important;
    gap: 10px !important;
  }

  .ag-hero .ag-stat__val {
    font-size: .98rem !important;
  }

  .ag-solucao {
    grid-template-columns: 1fr !important;
  }

  .ag-solucao__num,
  .ag-solucao__body,
  .ag-solucao__tag {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .ag-case,
  .ag-cases-scroll .ag-case {
    width: 86vw !important;
    min-width: 86vw !important;
    max-width: 86vw !important;
  }

  .ag-marquee-item {
    width: 126px !important;
  }

  .ag-marquee-item img {
    max-width: 116px !important;
  }
}

@media (max-width: 380px) {
  .nav-inner {
    padding-left: 14px !important;
    padding-right: 10px !important;
  }

  .agil-wordmark-text {
    display: none !important;
  }

  .lang-switcher {
    transform: scale(.92);
    transform-origin: right center;
  }

  .ag-hero__title,
  h1.ag-hero__title {
    font-size: 1.92rem !important;
  }

  .ag-section-title,
  .ag-section-title--white,
  h2.ag-section-title {
    font-size: 1.62rem !important;
  }

  .ag-container,
  .footer-inner,
  .ag-hero__body,
  .ag-about-tech,
  .ag-photo-split {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  .ag-btn:hover,
  .ag-card:hover,
  .ag-solucao:hover,
  .ag-case:hover,
  .ag-numero:hover,
  .ag-fullphoto:hover,
  .ag-marquee-item:hover img {
    transform: none !important;
    box-shadow: inherit;
  }

  .ag-btn::before,
  .ag-btn::after,
  .nav-cta::after {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .ag-section--diferenciais {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
    background:
      radial-gradient(ellipse 70% 44% at 18% 0%, rgba(159,177,212,0.20), transparent 70%),
      radial-gradient(ellipse 54% 40% at 92% 16%, rgba(236,98,85,0.14), transparent 68%),
      linear-gradient(135deg, #060d2e 0%, #111d58 56%, #070d2a 100%) !important;
  }

  .ag-section--diferenciais .ag-text-center {
    text-align: left !important;
  }

  .ag-section--diferenciais .ag-text-center .ag-eyebrow {
    justify-content: flex-start !important;
  }

  .ag-section--diferenciais .ag-section-title {
    color: #ffffff !important;
    letter-spacing: 0 !important;
  }

  .ag-section--diferenciais .ag-section-title strong {
    color: var(--steel-light) !important;
  }

  .ag-diferenciais-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .ag-diferenciais-grid .ag-card {
    min-height: auto !important;
    padding: 28px 24px !important;
    border: 1px solid rgba(196,212,236,0.18) !important;
    border-radius: 8px !important;
    background:
      linear-gradient(145deg, rgba(255,255,255,0.12), rgba(255,255,255,0.045)),
      rgba(255,255,255,0.04) !important;
    box-shadow: 0 18px 54px rgba(0,0,0,0.18) !important;
  }

  .ag-diferenciais-grid .ag-card__icon {
    display: grid !important;
    width: 46px !important;
    height: 46px !important;
    margin-bottom: 20px !important;
  }

  .ag-diferenciais-grid .ag-card__num {
    color: rgba(196,212,236,0.72) !important;
  }

  .ag-diferenciais-grid .ag-card__title {
    color: #ffffff !important;
    font-size: 1.08rem !important;
    letter-spacing: 0 !important;
  }

  .ag-diferenciais-grid .ag-card__text {
    color: rgba(255,255,255,0.70) !important;
  }

  .ag-solucoes-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    border: 0 !important;
  }

  .ag-solucoes-list .ag-solucao {
    display: block !important;
    padding: 0 !important;
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(17,29,88,0.06) !important;
    transform: none !important;
  }

  .ag-solucao__summary {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 34px !important;
    gap: 12px 16px !important;
    align-items: start !important;
    padding: 24px 20px !important;
  }

  .ag-solucao__num {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    font-size: 1.18rem !important;
  }

  .ag-solucao__body {
    grid-column: 2 !important;
    min-width: 0 !important;
  }

  .ag-solucao__tag {
    display: inline-flex !important;
    grid-column: 2 !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 0 !important;
  }

  .ag-solucao__action {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 32px !important;
    height: 32px !important;
  }

  .ag-solucao__details {
    padding: 0 20px 24px 78px !important;
  }

  .ag-solucao__details-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ag-solucao__details-grid > div {
    padding: 18px !important;
  }

  .ag-case__logo--corporate {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 24px) !important;
    align-items: center !important;
    justify-items: center !important;
    gap: 8px 12px !important;
    min-height: 54px !important;
  }

  .ag-case__logo--corporate img {
    width: auto !important;
    max-width: 76px !important;
    max-height: 20px !important;
  }

  .ag-case__logo--corporate img[alt="Localiza"] {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .ag-case__logo--corporate img[alt="FedEx"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .ag-case__logo--corporate img[alt="Dasa"] {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  .ag-case__logo--corporate img[alt="Crefisa"] {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .ag-bridge {
    padding-bottom: 82px !important;
  }

  .ag-page-divider {
    height: 82px !important;
  }

  .ag-page-divider::before {
    width: calc(100vw - 56px) !important;
    top: 22px !important;
  }

  .ag-page-divider::after {
    top: 38px !important;
    width: 26px !important;
    height: 26px !important;
  }

  .ag-page-divider span {
    top: 15px !important;
  }

  .ag-section--diferenciais {
    padding-top: 82px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   MOBILE MOTION PARITY
   Mantem no mobile as animacoes/interacoes visuais que ja funcionam no desktop.
   ========================================================================== */
@media (max-width: 768px) {
  .ag-hero-video,
  .ag-hero video,
  video.ag-hero-video {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    opacity: .92 !important;
    pointer-events: none !important;
  }

  .ag-printer-stage,
  .ag-printer-stage canvas {
    pointer-events: auto !important;
    touch-action: none !important;
    -webkit-user-select: none !important;
            user-select: none !important;
  }

  .ag-printer-stage::before {
    animation: grid-drift 28s linear infinite !important;
  }

  .ag-printer-stage__panel {
    pointer-events: none !important;
  }

  .ag-marquee-overflow,
  .ag-logo-marquee {
    overflow: hidden !important;
  }

  .ag-marquee-track,
  .ag-marquee-track:hover {
    display: flex !important;
    width: max-content !important;
    animation: ag-marquee-scroll 42s linear infinite !important;
    animation-play-state: running !important;
    will-change: transform !important;
    transform: translate3d(0, 0, 0);
  }

  .ag-marquee-item,
  .ag-marquee-item img {
    backface-visibility: hidden;
    transform: translateZ(0);
  }

  .ag-whatsapp {
    animation: wa-pulse 2.5s ease-in-out infinite !important;
  }

  .ag-numero__val {
    animation: num-glow 3s ease-in-out infinite !important;
  }

  .ag-card,
  .ag-case,
  .ag-numero,
  .ag-solucao,
  .ag-btn,
  .nav-cta {
    transition:
      transform .3s ease,
      box-shadow .3s ease,
      border-color .3s ease,
      background-color .3s ease,
      opacity .3s ease,
      filter .3s ease !important;
  }

  .ag-card.is-touch-active,
  .ag-case.is-touch-active,
  .ag-numero.is-touch-active {
    transform: translateY(-7px) !important;
    box-shadow: 0 20px 60px rgba(159,177,212,0.15), 0 0 0 1px rgba(159,177,212,0.25) !important;
  }

  .ag-diferenciais-grid .ag-card.is-touch-active {
    background:
      linear-gradient(145deg, rgba(255,255,255,0.16), rgba(255,255,255,0.065)),
      rgba(255,255,255,0.055) !important;
    border-color: rgba(196,212,236,0.46) !important;
    box-shadow: 0 34px 96px rgba(0,0,0,0.28), 0 0 42px rgba(159,177,212,0.13) !important;
    transform: translateY(-8px) scale(1.03) !important;
  }

  .ag-diferenciais-grid .ag-card.is-touch-active::before {
    transform: scaleX(1) !important;
  }

  .ag-diferenciais-grid .ag-card.is-touch-active::after {
    opacity: 1 !important;
    transform: translate3d(-8px, 8px, 0) !important;
  }

  .ag-diferenciais-grid .ag-card.is-touch-active .ag-card__icon {
    color: var(--white) !important;
    background: rgba(196,212,236,0.16) !important;
    border-color: rgba(255,255,255,0.28) !important;
    transform: translateY(-3px) rotate(-2deg) scale(1.05) !important;
  }

  .ag-diferenciais-grid .ag-card.is-touch-active .ag-card__num,
  .ag-diferenciais-grid .ag-card.is-touch-active .ag-card__title,
  .ag-diferenciais-grid .ag-card.is-touch-active .ag-card__text {
    transform: translateY(-6px) !important;
  }

  .ag-diferenciais-grid .ag-card.is-touch-active .ag-card__text {
    color: rgba(255,255,255,0.82) !important;
  }

  .ag-btn.is-touch-active,
  .nav-cta.is-touch-active {
    box-shadow: 0 0 28px rgba(159,177,212,0.4), 0 4px 20px rgba(17,29,88,0.3) !important;
  }
}

/* ==========================================================================
   MOBILE EXPERIENCE POLISH
   Melhor hierarquia, respiro e leitura geral sem afetar o desktop.
   ========================================================================== */
@media (max-width: 768px) {
  html {
    scroll-padding-top: 74px !important;
  }

  body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }

  .ag-container,
  .footer-inner,
  .ag-hero__body,
  .ag-about-tech,
  .ag-photo-split,
  .ag-bridge__inner,
  .ag-cta__inner,
  .ag-fullphoto__content {
    width: 100% !important;
    max-width: 540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .nav-inner {
    max-width: none !important;
  }

  .ag-section,
  .ag-section--white,
  .ag-section--light,
  .ag-section--printer,
  .ag-contato,
  .ag-cta {
    padding-top: clamp(58px, 14vw, 76px) !important;
    padding-bottom: clamp(58px, 14vw, 76px) !important;
  }

  .ag-section-title br,
  .ag-cta__title br {
    display: none !important;
  }

  .ag-section-title,
  .ag-section-title--white,
  h2.ag-section-title,
  .ag-cta__title {
    max-width: 11.5em !important;
    margin-bottom: 18px !important;
    font-size: clamp(2rem, 8.4vw, 2.55rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -0.018em !important;
  }

  .ag-section-lead,
  .ag-section-lead--white,
  .ag-cta__text {
    max-width: 34rem !important;
    font-size: 1rem !important;
    line-height: 1.68 !important;
  }

  .ag-eyebrow,
  .ag-eyebrow--light,
  .ag-eyebrow--sage,
  .ag-hero__tag {
    margin-bottom: 14px !important;
    letter-spacing: .16em !important;
  }

  .ag-hero {
    display: flex !important;
    min-height: 100svh !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding-top: 82px !important;
    padding-bottom: 0 !important;
  }

  .ag-hero__body {
    padding-top: max(26px, 6svh) !important;
    padding-bottom: 28px !important;
  }

  .ag-hero__title,
  h1.ag-hero__title {
    max-width: 10.8em !important;
    margin-bottom: 20px !important;
    font-size: clamp(2.2rem, 10.4vw, 3.05rem) !important;
    line-height: 1.03 !important;
  }

  .ag-hero__desc {
    max-width: 31rem !important;
    margin-bottom: 24px !important;
    font-size: 1rem !important;
    line-height: 1.66 !important;
  }

  .ag-hero__ctas,
  .ag-cta__btns {
    gap: 10px !important;
  }

  .ag-btn,
  .ag-hero__ctas .ag-btn,
  .ag-cta__btns .ag-btn {
    min-height: 50px !important;
    border-radius: 4px !important;
  }

  .ag-hero__stats {
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom)) !important;
  }

  .ag-hero__stats-inner {
    max-width: 540px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .ag-stat {
    display: block !important;
    min-height: 72px !important;
    padding: 12px 8px !important;
    border-radius: 8px !important;
    text-align: center !important;
  }

  .ag-hero .ag-stat__val {
    font-size: clamp(.76rem, 3.1vw, .98rem) !important;
    line-height: 1.15 !important;
  }

  .ag-stat__lbl {
    margin-top: 5px !important;
    font-size: clamp(.42rem, 2.1vw, .5rem) !important;
  }

  .ag-section--printer {
    padding-top: 58px !important;
  }

  .ag-about-tech {
    gap: 28px !important;
  }

  .ag-about-tech .ag-photo-split__content {
    padding: 0 !important;
  }

  .ag-printer-stage {
    min-height: clamp(300px, 82vw, 430px) !important;
    border-radius: 8px !important;
    box-shadow: 0 20px 64px rgba(11,20,64,.22) !important;
  }

  .ag-connected-band {
    background:
      radial-gradient(ellipse 76% 38% at 18% 2%, rgba(159,177,212,.18), transparent 70%),
      radial-gradient(ellipse 64% 44% at 96% 54%, rgba(236,98,85,.12), transparent 70%),
      linear-gradient(150deg, #060d2e 0%, #111d58 55%, #070d2a 100%) !important;
  }

  .ag-bridge {
    padding-top: 82px !important;
    padding-bottom: 92px !important;
  }

  .ag-bridge__text {
    max-width: 12em !important;
    margin: 0 !important;
    font-size: clamp(1.58rem, 7.2vw, 2.25rem) !important;
    line-height: 1.18 !important;
  }

  .ag-connected-band .ag-section--diferenciais {
    padding-top: 84px !important;
  }

  .ag-diferenciais-grid,
  .ag-solucoes-list,
  .ag-numeros-grid,
  .ag-nacional__items {
    gap: 12px !important;
  }

  .ag-diferenciais-grid .ag-card,
  .ag-numero,
  .ag-solucoes-list .ag-solucao,
  .ag-form {
    border-radius: 8px !important;
  }

  .ag-diferenciais-grid .ag-card {
    padding: 24px 22px !important;
  }

  .ag-card__title,
  .ag-solucao__title,
  .ag-case__title {
    font-size: 1.12rem !important;
    line-height: 1.28 !important;
  }

  .ag-card__text,
  .ag-solucao__text,
  .ag-case__text,
  .ag-numero__desc {
    font-size: .94rem !important;
    line-height: 1.62 !important;
  }

  .ag-solucao__summary {
    grid-template-columns: 38px minmax(0, 1fr) 32px !important;
    gap: 10px 14px !important;
    padding: 22px 18px !important;
  }

  .ag-solucao__details {
    padding: 0 18px 22px !important;
  }

  .ag-solucao__details-grid > div {
    padding: 16px !important;
  }

  .ag-fullphoto {
    display: flex !important;
    min-height: 76svh !important;
    align-items: flex-end !important;
    padding-top: 82px !important;
    padding-bottom: 72px !important;
  }

  .ag-fullphoto__content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .ag-fullphoto__stats {
    margin-top: 28px !important;
    overflow: hidden !important;
    border-radius: 8px !important;
  }

  .ag-nacional {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  .ag-nacional__left,
  .ag-nacional__right {
    max-width: 540px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-radius: 8px !important;
  }

  .ag-numeros-grid {
    text-align: left !important;
  }

  .ag-numero {
    padding: 26px 22px !important;
    text-align: left !important;
  }

  .ag-numero__desc {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ag-cases-scroll-wrap {
    padding-left: max(20px, calc((100vw - 540px) / 2 + 20px)) !important;
    padding-right: 0 !important;
    scroll-padding-left: max(20px, calc((100vw - 540px) / 2 + 20px)) !important;
  }

  .ag-cases-scroll::after {
    content: '' !important;
    flex: 0 0 4px !important;
  }

  .ag-case,
  .ag-cases-scroll .ag-case {
    width: min(88vw, 380px) !important;
    min-width: min(88vw, 380px) !important;
    max-width: min(88vw, 380px) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .ag-case__body {
    padding: 26px 22px !important;
  }

  .ag-logo-marquee {
    margin-top: 30px !important;
    padding-top: 30px !important;
    padding-bottom: 38px !important;
  }

  .ag-contato-grid {
    gap: 28px !important;
  }

  .ag-contato-info__item {
    border-bottom: 1px solid var(--border) !important;
  }

  .ag-form {
    padding: 20px !important;
  }

  .footer-top {
    gap: 28px !important;
    padding-top: 46px !important;
  }
}

@media (max-width: 560px) {
  .ag-hero__stats-inner {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .ag-stat {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }

  .ag-section-title,
  .ag-section-title--white,
  h2.ag-section-title,
  .ag-cta__title {
    font-size: clamp(1.82rem, 8.9vw, 2.28rem) !important;
  }

  .ag-bridge__text {
    font-size: clamp(1.45rem, 7.6vw, 2rem) !important;
  }

  .ag-solucao__details {
    padding-left: 18px !important;
  }
}

@media (max-width: 380px) {
  .ag-container,
  .footer-inner,
  .ag-hero__body,
  .ag-about-tech,
  .ag-photo-split,
  .ag-bridge__inner,
  .ag-cta__inner,
  .ag-fullphoto__content {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .ag-hero__title,
  h1.ag-hero__title {
    font-size: clamp(1.9rem, 10vw, 2.15rem) !important;
  }
}

/* Bridge claro acima da linha; diferenciais continuam escuros abaixo dela. */
@media (max-width: 768px) {
  .ag-connected-band .ag-bridge {
    padding-top: 72px !important;
    padding-bottom: 78px !important;
    background:
      radial-gradient(circle at 12% 18%, rgba(159,177,212,0.18), transparent 30%),
      radial-gradient(circle at 92% 76%, rgba(184,196,176,0.14), transparent 32%),
      linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%) !important;
  }

  .ag-connected-band .ag-bridge .ag-eyebrow,
  .ag-connected-band .ag-bridge .ag-eyebrow--light {
    color: var(--navy) !important;
  }

  .ag-connected-band .ag-bridge .ag-eyebrow::before,
  .ag-connected-band .ag-bridge .ag-eyebrow--light::before {
    background: var(--navy) !important;
  }

  .ag-connected-band .ag-bridge__text {
    max-width: 12.5em !important;
    color: var(--charcoal) !important;
  }

  .ag-connected-band .ag-bridge__text strong {
    background: none !important;
    -webkit-background-clip: initial !important;
            background-clip: initial !important;
    -webkit-text-fill-color: var(--navy) !important;
    color: var(--navy) !important;
  }

  .ag-connected-band .ag-bridge::after {
    display: none !important;
  }

  .ag-connected-band .ag-section--diferenciais {
    padding-top: 84px !important;
  }
}

/* Ajustes pontuais mobile: quebras de titulo e logos corporativos. */
@media (max-width: 768px) {
  .ag-nacional__right .ag-section-title br,
  .ag-cta__title br {
    display: block !important;
  }

  .ag-nacional__right .ag-section-title strong,
  .ag-cta__title strong {
    display: block !important;
  }

  .ag-case__logo--corporate {
    min-height: 92px !important;
    grid-template-rows: repeat(2, 38px) !important;
    gap: 12px 18px !important;
    margin-bottom: 20px !important;
  }

  .ag-case__logo--corporate img {
    width: auto !important;
    height: auto !important;
    max-width: 118px !important;
    max-height: 34px !important;
    transform: scale(1.18) !important;
    transform-origin: center !important;
  }

  .ag-case__logo--corporate img[alt="Localiza"] {
    max-width: 116px !important;
    max-height: 28px !important;
    transform: scale(1.34) !important;
  }

  .ag-case__logo--corporate img[alt="FedEx"] {
    max-width: 96px !important;
    max-height: 28px !important;
    transform: scale(1.18) !important;
  }

  .ag-case__logo--corporate img[alt="Dasa"],
  .ag-case__logo--corporate img[alt="Crefisa"] {
    max-width: 106px !important;
    max-height: 28px !important;
    transform: scale(1.24) !important;
  }
}

/* E-commerce mobile: camada final para a nova vitrine de peças. */
@media (max-width: 768px) {
  .agil-logo,
  .agil-logo-img--brand {
    width: 112px !important;
    height: auto !important;
    max-width: none !important;
  }

  .ag-shop-hero {
    min-height: auto !important;
  }

  .ag-shop-hero__grid {
    display: block !important;
    padding: 104px 20px 38px !important;
  }

  .ag-shop-hero .ag-hero__title,
  .ag-shop-hero .ag-hero__desc {
    max-width: none !important;
  }

  .ag-shop-panel {
    margin-top: 32px !important;
    border-radius: 8px !important;
  }

  .ag-shop-panel__head,
  .ag-shop-panel__foot {
    padding: 18px !important;
  }

  .ag-shop-search {
    margin: 18px !important;
  }

  .ag-shop-mock-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 18px 18px !important;
    gap: 10px !important;
  }

  .ag-shop-mock-grid div {
    min-height: 104px !important;
  }

  .ag-shop-category-grid,
  .ag-product-grid,
  .ag-shop-process .ag-diferenciais-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .ag-shop-category-card,
  .ag-product-card,
  .ag-shop-benefit-list div {
    border-radius: 8px !important;
  }

  .ag-shop-category-card {
    min-height: auto !important;
    padding: 24px 22px !important;
  }

  .ag-shop-section-head {
    display: block !important;
    margin-bottom: 26px !important;
  }

  .ag-shop-section-head .ag-btn {
    margin-top: 16px !important;
  }

  .ag-shop-filters {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .ag-shop-filters button {
    flex: 0 0 auto !important;
  }

  .ag-product-card__media {
    min-height: 176px !important;
  }

  .ag-product-card__body {
    padding: 22px !important;
  }

  .ag-shop-quote-band {
    padding: 72px 0 !important;
  }

  .ag-shop-quote-band__inner {
    text-align: left !important;
  }

  .ag-shop-quote-band .ag-eyebrow {
    justify-content: flex-start !important;
  }

  .ag-shop-split {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .ag-shop-benefit-list div {
    padding: 20px !important;
  }
}
