/* Responsive rules for all website modules */

@media(max-width:1050px) {
  .primary-navigation {
    gap: 13px;
  }

  .primary-navigation a {
    font-size: .82rem;
  }
}

@media(max-width:1050px) {
  .cert-grid {
    grid-template-columns: repeat(3,1fr);
  }
}

@media(max-width:900px) {
  .topbar {
    display: none;
  }

  .menu-button {
    display: block;
  }

  .header-inner {
    min-height: 88px;
  }

  .site-logo {
    height: 64px;
    max-width: 220px;
  }

  .primary-navigation {
    position: absolute;
    top: 88px;
    right: 20px;
    left: 20px;
    display: none;
    padding: 20px;
    align-items: stretch;
    background: #fff;
    border-radius: 10px;
    box-shadow: var(--shadow);
  }

  .primary-navigation.is-open {
    display: grid;
  }
}

@media(max-width:900px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .hero-panel {
    max-width: 650px;
  }

  .proof-grid,.process-list {
    grid-template-columns: repeat(2,1fr);
  }

  .proof-grid div:nth-child(2) {
    border-right: 0;
  }
}

@media(max-width:900px) {
  .split-layout,.about-grid,.service-area-grid,.faq-grid {
    grid-template-columns: 1fr;
    gap: 45px;
  }
}

@media(max-width:900px) {
  .card-grid,.reviews-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .reviews-heading-row,.final-cta-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .review-buttons {
    justify-content: flex-start;
  }
}

@media(max-width:900px) {
  .footer-grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width:620px) {
  body {
    font-size: 16px;
  }

  .container {
    width: min(calc(100% - 28px),var(--max));
  }

  .section {
    padding: 68px 0;
  }
}

@media(max-width:620px) {
  .header-inner {
    min-height: 80px;
  }

  .site-logo {
    height: 54px;
    max-width: 185px;
  }

  .primary-navigation {
    top: 80px;
    right: 14px;
    left: 14px;
  }
}

@media(max-width:620px) {
  .hero-grid {
    min-height: auto;
    padding-top: 65px;
    padding-bottom: 65px;
  }

  .hero h1 {
    font-size: clamp(2.55rem,13vw,4rem);
  }

  .hero-actions,.hero-actions .button,.final-actions,.final-actions .button,.review-buttons,.review-buttons .button {
    width: 100%;
  }

  .trust-list {
    display: grid;
  }

  .proof-grid,.card-grid,.process-list,.reviews-grid,.cert-grid,.footer-grid {
    grid-template-columns: 1fr;
  }

  .proof-grid div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.2);
  }

  .proof-grid div:last-child {
    border-bottom: 0;
  }
}

@media(max-width:620px) {
  .cert-card img {
    height: 200px;
  }
}

@media(max-width:620px) {
  .simple-card {
    padding: 22px;
  }

  .contact-form {
    padding: 15px;
  }
}

@media(max-width:620px) {
  .footer-bottom {
    flex-direction: column;
  }
}

@media(max-width:1100px){
  .primary-navigation{gap:15px;}
  .primary-navigation a{font-size:.84rem;}
}
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
}
