/* Mobile composition: centred headings/actions, readable long-form copy.
 * Shared across ES/EN/NL. Desktop retains its editorial grid.
 */
@media (max-width: 767px) {
  .section { padding-block: 4rem; }
  .section-intro, .process__intro { text-align: center; }
  .section-intro--split, .process__intro { gap: 1.5rem; }
  .section-intro__title, .process__title, .why__title, .faq__title {
    max-width: 100%;
    margin-inline: auto;
    line-height: 1.12;
    text-wrap: balance;
  }
  .section-intro__lead, .process__lead, .why__lead, .faq__lead {
    max-width: 44ch;
    margin-inline: auto;
    text-align: center;
    line-height: 1.65;
  }
  .button-row, .about-actions { justify-content: center; }
  .button { max-width: 100%; text-align: center; line-height: 1.4; }
  .button .icon, .nx-cta__arrow { flex-shrink: 0; }

  /* A consistent opaque header remains legible over the ivory sections. */
  .site-header.is-scrolled, .has-hero .site-header.is-scrolled { background: #100c16f5; }
  .mobile-nav, .mobile-nav__list { text-align: center; }
  .mobile-nav .lang-switch { justify-content: center; }

  .nx-hero__copy { margin-inline: auto; text-align: center; }
  .nx-hero__title {
    font-size: clamp(2rem, 8.2vw, 3rem);
    line-height: 1.12;
    text-align: center;
  }
  .nx-hero__lead { margin: 1.5rem auto 0; max-width: 44ch; }
  .nx-hero__actions {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: 1.75rem;
  }
  .nx-cta { width: 100%; max-width: 24rem; justify-content: center; }
  .nx-link { margin-inline: auto; }
  .nx-link::after { transform-origin: center; }

  .positioning__grid { gap: 2rem; }
  .positioning__title {
    font-size: clamp(2rem, 8.5vw, 3rem);
    line-height: 1.12;
    text-align: center;
  }
  .positioning__body { max-width: 44ch; margin-inline: auto; }
  .st-proof { justify-content: center; gap: .65rem; }
  .st-proof > li { max-width: 100%; text-align: center; }
  .st-proof .icon { flex-shrink: 0; }

  .service-tile, .svc-card { align-items: center; text-align: center; }
  .service-tile__name, .svc-card__name { max-width: 100%; line-height: 1.2; }
  .service-tile__text, .svc-card__text { width: 100%; text-align: center; }
  .svc-tags { justify-content: center; }
  .svc-link { justify-content: center; text-align: center; }
  .svc-rail__head { flex-direction: column; gap: 1rem; text-align: center; }
  .svc-rail__title { line-height: 1.25; }

  .project-slide__info {
    flex-direction: column;
    align-items: center;
    gap: .75rem;
    padding-top: 1rem;
    text-align: center;
  }
  .project-slide__info p { margin-inline: auto; }
  .project-viewer__caption { align-items: center; text-align: center; }

  .why__aside, .faq__aside { text-align: center; }
  .why .community { max-width: 28rem; margin-inline: auto; text-align: center; }
  .why .community__logo { margin-inline: auto; }
  .community__figure { justify-content: center; }
  .community__text { margin-inline: auto; }
  .pillar__head { justify-content: center; text-align: center; }
  .pillar__head h3 { line-height: 1.3; }

  .process__title { font-size: clamp(2rem, 8.5vw, 3rem); }
  .process__steps { gap: 1.5rem; }
  .step { padding: 1.5rem; gap: 1rem; }
  .step__name { text-align: center; line-height: 1.3; }
  .step__text { font-size: 1rem; text-align: center; text-wrap: pretty; }
  .step__tags { justify-content: center; }
  .step:not(:last-child)::after { left: calc(50% - .3rem); }
  .process__cta { flex-direction: column; align-items: center; gap: .75rem; }
  .process__cta .button { max-width: 24rem; }
  .process__note { text-align: center; margin-inline: auto; max-width: 44ch; }

  .testimonials__inner { align-items: center; gap: 1.5rem; text-align: center; }
  .testimonials__inner > div { width: 100%; }
  .testimonials__inner h2 { max-width: 100%; line-height: 1.3; }
  .testimonials__inner .placeholder-note { margin-inline: auto; line-height: 1.65; }
  .testimonials__inner > .button { width: 100%; max-width: 24rem; }

  .faq__more { text-align: center; }
  .faq__more p { margin-inline: auto; }
  .faq__more-actions { flex-direction: column; align-items: center; justify-content: center; }
  .faq__more-actions > .button { justify-content: center; }
  .faq__question { gap: .75rem; }
  .faq__question h3 { flex: 1; text-align: center; }
  .faq__answer p { padding-inline: .25rem; }
  .final-cta__title { font-size: clamp(2.1rem, 9vw, 3rem); line-height: 1.12; }
  .final-cta__lead { margin-block: 1.5rem; }
  .final-cta .button { display: flex; width: 100%; max-width: 24rem; margin-inline: auto; }
  .final-cta__inner > .button + .button { margin-inline: auto; }

  /* Justify narrative paragraphs only; short copy, labels and controls stay centred.
   * Native language-aware hyphenation avoids stretched spaces on narrow screens.
   */
  .positioning__body > p,
  .about-person__bio, .about-person__technical > p, .about-person__chapter p,
  .about-career__description, .about-purpose dd, .about-values__list dd,
  .about-learning__lead, .about-learning details > p, .faq__answer p, .prose > p {
    text-align: justify;
    text-align-last: center;
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: 6 3 3;
  }
  .about-hero__lead, .about-section-heading > p { text-align: center; }
  .prose h1, .prose h2, .prose h3 { text-align: center; }

  .site-footer { padding-top: 3rem; }
  .site-footer__grid { gap: 2rem 1rem; padding-bottom: 2.5rem; }
  .site-footer__brand, .site-footer__col { text-align: center; }
  .site-footer__logo, .site-footer__tagline, .site-footer__contact p { margin-inline: auto; }
  .site-footer__tagline { margin-top: 1rem; }
  .site-footer__contact { justify-items: center; }
  .site-footer__base { align-items: center; gap: 1rem; text-align: center; }
  .site-footer__base .lang-switch { justify-content: center; flex-wrap: wrap; }
}
