/* Phone typography and editorial margins. Desktop composition stays independent. */
@media (max-width: 767.98px) {
  #mxd-page-content { --fd-reading-gutter: clamp(2.4rem, 7vw, 4rem); }
  #mxd-page-content :is(.findigital-service-hero, .findigital-blog-hero) h1,
  #mxd-page-content h1.fd-onpage-project-title,
  #mxd-page-content .findigital-project-hero h1 {
    font-size: clamp(2.5rem, 6.65vw, 4.2rem);
    line-height: 1.12;
  }
  #mxd-page-content .findigital-blog-hero h1 { font-size: clamp(2.65rem, 6.65vw, 4.6rem); }
  #mxd-page-content .findigital-about-hero h1 { font-size: 7.8vw; }
  #mxd-page-content .findigital-contact-hero h1 { font-size: min(8.6vw, 12.6cqi); }
  #mxd-page-content .findigital-privacy-hero h1 { font-size: clamp(2.8rem, 9.8vw, 5.6rem); }
  #mxd-page-content .findigital-article-hero__title {
    width: auto; max-width: 30ch; margin-inline: auto;
    font-size: clamp(2.1rem, 6.65vw, 2.8rem); line-height: 1.15;
    letter-spacing: -.035em; overflow-wrap: anywhere;
  }
  #mxd-page-content :is(.findigital-blog-list__container, .findigital-blog-hero__content,
    .findigital-article-featured, .findigital-article-hero > .mxd-container) {
    width: 100%; box-sizing: border-box; padding-inline: var(--fd-reading-gutter);
  }
  #mxd-page-content .findigital-article-body { width: calc(100% - 2 * var(--fd-reading-gutter)); }
  #mxd-page-content :is(.findigital-service-overview,.findigital-project-overview,
    .findigital-about-intro,.findigital-service-deep-dive) h2 { font-size: clamp(2.6rem, 6.8vw, 4rem); }
  #mxd-page-content .fd-about-heading, #mxd-page-content .fd-onpage-block h2 { font-size: clamp(2.15rem, 5.5vw, 3.45rem); }
  #mxd-page-content .fd-about-card__title { font-size: clamp(2rem, 5.1vw, 3rem); }
  #mxd-page-content :is(.findigital-service-faq,.findigital-project-faq) h2 { font-size: clamp(4.8rem, 15.2vw, 7rem); }
  #mxd-page-content .findigital-portfolio-showcase__title { font-size: clamp(3.8rem, 12vw, 6rem); }
}

.findigital-directory-card--f-all {
  order: 2;
}

.findigital-directory-card--f-all .findigital-directory-card__media {
  aspect-ratio: 1;
}

.findigital-directory-detail--f-all .findigital-project-media--primary img {
  aspect-ratio: 1;
}

.findigital-directory-detail--f-all .findigital-project-overview__details h3 {
  margin: 0 0 1.4rem;
  color: var(--fd-theme-fg);
  font-size: clamp(2.3rem, 2vw, 3.8rem);
}

.findigital-directory-detail--f-all .findigital-project-overview__details p {
  max-width: 56ch;
  color: var(--fd-theme-fg);
  font-size: clamp(1.7rem, 1.25vw, 2.25rem);
}

.findigital-directory-detail--f-all .findigital-project-overview__details p a {
  text-decoration: underline;
  text-underline-offset: .15em;
}

@media (min-width: 992px) {
  .findigital-directories-showcase__gallery {
    grid-template-columns: .8fr 1fr .86fr;
  }

  .findigital-directory-card--f-all {
    margin-top: clamp(2rem, 4vw, 7rem);
  }
}

@media (max-width: 991.98px) {
  .findigital-directory-card--f-all { width: 86%; }
}

@media (max-width: 767.98px) {
  .findigital-directory-detail--findhere .findigital-project-media--secondary img { object-position: 88% center; }
  .findigital-service-page--social .findigital-service-image--secondary img { object-position: right center; }
  .findigital-service-page--aivisibility .findigital-service-image img { object-position: left center; }
  .findigital-service-page--chatbots .findigital-service-image--secondary img { object-position: left center; }
}

/* The longest Greek word in this closing heading must fit between the phone gutters. */
@media (max-width: 575.98px) {
  .findigital-project-cta--elarisa h2 {
    max-width: 100%;
    font-size: clamp(3.2rem, 10vw, 4.8rem);
    line-height: 1.05;
  }
}

/* Keep the service link area at the same coordinates when physics starts. */
@media (prefers-reduced-motion: no-preference) {
  .findigital-footer__promo .mxd-promo__wrap.auto-height {
    padding-bottom: 34rem;
    isolation: isolate;
  }

  .findigital-footer__gravity {
    position: absolute;
    inset: 0;
    z-index: 2;
    margin-top: 0;
    pointer-events: none;
  }

  .findigital-footer .findigital-footer__service-boxes {
    height: 100%;
  }

  .findigital-footer__gravity .object {
    pointer-events: auto;
  }
}

@media (max-width: 767.98px) and (prefers-reduced-motion: no-preference) {
  .findigital-footer__promo .mxd-promo__wrap.auto-height {
    padding-bottom: 38.4rem;
  }
}

/* Match the other directory project titles in the wider hero layout. */
@media (min-width: 768px) {
  .findigital-directory-detail--f-all .fd-onpage-project-title {
    font-size: clamp(4.2rem, 6vw, 9.2rem);
    line-height: 1.08;
    overflow-wrap: normal;
  }
}
