/* ==========================================================================
   Lakshmi Vacuum - GLOBAL TYPOGRAPHY STANDARD
   Added 2026-09-29. Loaded last on every page so it wins the cascade.

   Before this file the site used five families (Figtree on some pages, Manrope
   on 33, Inter on 23, Arial on 19, plus Playfair for headings) and font sizes
   from 0.4rem to 1.8rem mixed with fixed px values, so the same kind of text
   looked different on almost every page.

   The rule now: ONE reading family, ONE heading family, ONE scale, and a root
   size large enough that the smallest useful text stays legible.
   ========================================================================== */

/* --- fonts served from the project itself (no Google Fonts dependency) ---- */
@font-face {
  font-family: 'LV Inter';
  src: url('/static/vendor/fonts/google/inter-400-normal.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'LV Inter';
  src: url('/static/vendor/fonts/google/inter-600-normal.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'LV Playfair';
  src: url('/static/vendor/fonts/google/playfair-700-normal.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  /* one reading family, one display family - used everywhere */
  --lv-font-body: 'LV Inter', 'Inter', 'Manrope', 'Figtree', -apple-system,
                  BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --lv-font-head: 'LV Playfair', 'Playfair Display', Georgia, 'Times New Roman', serif;

  /* the scale */
  --lv-text-body: 1rem;      /* 17px at the root size below */
  --lv-text-small: 0.9rem;   /* ~15px supporting copy       */
  --lv-text-label: 0.78rem;  /* ~13px uppercase kickers     */
  --lv-leading: 1.75;
}

/* --- the base size everything else is measured from ----------------------
   16px made 0.75rem text land at 12px and 0.6rem at 9.6px. 17px lifts every
   rem-based size on the site by a step without touching any layout maths. */
html { font-size: 17px; }

/* --- uniform families ---------------------------------------------------- */
body, p, li, td, th, blockquote, figcaption, label, summary,
input, textarea, select, button, dt, dd, address, cite {
  font-family: var(--lv-font-body) !important;
}
h1, h2, h3, h4, h5, h6, .section-title, .hero-title {
  font-family: var(--lv-font-head) !important;
}
body { font-size: var(--lv-text-body) !important; }

/* --- readable minimums for running text --------------------------------- */
p, li, td, th, blockquote, figcaption { line-height: var(--lv-leading); }

/* supporting copy used across the site: never below ~15px */
.faq-item p, .service-card p, .infra-desc p, .text-small, small,
.services-sub, .section-sub, .card-text {
  font-size: var(--lv-text-small) !important;
  line-height: 1.75 !important;
}

/* uppercase kickers: compact by design, but never unreadable */
.section-label, [class*="eyebrow"], [class*="kicker"] {
  font-size: var(--lv-text-label) !important;
  letter-spacing: 0.12em !important;
}
