/**
 * Intellicore Global Consulting LLP
 * Standardized Enterprise Typography & Fluid Type Scale
 * File: assets/css/typography.css
 * @package Intellicore
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
    --itc-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    
    /* Harmonized Typographic Scale */
    --itc-fs-hero: clamp(2.2rem, 4.8vw, 3.6rem);
    --itc-fs-h1: clamp(2rem, 4vw, 3.1rem);
    --itc-fs-h2: clamp(1.6rem, 2.8vw, 2.35rem);
    --itc-fs-h3: clamp(1.25rem, 2vw, 1.65rem);
    --itc-fs-h4: clamp(1.1rem, 1.4vw, 1.35rem);
    --itc-fs-h5: 1.125rem;
    --itc-fs-h6: 0.95rem;
    --itc-fs-lead: clamp(1.02rem, 1.25vw, 1.18rem);
    --itc-fs-body: 1rem;
    --itc-fs-sub: 0.875rem;
    --itc-fs-caption: 0.78rem;
    --itc-fs-badge: 0.72rem;

    /* Leading & Tracking */
    --itc-lh-tight: 1.15;
    --itc-lh-heading: 1.25;
    --itc-lh-body: 1.68;
    --itc-tracking-tight: -0.02em;
    --itc-tracking-normal: 0em;
    --itc-tracking-wide: 0.08em;
    --itc-tracking-caps: 0.14em;

    /* Global Typography Palette */
    --itc-heading-color: #051129;
    --itc-body-color: #334155;
    --itc-muted-color: #64748b;
    --itc-teal-color: #20b1b0;
    --itc-teal-dark-color: #168f8e;
}

/* =========================================================
   GLOBAL BASE RESETS FOR TYPOGRAPHY UNIFORMITY
========================================================= */
html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-body) !important;
    line-height: var(--itc-lh-body) !important;
    color: var(--itc-body-color);
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* =========================================================
   HEADINGS UNIFORM SCALE
========================================================= */
h1, .h1 {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-h1) !important;
    font-weight: 800 !important;
    line-height: var(--itc-lh-tight) !important;
    letter-spacing: var(--itc-tracking-tight) !important;
    color: var(--itc-heading-color);
    margin-top: 0;
    margin-bottom: 0.75rem;
}

h2, .h2 {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-h2) !important;
    font-weight: 800 !important;
    line-height: var(--itc-lh-heading) !important;
    letter-spacing: var(--itc-tracking-tight) !important;
    color: var(--itc-heading-color);
    margin-top: 0;
    margin-bottom: 0.75rem;
}

h3, .h3 {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-h3) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: var(--itc-tracking-tight) !important;
    color: var(--itc-heading-color);
    margin-top: 0;
    margin-bottom: 0.65rem;
}

h4, .h4 {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-h4) !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: var(--itc-heading-color);
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h5, .h5 {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-h5) !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    color: var(--itc-heading-color);
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h6, .h6 {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-h6) !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    color: var(--itc-heading-color);
    margin-top: 0;
    margin-bottom: 0.5rem;
}

/* Paragraphs & Text Elements */
p {
    font-family: var(--itc-font-sans);
    font-size: var(--itc-fs-body);
    line-height: var(--itc-lh-body);
    color: var(--itc-body-color);
    margin-top: 0;
    margin-bottom: 1.25rem;
}

.lead, .hero-lead, .ic-hero__lead, .itc-hero p, .co-hero p {
    font-size: var(--itc-fs-lead) !important;
    line-height: 1.75 !important;
    font-weight: 400 !important;
}

/* Badges & Eyebrows */
.badge-pill, .eyebrow, .itc-hero__badge, .ic-hero__badge, .co-hero__badge, .itc-header__tag {
    font-family: var(--itc-font-sans) !important;
    font-size: var(--itc-fs-badge) !important;
    font-weight: 700 !important;
    letter-spacing: var(--itc-tracking-caps) !important;
    text-transform: uppercase !important;
}

/* Buttons */
.btn, .ic-btn, .itc-btn, .co-btn {
    font-family: var(--itc-font-sans) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em;
}

/* Navigation Links */
.header-link, .nav-link, .mobile-nav-link {
    font-family: var(--itc-font-sans) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

/* Footer Links & Text */
.footer, .footer p, .footer a {
    font-family: var(--itc-font-sans) !important;
}

.footer-title {
    font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
    font-weight: 600 !important;
}

.footer-heading {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.10em !important;
    text-transform: uppercase !important;
}

.footer-menu a {
    font-size: 0.92rem !important;
    font-weight: 400 !important;
}
