/* Header responsive layout */
@media (max-width: 1550px) {
  .btn-1 {
    min-width: 230px !important;
    min-height: 46px !important;
    font-size: 16px !important;
  }

  .masthead-logo .custom-logo {
    max-width: 250px;
  }

  .home-banner-section,
  .home-banner-section .home-banner {
    min-height: 600px;
  }

  .container,
  .landing-contact-section .container {
    max-width: 90%;
  }
}

@media (max-width: 1199px) {
  .masthead-shell {
    gap: 24px;
  }

  .masthead-logo .custom-logo {
    max-width: 230px;
  }

  #masthead .masthead-menu {
    gap: 22px;
  }

  #masthead .nav>li>a {
    font-size: 15px;
  }

  #masthead .masthead-menu>li:last-child {
    margin-left: 10px;
  }

  .home-banner-section,
  .home-banner-section .home-banner {
    min-height: 500px;
  }

  .container,
  .landing-contact-section .container {
    max-width: 95%;
  }
}

@media (min-width: 768px) and (max-width: 992px) {

  .container,
  .landing-contact-section .container {
    max-width: 95%;
  }

  .home-banner-section,
  .home-banner-section .home-banner {
    min-height: 450px;
  }

  .vision-content-row {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .vision-left,
  .vision-right {
    max-width: 100%;
  }

  .problem-top-row {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-bottom: 28px;
  }

  .problem-top-left,
  .problem-top-right {
    max-width: 100%;
  }

  .problem-top-right {
    justify-self: start;
  }

  .problem-cards {
    grid-template-columns: 1fr;
  }

  .platform-top {
    margin-bottom: 32px;
  }

  .platform-cards {
    grid-template-columns: 1fr;
  }

  .human-loop-top {
    margin-bottom: 32px;
  }

  .human-loop-cards {
    grid-template-columns: 1fr;
  }

  .why-it-works-top {
    margin-bottom: 32px;
  }

  .platform-card-title {
    font-size: 25px;
  }

  p,
  .platform-card-description li {
    font-size: 15px;
  }
}


@media (max-width: 768px) {

  .home-banner-section,
  .home-banner-section .home-banner {
    min-height: 420px;
  }

  .home-banner-content {
    max-width: 100%;
    padding: 60px 0 20px;
  }

  .request-conversation-section {
    padding: 30px 0;
  }

  .request-conversation-wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  .vision-top {
    margin-bottom: 28px;
  }

  .vision-heading {
    font-size: 20px;
    line-height: 1.3;
  }

  .vision-content-row {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .vision-left,
  .vision-right {
    max-width: 100%;
  }

  .vision-left h3 {
    font-size: 25px;
  }

  .problem-top-row {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 24px;
  }

  .problem-top-left,
  .problem-top-right {
    max-width: 100%;
  }

  .problem-top-right {
    justify-self: start;
  }

  .problem-badge {
    margin-bottom: 12px;
    font-size: 18px;
  }

  .problem-left-content h1,
  .problem-left-content h2,
  .problem-left-content h3,
  .problem-left-content h4 {
    font-size: 20px;
    line-height: 1.3;
  }

  .problem-top-right p+p {
    margin-top: 16px;
  }

  .problem-cards {
    grid-template-columns: 1fr;
  }

  .problem-card {
    min-height: auto;
    padding: 24px 20px;
  }

  .problem-card-title {
    font-size: 25px;
  }

  .platform-top {
    margin-bottom: 28px;
  }

  .platform-description h1,
  .platform-description h2,
  .platform-description h3,
  .platform-description h4 {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 16px;
  }

  .platform-cards {
    grid-template-columns: 1fr;
  }

  .platform-card {
    padding: 24px 20px;
  }

  .platform-card-title {
    font-size: 25px;
  }

  .human-loop-top {
    margin-bottom: 28px;
  }

  .human-loop-description h1,
  .human-loop-description h2,
  .human-loop-description h3,
  .human-loop-description h4 {
    font-size: 20px;
    line-height: 1.3;
    margin-bottom: 16px;
  }

  .human-loop-cards {
    grid-template-columns: 1fr;
    margin-bottom: 28px;
  }

  .human-loop-card {
    min-height: auto;
    padding: 24px 20px;
  }

  .human-loop-card-number {
    font-size: 44px;
    margin-bottom: 20px;
  }

  .human-loop-card-title {
    font-size: 25px;
    margin-bottom: 12px;
  }

  .human-loop-bottom p {
    font-size: 20px;
    line-height: 1.4;
  }

  .why-it-works-top {
    margin-bottom: 28px;
  }

  .why-it-works-top h1,
  .why-it-works-top h2,
  .why-it-works-top h3,
  .why-it-works-top h4 {
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 16px;
  }

  .why-it-works-card {
    padding: 25px;
  }

  .why-it-works-card-icon {
    width: 70px;
    height: 70px;
    padding: 12px;
  }

  .why-it-works-card-title {
    font-size: 25px;
  }

  .direct-materials-callout-content h1 {
    margin-bottom: 18px;
  }

  .footer-bar-inner {
    min-height: 82px;
    padding: 16px 0;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 8px;
  }

  .footer-bar-links {
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
  }

  .footer-bar-copy,
  .footer-bar-links,
  .footer-bar-links a,
  .footer-bar-separator {
    font-size: 14px;
  }

  .btn-1,
  .btn-2 {
    min-width: 200px !important;
    min-height: 44px !important;
  }

  .btn-3 {
    padding: 7px 20px !important;
  }

  .problem-card-icon {
    width: 70px;
    height: 70px;
    padding: 12px;
  }

  :where(.wp-block-columns) {
    margin-bottom: 0;
  }

  .why-it-works-card-icon img {
    height: 45px !important;
  }

}

@media (max-width:580px) {
  .pa-404-section {
    min-height: 100vh;
  }

  .landing-next-section {
    background: linear-gradient(to bottom, var(--d-blue) 0, var(--d-blue) 35%, #f6f6f6 35%, #f6f6f6 100%);
  }

  .landing-next-hero {
    padding: 56px 0 28px;
  }

  .landing-next-meta span {
    margin: 0 6px;
  }

  .landing-next-card {
    padding: 24px 22px 30px;
    text-align: center;
  }

  .landing-next-card-title {
    margin-bottom: 14px;
  }

  .landing-next-button {
    min-width: 100%;
  }

  .landing-next-join {
    padding: 55px 0 10px;
  }

  .landing-next-join-title {
    margin-bottom: 14px;
  }

  .landing-contact-section {
    padding: 56px 0 64px;
  }

  .landing-contact-heading-wrap {
    margin-bottom: 24px;
  }

  .landing-contact-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .landing-contact-card {
    min-height: 420px;
  }

  .landing-contact-card-visual {
    min-height: 320px;
    padding: 0;
  }

  .landing-contact-social {
    bottom: 16px;
    padding: 0 18px;
  }

  .landing-contact-content {
    max-width: 100%;
  }

  .team-member img {
    width: 100% !important;
    height: auto;
  }

  .landing-contact-social .social-icons-shortcode__link {
    width: 45px;
    height: 45px;
    font-size: 18px;
  }

  .landing-contact-social .social-icons-shortcode__link.is-email::after {
    width: 21px;
    height: 18px;
  }

  .landing-next-meta {
    margin-bottom: 15px;
  }
}
