/**

 * PTENaatiPro — Professional typography system

 * @package pte-naati-pro

 */



body {

  font-family: var(--font-body);

  font-size: var(--text-base);

  font-weight: var(--font-weight-regular);

  color: var(--color-body-text);

  line-height: var(--leading-normal);

  font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;

  -webkit-font-smoothing: antialiased;

  -moz-osx-font-smoothing: grayscale;

  text-rendering: optimizeLegibility;

}



/* Headings — Sora display sans (matches bold SCOREMORE brand) */

h1, h2, h3, h4, h5, h6,

.ptenp-heading,

.ptenp-hero-title,

.ptenp-bottom-title,

.ptenp-mock-title,

.ptenp-cpage-hero__title {

  font-family: var(--font-display);

  font-weight: var(--font-weight-bold);

  line-height: var(--leading-tight);

  letter-spacing: -0.03em;

  color: var(--color-primary);

}



.ptenp-page-hero__title,

.ptenp-loc-hero__title {

  font-family: var(--font-display);

  font-weight: var(--font-weight-bold);

  line-height: var(--leading-tight);

  letter-spacing: -0.03em;

}



/* Dark hero titles — white on gradient backgrounds */

.ptenp-page-hero .ptenp-page-hero__title,

.ptenp-results-hero .ptenp-results-hero__title,

.ptenp-about-hero .ptenp-about-hero__title,

.ptenp-contact-hero .ptenp-contact-hero__title,

.ptenp-nlp-hero .ptenp-nlp-hero__title,

.ptenp-loc-hero .ptenp-loc-hero__title {

  color: #fff;

}



h1, .ptenp-hero-title {

  font-size: clamp(var(--text-4xl), 4.5vw, var(--text-6xl));

  font-weight: var(--font-weight-bold);

  letter-spacing: -0.035em;

}



h2, .ptenp-heading {

  font-size: clamp(var(--text-3xl), 3.2vw, var(--text-5xl));

  font-weight: var(--font-weight-bold);

  letter-spacing: -0.03em;

}



h3 {

  font-size: clamp(var(--text-2xl), 2.4vw, var(--text-3xl));

  font-weight: var(--font-weight-semibold);

  letter-spacing: -0.025em;

}



h4 {

  font-size: var(--text-xl);

  font-weight: var(--font-weight-semibold);

  letter-spacing: -0.02em;

}



h5 {

  font-size: var(--text-lg);

  font-weight: var(--font-weight-semibold);

}



h6 {

  font-size: var(--text-base);

  font-weight: var(--font-weight-semibold);

}



/* Labels & eyebrows */

.ptenp-eyebrow,

.ann-bar__text,

.top-bar__tagline,

.footer-widget-title,

.footer-newsletter-eyebrow {

  font-family: var(--font-body);

  font-size: var(--text-xs);

  font-weight: var(--font-weight-semibold);

  letter-spacing: 0.08em;

  text-transform: uppercase;

}



/* Body copy */

p,

.ptenp-subheading,

.ptenp-hero-sub,

.ptenp-page-hero__subtitle {

  font-family: var(--font-body);

  line-height: var(--leading-relaxed);

  font-weight: var(--font-weight-regular);

}



.ptenp-subheading,

.ptenp-hero-sub {

  font-size: clamp(var(--text-base), 1.05vw, var(--text-lg));

  color: inherit;

}



strong, b {

  font-weight: var(--font-weight-semibold);

}



/* Navigation */

.nav-primary .menu-item > a,

.mobile-nav .menu-item > a,

.footer-menu a,

.footer-legal-menu a {

  font-family: var(--font-body);

  font-weight: var(--font-weight-medium);

  letter-spacing: 0.01em;

}



/* Buttons & CTAs */

.ptenp-btn,

.header-cta,

.newsletter-submit,

.ptenp-lead-form__submit {

  font-family: var(--font-body);

  font-weight: var(--font-weight-semibold);

  letter-spacing: 0.01em;

}



/* Forms */

input,

textarea,

select,

.ptenp-lead-form input,

.ptenp-lead-form select,

.ptenp-lead-form textarea {

  font-family: var(--font-body);

  font-size: var(--text-sm);

  font-weight: var(--font-weight-regular);

}



label,

.ptenp-lead-form label {

  font-family: var(--font-body);

  font-size: var(--text-sm);

  font-weight: var(--font-weight-medium);

}



/* Site title text fallback (when no logo) */

.site-title,

.mobile-nav__site-name,

.footer-site-name {

  font-family: var(--font-display);

  font-weight: var(--font-weight-bold);

  letter-spacing: 0.04em;

  text-transform: uppercase;

}



/* Stats & numbers */

.ptenp-stat-num,

.ptenp-hero-stat-num,

.ptenp-sc-counter__num {

  font-family: var(--font-display);

  font-weight: var(--font-weight-bold);

  letter-spacing: -0.04em;

  font-variant-numeric: tabular-nums;

}


