/* ============================================================
   TIPOGRAFÍA — aplica la escala de tokens.css (--t-*) a cada tipo de texto.
   Se carga la ÚLTIMA en todas las páginas y manda sobre los ajustes antiguos de
   components.css. Aplica en todos los anchos: los valores de móvil y tablet están en tokens.css.

   Para añadir un texto nuevo: ponerlo en el rol que le corresponda (no inventar tamaños).
   Para comprobar el sitio: tools/audit-type.js
   ============================================================ */

  /* Título de página */
  html body .service-intro__title {
    font-size: var(--t-page-fs); font-weight: var(--t-page-fw); line-height: var(--t-page-lh); letter-spacing: var(--t-page-ls);
  }

  /* Título animado del hero y llamada del FAQ */
  html body .capabilities-copy__title, html body .capabilities-copy__title-line, html body .capabilities-copy__dynamic-measure,
  html body .faq-section__cta-text {
    font-size: var(--t-display-fs); font-weight: var(--t-display-fw); line-height: var(--t-display-lh); letter-spacing: var(--t-display-ls);
  }

  /* Título de sección */
  html body .client-stories__title, html body .work-process__title, html body .faq-section__title,
  html body .contact-section__heading, html body .about-why__title, html body .about-team__title,
  html body .related-services .client-stories__title, html body .services-hero__title {
    font-size: var(--t-section-fs); font-weight: var(--t-section-fw); line-height: var(--t-section-lh); letter-spacing: var(--t-section-ls);
  }

  /* Encabezado secundario */
  html body .service-detail__heading, html body .service-showcase__title {
    font-size: var(--t-heading-fs); font-weight: var(--t-heading-fw); line-height: var(--t-heading-lh); letter-spacing: var(--t-heading-ls);
  }

  /* Frase destacada */
  html body .about-hero__title, html body .about-story__heading, html body .service-detail__statement {
    font-size: var(--t-statement-fs); font-weight: var(--t-statement-fw); line-height: var(--t-statement-lh); letter-spacing: var(--t-statement-ls);
  }

  /* Título de tarjeta / panel */
  html body .service-panel__title, html body .service-card__title, html body .related-card__title,
  html body .service-detail__aside-title, html body .contact-social__title, html body .contact-offer__title,
  html body .contact-details__title, html body .contact-form__title, html body .footer-navigation__title,
  html body .how-step__title, html body .how-pillar__title {
    font-size: var(--t-title-fs); font-weight: var(--t-title-fw); line-height: var(--t-title-lh); letter-spacing: var(--t-title-ls);
  }

  /* Subtítulo */
  html body .process-card__title {
    font-size: var(--t-subhead-fs); font-weight: var(--t-subhead-fw); line-height: var(--t-subhead-lh); letter-spacing: var(--t-subhead-ls);
  }

  /* Texto de introducción */
  html body .service-intro__description, html body .about-metric__label, html body .about-stat__label,
  html body .service-stats__label, html body .about-team-showcase__desc, html body .about-team-showcase__counter,
  html body .about-team-showcase__desc-label, html body .faq-item__question, html body .faq-item__number,
  html body .how-step__subtitle {
    font-size: var(--t-lead-fs); font-weight: var(--t-lead-fw); line-height: var(--t-lead-lh); letter-spacing: var(--t-lead-ls);
  }
  html body .about-team-showcase__desc-label, html body .faq-item__question, html body .faq-item__number,
  html body .how-step__subtitle { font-weight: 500; }

  /* Texto de párrafo */
  html body .service-detail__text, html body .service-detail__list li, html body .service-panel__text,
  html body .service-card__text, html body .related-card__text, html body .capabilities-copy__description,
  html body .process-card__description, html body .faq-item__answer, html body .contact-offer__item,
  html body .contact-details__value, html body .contact-form__description, html body .how-step__text,
  html body .how-step__list li, html body .how-pillar__text, html body .about-team-showcase__role,
  html body .faq-tabs__tab {
    font-size: var(--t-body-fs); font-weight: var(--t-body-fw); line-height: var(--t-body-lh); letter-spacing: var(--t-body-ls);
  }
  html body .faq-tabs__tab { font-weight: 500; }
  html body .service-detail__list li strong { font-weight: 600; }

  /* Texto pequeño y numeración */
  html body .process-card__number, html body .service-panel__num, html body .service-card__number,
  html body .how-step__number, html body .how-pillar__number {
    font-size: var(--t-small-fs); font-weight: var(--t-small-fw); line-height: var(--t-small-lh); letter-spacing: var(--t-small-ls);
  }

  /* Etiquetas */
  html body .service-intro__label, html body .faq-section__label, html body .client-stories__label,
  html body .work-process__label, html body .about-hero__label, html body .about-why__label,
  html body .about-team__label, html body .services-hero__label, html body .related-services .client-stories__label {
    font-size: var(--t-label-fs); font-weight: var(--t-label-fw); line-height: var(--t-label-lh); letter-spacing: var(--t-label-ls);
  }

  /* Cifras */
  html body .about-metric__value, html body .about-metric__value span, html body .about-stat__value, html body .service-stats__value {
    font-size: var(--t-stat-fs); font-weight: var(--t-stat-fw); line-height: var(--t-stat-lh); letter-spacing: var(--t-stat-ls);
  }

  /* Botones */
  html body .about-section__cta-label, html body .faq-section__cta-label, html body .contact-form__submit,
  html body .about-section__cta.service-cta .about-section__cta-label {
    font-size: var(--t-button-fs); font-weight: var(--t-button-fw); letter-spacing: var(--t-button-ls);
  }
  html body .about-section__cta.service-cta { font-size: var(--t-button-fs); }

/* ── Resto de páginas con el diseño nuevo: servicios, precios, blog, artículos, trabajos, contacto, legales ── */

  /* Título de página */
  html body .pricing-hero__title, html body .blog-hero__title, html body .works-hero__title, html body .work-intro__title {
    font-size: var(--t-page-fs); font-weight: var(--t-page-fw); line-height: var(--t-page-lh); letter-spacing: var(--t-page-ls);
  }

  /* Título de sección / encabezado */
  html body .work-related__title {
    font-size: var(--t-section-fs); font-weight: var(--t-section-fw); line-height: var(--t-section-lh); letter-spacing: var(--t-section-ls);
  }
  html body .work-detail__heading, html body .contact-page__heading, html body .article-hero__title, html body .legal-page h1 {
    font-size: var(--t-heading-fs); font-weight: var(--t-heading-fw); line-height: var(--t-heading-lh); letter-spacing: var(--t-heading-ls);
  }
  html body .work-detail__statement {
    font-size: var(--t-statement-fs); font-weight: var(--t-statement-fw); line-height: var(--t-statement-lh); letter-spacing: var(--t-statement-ls);
  }

  /* Título de tarjeta */
  html body .plan-feature__title, html body .blog-featured__title, html body .work-card__title,
  html body .work-detail__aside-title, html body .article-sidebar__title, html body .article-body h2, html body .legal-page h2, html body .legal-page h3,
  html body .blog-faq__side .faq-section__cta-text, html body .site-footer__column-title {
    font-size: var(--t-title-fs); font-weight: var(--t-title-fw); line-height: var(--t-title-lh); letter-spacing: var(--t-title-ls);
  }
  html body .plan__tagline, html body .blog-post-card__title, html body .article-related-card__title {
    font-size: var(--t-subhead-fs); font-weight: var(--t-subhead-fw); line-height: var(--t-subhead-lh); letter-spacing: var(--t-subhead-ls);
  }

  /* Texto de introducción */
  html body .pricing-hero__description, html body .plan-bar, html body .plan__badge, html body .works-filters__tab,
  html body .work-detail__lead, html body .work-card__logo, html body .contact-quote__text, html body .contact-quote__name,
  html body .blog-faq-card__question, html body .blog-faq-card__num, html body .service-showcase__number {
    font-size: var(--t-lead-fs); font-weight: var(--t-lead-fw); line-height: var(--t-lead-lh); letter-spacing: var(--t-lead-ls);
  }
  html body .plan-bar, html body .plan__badge, html body .works-filters__tab, html body .contact-quote__text,
  html body .contact-quote__name, html body .blog-faq-card__question, html body .blog-faq-card__num { font-weight: 500; }
  html body .work-detail__lead, html body .work-card__logo { font-weight: 600; }

  /* Texto de párrafo */
  html body .plan-feature__text, html body .plan__note, html body .plan__panel-note, html body .work-card__text,
  html body .work-detail__text, html body .blog-hero__description, html body .contact-quote__role,
  html body .legal-page p, html body .legal-page li, html body .legal-page a, html body .article-body__key-title {
    font-size: var(--t-body-fs); font-weight: var(--t-body-fw); line-height: var(--t-body-lh); letter-spacing: var(--t-body-ls);
  }
  html body .article-body__key-title { font-weight: 600; }

  /* Texto pequeño y numeración */
  html body .work-card__num, html body .blog-featured__badge, html body .blog-post-card__category, html body .blog-post-card__date,
  html body .service-capability__subtitle, html body .article-share__label, html body .article-hero__category {
    font-size: var(--t-small-fs); font-weight: var(--t-small-fw); line-height: var(--t-small-lh); letter-spacing: var(--t-small-ls);
  }
  html body .blog-post-card__date, html body .service-capability__subtitle { font-weight: 400; }
  html body .article-share__label, html body .blog-featured__author-name, html body .article-hero__author-name { font-size: var(--t-small-fs); font-weight: 600; }
  html body .contact-quote__stars { font-size: 24px; font-weight: 400; }

  /* Etiquetas */
  html body .blog-hero__label {
    font-size: var(--t-label-fs); font-weight: var(--t-label-fw); line-height: var(--t-label-lh); letter-spacing: var(--t-label-ls);
  }
  html body .blog-faq__side .faq-section__cta-label { font-size: var(--t-body-fs); font-weight: 600; }

/* Etiqueta "Sobre nosotros" de la home y texto de pie */
html body .about-section__label {
  font-size: var(--t-label-fs); font-weight: var(--t-label-fw); line-height: var(--t-label-lh); letter-spacing: var(--t-label-ls);
}
html body .site-footer__copyright, html body .site-footer__copyright span {
  font-size: var(--t-small-fs); font-weight: 400; line-height: var(--t-small-lh); letter-spacing: 0;
}

/* Textos pequeños: nunca menos de 14px (la referencia usa 14px como mínimo en móvil) */
html body .client-story-card__role, html body .article-hero__author-role, html body .article-related-card__category,
html body .article-related-card span, html body .site-footer__back-home span, html body .site-footer__back-home {
  font-size: var(--t-small-fs); line-height: var(--t-small-lh); letter-spacing: 0;
}
@media (max-width: 899px) {
  html body .about-feature-card__text { font-size: var(--t-small-fs); line-height: 1.5; letter-spacing: 0; }
}

/* ── Revisión de móvil/tablet/escritorio: textos que seguían fuera de escala ── */
/* Selector de idioma del footer y rótulos pequeños */
html body .site-footer__lang-switch span, html body .site-footer__lang-switch {
  font-size: var(--t-small-fs); font-weight: 600; letter-spacing: 0;
}
html body .work-related__label {
  font-size: var(--t-label-fs); font-weight: var(--t-label-fw); line-height: var(--t-label-lh); letter-spacing: var(--t-label-ls);
}
/* Introducciones de página */
html body .services-hero__description, html body .service-showcase__description, html body .works-hero__description,
html body .work-intro__description {
  font-size: var(--t-lead-fs); font-weight: var(--t-lead-fw); line-height: var(--t-lead-lh); letter-spacing: var(--t-lead-ls);
}
/* Etiquetas de palabras clave y textos de párrafo */
html body .service-showcase__tag, html body .blog-faq-card__answer, html body .blog-faq-card__answer a {
  font-size: var(--t-body-fs); font-weight: var(--t-body-fw); letter-spacing: var(--t-body-ls);
}
/* Títulos de tarjeta y subtítulos */
html body .service-capability__title {
  font-size: var(--t-subhead-fs); font-weight: var(--t-subhead-fw); line-height: var(--t-subhead-lh); letter-spacing: var(--t-subhead-ls);
}
html body .plan__panel-title, html body .about-team-showcase__name {
  font-size: var(--t-title-fs); font-weight: var(--t-title-fw); line-height: var(--t-title-lh); letter-spacing: var(--t-title-ls);
}
/* Texto pequeño y fechas */
html body .service-capability__number, html body .blog-featured__date, html body .blog-featured__author-role,
html body .blog-post-card__badge {
  font-size: var(--t-small-fs); font-weight: 400; line-height: var(--t-small-lh); letter-spacing: 0;
}
/* Botón de envío del formulario */
html body .contact-form__submit { font-size: var(--t-button-fs); font-weight: var(--t-button-fw); }
/* Tarjetas de "Por qué elegirnos": en móvil y tablet, título de 20px/600 y texto de 14px */
@media (max-width: 899px) {
  html body .about-feature-card .about-feature-card__title {
    font-size: var(--t-subhead-fs); font-weight: var(--t-subhead-fw); line-height: var(--t-subhead-lh); letter-spacing: var(--t-subhead-ls);
  }
  html body .about-feature-card .about-feature-card__text { font-size: var(--t-small-fs); line-height: 1.5; letter-spacing: 0; }
}
html body .related-card__head span, html body .related-card__head { font-size: var(--t-small-fs); font-weight: var(--t-small-fw); letter-spacing: 0; }
html body .contact-page .contact-form__submit, html body .contact-section .contact-form__submit { font-size: var(--t-button-fs); font-weight: var(--t-button-fw); }
html body .editorial-login-tip { font-size: var(--t-small-fs); font-weight: var(--t-small-fw); letter-spacing: 0; }

/* Inter también en las secciones de servicios (antes caían en Helvetica Neue) */
html body .service-showcase, html body .service-showcase *,
html body .service-capability, html body .service-capability * { font-family: 'Inter', Arial, 'Helvetica Neue', Helvetica, sans-serif; }

/* Páginas heredadas (Outbound, Portafolio): todo el texto en Inter, igual que el resto del sitio */
html body.legacy-inter, html body.legacy-inter :not(svg):not(svg *) { font-family: 'Inter', Arial, 'Helvetica Neue', Helvetica, sans-serif !important; }
html body.legacy-inter svg text { font-family: 'Inter', Arial, sans-serif !important; }

/* ── Página de contacto: formulario compacto, con las proporciones del formulario del final de la home ── */
@media (min-width: 900px) {
  html body main .contact-page { padding: clamp(36px, 4vw, 64px) var(--page-gutter, 42px) clamp(48px, 5vw, 80px); }
  html body main .contact-page__inner { max-width: 1240px; column-gap: clamp(32px, 4vw, 64px); }
  html body main .contact-page__heading { font-size: clamp(26px, 2.4vw, 36px); font-weight: 600; line-height: 1.2; letter-spacing: -0.03em; max-width: 24ch; }
  html body main .contact-page__media { margin-top: 28px; aspect-ratio: 16 / 10; max-height: 340px; border-radius: 4px; }
  html body main .contact-quote { margin-top: 24px; }
  html body main .contact-page__panel { padding: clamp(22px, 2.4vw, 36px); border-radius: 4px; }
  html body main .contact-page__form { gap: 16px; }
  html body main .contact-page__field { gap: 8px; }
  html body main .contact-page__field label { font-size: 13px; font-weight: 500; letter-spacing: 0.06em; line-height: 1.2; }
  html body main .contact-page .contact-form__field { height: 52px; min-height: 52px; padding: 0 16px; font-size: 16px; border-radius: 4px; }
  html body main .contact-page .contact-form__textarea { height: 120px; min-height: 120px; padding: 12px 16px; font-size: 16px; border-radius: 4px; }
  html body main .contact-page .contact-form__submit { height: 52px; min-height: 52px; font-size: var(--t-button-fs, 18px); border-radius: 4px; }
}
@media (min-width: 900px) {
  html body main .contact-quote { padding: 22px 24px; border-radius: 4px; }
  html body main .contact-quote__stars { font-size: 18px; }
  html body main .contact-quote__text { margin-top: 12px; font-size: 17px; line-height: 1.45; font-weight: 500; }
  html body main .contact-quote__divider { margin: 16px 0 14px; }
  html body main .contact-quote__photo { width: 48px; height: 48px; }
  html body main .contact-quote__person { gap: 14px; }
}
