/* ===========================
   MOBILE (767px and below)
=========================== */

@media (max-width: 767px) {
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 50px;

    width: 92%;
    padding: 40px 0 60px;
  }

  .hero-left {
    max-width: 100%;
  }

  .hero-right {
    justify-content: center;
    order: -1;
  }

  .hero-right img {
    width: 100%;
    max-width: 340px;

    height: auto;

    aspect-ratio: 3/4;

    object-fit: cover;
  }

  .hero-role {
    font-size: 0.95rem;

    line-height: 1.8;

    margin-bottom: 20px;
  }

  .hero h1 {
    font-size: clamp(2.6rem, 10vw, 3.8rem);

    line-height: 1.1;

    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  nav {
    padding: 20px 0;
  }

  .logo {
    font-size: 2rem;
  }

  .nav-links {
    gap: 18px;
  }

  .nav-links a {
    font-size: 0.95rem;
  }
}
@media (max-width: 767px) {
  h2 {
    font-size: 2.3rem;
  }
}
@media (max-width: 767px) {
  .menu-btn {
    display: block;

    background: none;

    border: none;

    font-size: 2rem;

    cursor: pointer;

    color: var(--white);
  }

  .navbar ul {
    display: none;
  }

  .navbar ul.active {
    display: flex;

    position: absolute;

    top: 90px;

    left: 0;

    width: 100%;

    background: var(--grey);
    color: var(--deep-teal);

    flex-direction: column;

    gap: 25px;

    padding: 30px;

    text-align: center;

    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
  }
}

@media (max-width: 767px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 40px;
    text-align: center;

    width: 92%;
    padding: 40px 0 70px;
  }

  .hero-left {
    max-width: 100%;
  }

  .hero-right {
    justify-content: center;
  }
}
@media (max-width: 767px) {
  .contact-info {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* Large Desktop */
@media (min-width: 1200px) {
  .hero {
    grid-template-columns: 58% 42%;
    gap: 80px;
  }

  .hero-right {
    justify-content: flex-end;
  }

  .hero-right img {
    width: 800px;
    max-width: 100%;
    height: 680px;
  }
}
@media (max-width: 767px) {
  .hero-role {
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }
}
