/* ======================================== */
/* LARGE SCREENS */
/* ======================================== */

@media (max-width: 1400px) {

  .hero h1 {
    font-size: 72px;
  }

  .section-header h2,
  .security-left h2,
  .contact-info h2 {
    font-size: 48px;
  }

}

/* ======================================== */
/* LAPTOP */
/* ======================================== */

@media (max-width: 1200px) {

  .features-grid,
  .services-grid,
  .clients-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .security-container,
  .contact-wrapper,
  .footer-container {
    grid-template-columns: 1fr;
  }

  .security-right {
    order: -1;
  }

  .hero h1 {
    font-size: 64px;
  }

}

/* ======================================== */
/* TABLET */
/* ======================================== */

@media (max-width: 992px) {

  section {
    padding: 90px 0;
  }

  .navbar {
    padding: 18px 0;
  }

  .logo img {
    width: 180px;
  }

  /* MOBILE MENU */

  .nav-menu {

    position: fixed;

    top: 0;
    right: -100%;

    width: 320px;
    height: 100vh;

    background: rgba(6,6,26,0.98);

    backdrop-filter: blur(20px);

    flex-direction: column;

    justify-content: center;
    align-items: center;

    gap: 35px;

    transition: 0.4s ease;

    z-index: 1001;
  }

  .nav-menu.active {
    right: 0;
  }

  .nav-menu a {
    font-size: 20px;
  }

  .mobile-toggle {

    display: flex;

    background: none;
    border: none;

    color: white;

    font-size: 28px;

    cursor: pointer;

    z-index: 1002;
  }

  .navbar .btn-primary {
    display: none;
  }

  /* HERO */

  .hero {
    padding-top: 120px;
  }

  .hero h1 {
    font-size: 56px;
  }

  .hero p {
    font-size: 18px;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: flex-start;
  }

  /* FEATURES */

  .features-section {
    margin-top: 0;
  }

  .features-grid {
    grid-template-columns: 1fr 1fr;
  }

  /* SERVICES */

  .services-grid {
    grid-template-columns: 1fr;
  }

  /* SECURITY */

  .security-items {
    grid-template-columns: 1fr;
  }

  /* CONTACT */

  .contact-wrapper {
    padding: 50px;
  }

}

/* ======================================== */
/* MOBILE */
/* ======================================== */

@media (max-width: 768px) {

  .container {
    width: 92%;
  }

  section {
    padding: 80px 0;
  }

  /* HEADINGS */

  .section-header {
    margin-bottom: 50px;
  }

  .section-header h2,
  .security-left h2,
  .contact-info h2 {

    font-size: 40px;

    line-height: 1.2;
  }

  .section-header p,
  .security-left p,
  .contact-info p {

    font-size: 16px;
  }

  /* HERO */

  .hero {

    min-height: 90vh;

    background-position: center;
  }

  .hero h1 {

    font-size: 48px;

    line-height: 1.05;
  }

  .hero p {

    font-size: 16px;

    line-height: 1.8;
  }

  .hero-buttons {
    width: 100%;
  }

  .hero-buttons a {
    width: 100%;
  }

  /* FEATURES */

  .features-grid {
    grid-template-columns: 1fr;
  }

  .feature-card {
    padding: 35px;
  }

  /* CLIENTS */

  .clients-grid {
    grid-template-columns: 1fr;
  }

  /* CONTACT */

  .contact-wrapper {
    padding: 40px 30px;
    border-radius: 24px;
  }

  .contact-form input,
  .contact-form textarea {
    padding: 18px;
  }

  /* FOOTER */

  .footer {
    padding-top: 70px;
  }

  .footer-container {
    gap: 40px;
  }

}

/* ======================================== */
/* SMALL MOBILE */
/* ======================================== */

@media (max-width: 576px) {

  .hero h1 {
    font-size: 40px;
  }

  .section-header h2,
  .security-left h2,
  .contact-info h2 {
    font-size: 34px;
  }

  .feature-card,
  .service-card,
  .contact-wrapper {
    padding: 30px;
  }

  .security-card {
    padding: 40px;
    min-height: auto;
  }

  .btn-primary,
  .btn-secondary {

    width: 100%;

    text-align: center;
  }

}

/* ======================================== */
/* EXTRA SMALL */
/* ======================================== */

@media (max-width: 400px) {

  .hero h1 {
    font-size: 34px;
  }

  .section-header h2,
  .security-left h2,
  .contact-info h2 {
    font-size: 30px;
  }

  .feature-card,
  .service-card {
    padding: 24px;
  }

}