@media (min-width: 720px) {
  .discipline-grid {
    grid-template-columns: 1fr 1fr;
  }

  .discipline-wide,
  .discipline-custom {
    grid-column: 1 / -1;
  }

  .steps {
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
  }

  .principles {
    grid-template-columns: repeat(3, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 32px;
  }
}

@media (min-width: 960px) {
  :root {
    --header: 96px;
  }

  .brand img {
    width: 186px;
  }

  .site-menu {
    display: none;
  }

  .nav-bar {
    display: flex;
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.75fr);
    align-items: center;
    min-height: min(820px, calc(100svh - var(--header)));
    padding: 48px 0 64px;
  }

  .section {
    padding: 104px 0;
  }

  .section-head {
    margin-bottom: 40px;
  }

  .manifesto-grid,
  .split {
    grid-template-columns: 1.15fr 0.85fr;
    gap: 56px;
    align-items: start;
  }

  .sheet-sticky {
    position: sticky;
    top: calc(var(--header) + 20px);
  }

  .discipline {
    min-height: 280px;
  }

  .discipline-wide {
    min-height: 340px;
  }

  .closing {
    padding: 112px 0;
  }

  .whatsapp-float {
    right: 22px;
    bottom: 22px;
  }
}

@media (max-width: 959px) {
  .hero-mark {
    display: none;
  }
}

@media (max-width: 719px) {
  .container {
    width: calc(100% - 32px);
  }

  .hero-actions,
  .hero-actions .button,
  .closing .button,
  .sheet .button {
    width: 100%;
  }

  .spec-list div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }

  .button:hover,
  .discipline:hover {
    transform: none;
  }
}
