/* ============================================================
   Brandão Torres Construtora — Responsivo: breakpoints e prefers-reduced-motion
   Ordem de carregamento: 7 de 7 (não altere a ordem dos <link>
   no index.html — a cascata do CSS depende dela).
   ============================================================ */

/* mobile */
@media(max-width:960px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 44px
  }

  .hero {
    padding-top: 112px
  }

  .hero-frame {
    aspect-ratio: 4/3.4
  }

  .sobre-grid,
  .contato-grid {
    grid-template-columns: 1fr;
    gap: 52px
  }

  .metodo-in {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .w-a,
  .w-b,
  .w-c,
  .w-d,
  .w-e,
  .w-f {
    grid-column: span 12;
    aspect-ratio: 4/3.2
  }

  .step {
    grid-template-columns: 52px 1fr;
    gap: 14px
  }

  .step p {
    grid-column: 2
  }

  .year-chip {
    left: 16px
  }

  .nav-links,
  .nav-cta {
    display: none
  }

  .burger {
    display: block
  }

  .m-menu {
    position: fixed;
    inset: 0;
    background: var(--ink);
    z-index: 55;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 8vw;
    gap: 8px;
    clip-path: inset(0 0 100% 0);
    transition: clip-path .55s cubic-bezier(.77, 0, .18, 1);
  }

  body.menu-open .m-menu {
    clip-path: inset(0 0 0 0)
  }

  body.menu-open {
    overflow: hidden
  }

  body.menu-open .burger span:nth-child(1) {
    transform: translateY(7.5px) rotate(45deg)
  }

  body.menu-open .burger span:nth-child(2) {
    opacity: 0
  }

  body.menu-open .burger span:nth-child(3) {
    transform: translateY(-7.5px) rotate(-45deg)
  }

  .m-menu a {
    font-size: 34px;
    font-weight: 600;
    letter-spacing: -.02em;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-family: var(--disp);
  }

  .m-menu .btn {
    margin-top: 26px;
    justify-content: center;
    font-size: 12px
  }

  .scroll-cue {
    display: none
  }

  .hero-stats {
    grid-template-columns: 1fr;
    border-top: 0
  }

  .stat {
    border-right: 0;
    border-top: 1px solid var(--line);
    padding: 22px 0
  }

  .crescents {
    width: 100px;
    top: -40px;
    right: 4px
  }
}

@media(min-width:961px) {
  .m-menu {
    display: none
  }
}

@media(prefers-reduced-motion:reduce) {

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important
  }

  html {
    scroll-behavior: auto
  }

  .rv,
  .mask-line span {
    opacity: 1;
    transform: none
  }

  .hero-frame {
    clip-path: none
  }
}
