/* ----------------- LAPTOP ----------------- */

@media (max-width: 1200px) {

  .hero__title {

    font-size:
      clamp(3rem, 7vw, 5rem);

  }

}

/* ----------------- TABLET ----------------- */

@media (max-width: 1024px) {

  /* NAVIGATION */

  .main-navigation {

    display: none;

  }

  .mobile-toggle {

    display: block;

  }

  /* HERO */

  .hero {

    padding-top: 8rem;

  }

  .hero__title {

    font-size:
      clamp(2.8rem, 9vw, 4.5rem);

  }

  .hero__description {

    max-width: 100%;

  }

  /* FOOTER */

  .footer-content {

    flex-direction: column;

  }

  .footer-links {

    align-items: flex-start;

  }

}

/* ----------------- MOBILE ----------------- */

@media (max-width: 768px) {

  .section {

    padding-block: 5rem;

  }

  .container {

    width: 90vw;

  }

  /* HERO */

  .hero {

    min-height: auto;

    padding-top: 9rem;

    padding-bottom: 6rem;

  }

  .hero__title {

    font-size:
      clamp(2.5rem, 11vw, 4rem);

  }

.hero__description {

  font-size: 0.95rem;
  
  line-height: 1.8;

}
  
  
  /* SOLUTIONS */
  
.solutions-grid, 
.about-grid,
.differentials-grid,
.contact-grid {

  grid-template-columns: 1fr;

}

  /* SECTION TITLES */

  .section-title {

    font-size:
      clamp(2rem, 9vw, 3rem);

  }

  /* BUTTONS */

  .primary-button,
  .outline-button {

    width: 100%;

  }

}

/* ----------------- SMALL MOBILE ----------------- */

@media (max-width: 480px) {

  .hero__title {

    font-size:
      clamp(2.2rem, 12vw, 3.2rem);

  }

  .section-tag {

    font-size: 0.62rem;

  }

  .mobile-menu a {

    font-size: 0.74rem;

  }

}


/* ----------------- INTERNAL PAGES MOBILE ----------------- */

@media (max-width: 768px) {

  .internal-hero {

    min-height: auto;

    padding-top: 10rem;

    padding-bottom: 5rem;

  }

  .internal-content {

    max-width: 100%;

  }

  .internal-content p,
  .narrative-section p {

    font-size: 1rem;

    line-height: 1.95;

  }

  .feature-grid {

    grid-template-columns: 1fr;

  }

  .editorial-quote {

    padding: 2.5rem;

  }

  .editorial-quote blockquote {

    font-size:
      clamp(1.8rem, 8vw, 2.8rem);

    line-height: 1.14;

  }

  .audience-item {

    gap: 1rem;

  }

  .editorial-section {

    padding-block: 5.5rem;

  }

}


/* ----------------- FOOTER MOBILE ----------------- */

@media (max-width: 992px) {

  .footer-content--expanded {

    grid-template-columns: 1fr;

    gap: 3rem;

  }

  .footer-brand {

    max-width: 100%;

  }

  .footer-logo {

    width: 160px;

  }

}

/* ----------------- TYPOGRAPHY REFINEMENT ----------------- */

@media (max-width: 768px) {

  .section-title {

    letter-spacing: -0.03em;

  }

  .hero__title {

    letter-spacing: -0.04em;

  }

  .hero__description {

    max-width: 100%;

  }

  .gold-line {

    margin-block: 2rem;

  }

}

/* ----------------- CARD ATMOSPHERE ----------------- */

@media (hover: none) {

  .card:hover {

    transform: none;

  }

}


/* ----------------- IOS SAFARI STABILITY FIX ----------------- */

@supports (-webkit-touch-callout: none) {

  body::before,
  body::after {
    display: none;
  }

  .internal-hero::before,
  .internal-hero::after,
  .hero::before,
  .hero::after,
  .site-footer::before {
    display: none;
  }

  .reveal {
    filter: none !important;

    transition:
      opacity 650ms ease,
      transform 650ms cubic-bezier(.16,1,.3,1) !important;
  }

  .reveal.active {
    filter: none !important;
  }

  .site-header,
  .card,
  .glass {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .internal-hero::before,
  .internal-hero::after {
    animation: none !important;
  }

}