@media (max-width: 1024px) {
  .hc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 781px) {
  body.hc-site { font-size: 16px; }

  .hc-section { padding-block: 58px; }
  .hc-section--compact { padding-block: 42px; }

  .hc-grid--2,
  .hc-grid--3,
  .hc-grid--4 {
    grid-template-columns: 1fr;
  }

  .hc-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hc-btn,
  .wp-block-button.hc-btn,
  .wp-block-button.hc-btn > .wp-block-button__link {
    width: 100%;
  }

  .hc-hero {
    padding-block: 58px 64px;
  }

  /* Homepage hero starts immediately below the mobile header. */
  .hc-home-hero {
    padding-top: 0;
    padding-bottom: 0;
  }

  .hc-hero h1 {
    font-size: clamp(2.5rem, 11vw, 3.45rem);
    line-height: 1.02;
  }

  .hc-hero__lead {
    font-size: 1.02rem;
    line-height: 1.58;
  }

  .hc-card {
    padding: 22px;
  }

  .hc-card:hover {
    transform: none;
  }

  .site-header .inside-header {
    min-height: 74px;
  }
}

@media (max-width: 520px) {
  :root {
    --hc-gutter: 15px;
  }
}

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

@media (max-width: 781px) {
  body.hc-site .site-header .inside-header,
  body.hc-site .main-navigation .inside-navigation {
    width: calc(100% - 30px);
  }

  body.hc-site .site-header .inside-header {
    min-height: 74px;
  }

  body.hc-site .site-logo img,
  body.hc-site .header-image {
    width: 50px;
    height: 50px;
  }

  body.hc-site .site-branding .main-title,
  body.hc-site .site-branding .main-title a {
    font-size: 1.16rem;
  }

  body.hc-site .site-description {
    font-size: .75rem;
  }
}


@media (max-width: 1024px) {
  .hc-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hc-process-card {
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .hc-process-card:nth-child(2) {
    border-right: 0;
    padding-right: 0;
  }

  .hc-process-card:nth-child(3) {
    padding-left: 0;
  }

  .hc-process-card:nth-child(3),
  .hc-process-card:nth-child(4) {
    border-bottom: 0;
  }

  .hc-process-card:nth-child(2)::after { display: none; }
}

@media (max-width: 781px) {
  .hc-section-head {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 32px;
  }

  .hc-section-head h2 {
    font-size: 2.15rem;
    line-height: 1.05;
  }

  .hc-section-head__intro {
    font-size: .98rem;
    line-height: 1.62;
  }

  .hc-process-grid {
    grid-template-columns: 1fr;
  }

  .hc-process-card,
  .hc-process-card:first-child,
  .hc-process-card:nth-child(2),
  .hc-process-card:nth-child(3),
  .hc-process-card:last-child {
    padding: 24px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }

  .hc-process-card:last-child { border-bottom: 0; }
  .hc-process-card::after { display: none; }
  .hc-process-card__number { margin-bottom: 14px; }
}
