/* ==========================================================================
   Natyarpana — Site-wide typography (single source of truth)
   Load before style.css on every page.
   ========================================================================== */

:root {
  /* Families */
  --np-font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --np-font-serif: "Cinzel", "Cormorant Garamond", Georgia, serif;
  --np-font-display: "Cormorant Garamond", "Cinzel", Georgia, serif;

  /* Scale — fixed px for cross-page consistency */
  --np-text-xs: 11px;
  --np-text-sm: 12px;
  --np-text-base: 16px;
  --np-text-md: 17px;
  --np-text-lg: 18px;
  --np-text-xl: 20px;

  /* Weights */
  --np-weight-regular: 400;
  --np-weight-medium: 500;
  --np-weight-semibold: 600;

  /* Line height */
  --np-leading-tight: 1.25;
  --np-leading-snug: 1.45;
  --np-leading-normal: 1.75;
  --np-leading-relaxed: 1.85;

  /* Display headings (responsive) */
  --np-h1-size: clamp(2.25rem, 4.5vw, 3.5rem);
  --np-h2-size: clamp(1.5rem, 2.8vw, 2.25rem);
  --np-h3-size: 14px;
  --np-eyebrow-size: 12px;
}

/* --------------------------------------------------------------------------
   Base — all premium pages
   -------------------------------------------------------------------------- */
.body-home,
.body-site,
.page-about,
.page-faculty,
.page-kripa,
.page-classes,
.page-productions,
.page-student-awards,
.page-contact {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-base);
  font-weight: var(--np-weight-regular);
  line-height: var(--np-leading-normal);
}

/* Body copy */
.body-home p,
.body-site p,
.page-about p,
.page-faculty p,
.page-kripa p,
.page-classes p,
.page-productions p,
.page-student-awards p,
.page-contact p,
.np-footer p,
.np-footer-cta p,
.breadcrumb-wrapper p {
  font-family: var(--np-font-sans) !important;
  font-size: var(--np-text-base) !important;
  font-weight: var(--np-weight-regular) !important;
  line-height: var(--np-leading-normal) !important;
}

.body-home li,
.body-site li,
.page-about li,
.page-faculty li,
.page-kripa li,
.page-classes li,
.page-productions li,
.page-student-awards li,
.page-contact li {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-base);
  font-weight: var(--np-weight-regular);
  line-height: var(--np-leading-normal);
}

/* Lead / intro paragraphs */
.kripa-bio__lead,
.page-about .section-title > p,
.page-faculty .section-title > p,
.home-hero__desc,
.home-guru__lead,
.breadcrumb-wrapper .page-heading .kripa-hero__subtitle {
  font-family: var(--np-font-sans) !important;
  font-size: var(--np-text-lg) !important;
  font-weight: var(--np-weight-regular) !important;
  line-height: var(--np-leading-relaxed) !important;
}

/* Eyebrow / section labels */
.home-hero__label,
.kripa-hero__label,
.page-about .section-title h6,
.page-faculty .section-title h6,
.page-about .breadcrumb-wrapper .page-heading h6,
.np-event-popup__eyebrow,
.home-stages__title-sub,
.home-programs__eyebrow,
.home-experience__eyebrow,
.home-legacy__eyebrow {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-sm);
  font-weight: var(--np-weight-semibold);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: var(--np-leading-snug);
}

/* H1 — page & hero titles */
.home-hero__title,
.kripa-hero__title,
.page-about .section-title h2,
.page-faculty .section-title h2,
.page-faculty .message-items > h2,
.home-guru__title,
.home-stages__title-main,
.home-programs__title,
.home-experience__title,
.home-legacy__title,
.np-footer-cta__title {
  font-family: var(--np-font-serif);
  font-weight: var(--np-weight-medium);
  line-height: var(--np-leading-tight);
}

.home-hero__title,
.kripa-hero__title {
  font-size: var(--np-h1-size);
}

.page-about .section-title h2,
.page-faculty .section-title h2,
.page-faculty .message-items > h2,
.home-guru__title {
  font-size: var(--np-h2-size);
}

/* H2 — content blocks */
.kripa-block h2,
.home-stages__title,
.home-programs__title,
.home-experience__title,
.home-legacy__title,
.np-footer__heading {
  font-family: var(--np-font-serif);
  font-size: var(--np-h2-size);
  font-weight: var(--np-weight-medium);
  line-height: var(--np-leading-tight);
}

.kripa-block h2,
.np-footer__heading {
  font-size: var(--np-h3-size);
  font-weight: var(--np-weight-semibold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* H3 — cards & names */
.home-features__title,
.home-stages__card-title,
.home-programs__card-title,
.page-about h3,
.page-about .box-title,
.page-faculty .team-box-items .team-content h3,
.kripa-bio__contact-card h3,
.np-footer__brand-name {
  font-family: var(--np-font-serif);
  font-size: var(--np-h3-size);
  font-weight: var(--np-weight-semibold);
  letter-spacing: 0.08em;
  line-height: var(--np-leading-snug);
}

/* Card / feature descriptions */
.home-features__text,
.home-stages__card-text,
.home-guru__bio,
.home-guru__ach-text,
.home-programs__card-text,
.home-experience__card-text,
.home-legacy__card-text,
.kripa-bio__pillars span,
.kripa-honors li,
.kripa-branches li {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-base);
  font-weight: var(--np-weight-regular);
  line-height: var(--np-leading-normal);
}

/* Subtitles */
.kripa-hero__subtitle,
.home-guru__lead,
.home-stages__desc,
.home-programs__sub,
.home-experience__sub,
.home-legacy__sub {
  font-family: var(--np-font-display);
  font-size: var(--np-text-lg);
  font-weight: var(--np-weight-medium);
  line-height: var(--np-leading-snug);
}

/* Navigation */
.site-header .main-menu a,
.site-header--home .main-menu a,
.site-header .main-menu ul li .sub-menu li a,
.site-header--home .main-menu ul li .sub-menu li a {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-base);
  font-weight: var(--np-weight-medium);
}

/* Buttons & CTAs */
.theme-btn,
.site-header__cta,
.site-header--home .site-header__cta,
.home-hero__btn,
.kripa-bio__btn,
.np-footer-cta__btn,
.np-event-popup__cta {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-sm);
  font-weight: var(--np-weight-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.2;
}

.np-event-popup__later,
.kripa-bio__later {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-sm);
  font-weight: var(--np-weight-medium);
}

/* Footer */
.np-footer__brand-desc,
.np-footer__contact-list a,
.np-footer__links a,
.np-footer__bar p,
.np-footer-cta__sub {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-base);
  font-weight: var(--np-weight-regular);
  line-height: var(--np-leading-normal);
}

.np-footer__brand-since,
.np-footer__bar-tagline {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-xs);
  font-weight: var(--np-weight-medium);
  letter-spacing: 0.08em;
}

.np-footer__quote {
  font-family: var(--np-font-display);
  font-size: var(--np-text-lg);
  font-weight: var(--np-weight-regular);
  line-height: var(--np-leading-snug);
}

/* Pillar card titles */
.kripa-bio__pillars strong,
.home-features__title {
  font-family: var(--np-font-serif);
  font-size: var(--np-text-sm);
  font-weight: var(--np-weight-semibold);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* Testimonials — display quote */
.page-about .testimonial-content p,
.page-faculty .testimonial-wrapper-3 .testimonial-content > h3 {
  font-family: var(--np-font-display);
  font-size: var(--np-text-lg);
  font-weight: var(--np-weight-regular);
  font-style: italic;
  line-height: var(--np-leading-relaxed);
}

/* Popup modal */
.np-event-popup__title {
  font-family: var(--np-font-serif);
  font-size: var(--np-h2-size);
  font-weight: var(--np-weight-medium);
}

.np-event-popup__text {
  font-family: var(--np-font-sans);
  font-size: var(--np-text-base);
  font-weight: var(--np-weight-regular);
  line-height: var(--np-leading-normal);
}

/* Breadcrumb / inner page headers (legacy template) */
.breadcrumb-wrapper .page-heading h6 {
  font-family: var(--np-font-sans) !important;
  font-size: var(--np-text-sm) !important;
  font-weight: var(--np-weight-semibold) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.breadcrumb-wrapper .page-heading h1 {
  font-family: var(--np-font-serif) !important;
  font-size: var(--np-h2-size) !important;
  font-weight: var(--np-weight-medium) !important;
  line-height: var(--np-leading-tight) !important;
}

/* Page-specific blocks — align with home */
.page-about .about-block p,
.page-contact .contact-info p,
.page-contact .contact-form label,
.page-our-classes p,
.page-productions p,
.page-student-awards p {
  font-size: var(--np-text-base) !important;
  line-height: var(--np-leading-normal) !important;
}
