/* ============================================
   TYPOGRAPHY SYSTEM
   Easy to switch fonts - just change the variables
   ============================================ */

/* 
   AVAILABLE FONTS:
   - Manrope: Modern, geometric, clean (200-800 weights)
   - Lato: Friendly, warm, professional (100-900 weights)
   - Open Sans: Classic, neutral (default fallback)
   
   TO CHANGE FONTS:
   Simply update the --font-primary and --font-display variables below
*/

:root {
    /* ========== FONT FAMILIES ========== */
    /* Primary font for body text */
    --font-primary: 'Manrope', 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    
    /* Display font for headings (can be same or different) */
    --font-display: 'Manrope', 'Open Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    
    /* Fallback */
    --font-fallback: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    
    /* ========== FONT WEIGHTS ========== */
    --weight-light: 300;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;
    --weight-extrabold: 800;
    --weight-black: 900;
    
    /* ========== FONT SIZES ========== */
    --text-xs: 12px;
    --text-sm: 14px;
    --text-base: 16px;
    --text-lg: 18px;
    --text-xl: 20px;
    --text-2xl: 24px;
    --text-3xl: 30px;
    --text-4xl: 36px;
    --text-5xl: 48px;
    --text-6xl: 60px;
    --text-7xl: 72px;
    
    /* ========== LINE HEIGHTS ========== */
    --leading-tight: 1.1;
    --leading-snug: 1.25;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    
    /* ========== LETTER SPACING ========== */
    --tracking-tighter: -0.05em;
    --tracking-tight: -0.025em;
    --tracking-normal: 0;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
}

/* ============================================
   BASE TYPOGRAPHY
   ============================================ */
body {
    font-family: var(--font-primary);
    font-weight: var(--weight-regular);
    line-height: var(--leading-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    line-height: var(--leading-tight);
}

/* ============================================
   CPCS SPECIFIC TYPOGRAPHY
   Enhanced typographic hierarchy
   ============================================ */

/* Hero Title - Maximum impact */
.cpcs-hero-title {
    font-family: var(--font-display);
    font-weight: var(--weight-black) !important;
    font-size: clamp(36px, 5vw, 56px);
    line-height: var(--leading-tight);
    letter-spacing: -0.05em;
}

/* Hero Subtitle - Strong but secondary */
.cpcs-hero-subtitle {
    font-family: var(--font-display);
    font-weight: var(--weight-semibold);
    font-size: clamp(18px, 2.5vw, 24px);
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-normal);
}

/* Hero Tagline - Light and airy */
.cpcs-hero-tagline {
    font-family: var(--font-primary);
    font-weight: var(--weight-regular);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    letter-spacing: var(--tracking-wide);
}

/* Section Titles - Bold statement */
.cpcs-challenges h2,
.cpcs-solution h2,
.cpcs-services h2,
.cpcs-cta h2 {
    font-family: var(--font-display);
    font-weight: var(--weight-black);
    font-size: clamp(28px, 4vw, 42px);
    line-height: var(--leading-tight);
    letter-spacing: -0.03em;
}

/* Section Subtitles */
.cpcs-section-subtitle {
    font-family: var(--font-primary);
    font-weight: var(--weight-medium);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

/* Card Titles - Medium emphasis */
.cpcs-challenge-card h4,
.cpcs-benefit-content h4,
.cpcs-service-card h4 {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
    font-size: var(--text-xl);
    line-height: var(--leading-snug);
}

/* Stats Numbers - Maximum weight for impact */
.cpcs-stat-number {
    font-family: var(--font-display);
    font-weight: var(--weight-black);
    letter-spacing: var(--tracking-tighter);
}

/* Stats Label */
.cpcs-stat-label {
    font-family: var(--font-display);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    font-size: var(--text-sm);
}

/* Metric Numbers in testimonial */
.cpcs-metric-number {
    font-family: var(--font-display);
    font-weight: var(--weight-black);
    letter-spacing: var(--tracking-tighter);
}

.cpcs-metric-label {
    font-family: var(--font-display);
    font-weight: var(--weight-semibold);
    text-transform: uppercase;
    font-size: var(--text-sm);
    letter-spacing: var(--tracking-wide);
}

/* Testimonial Quote */
.cpcs-quote-text {
    font-family: var(--font-primary);
    font-weight: var(--weight-regular);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

/* Testimonial Author */
.cpcs-author-name {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
}

.cpcs-author-title,
.cpcs-author-company {
    font-family: var(--font-primary);
    font-weight: var(--weight-medium);
}

/* Process Steps */
.cpcs-process-number {
    font-family: var(--font-display);
    font-weight: var(--weight-black);
}

.cpcs-process-content strong {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
    font-size: var(--text-lg);
}

/* CTA Title */
.cpcs-cta-title {
    font-family: var(--font-display);
    font-weight: var(--weight-extrabold);
    font-size: clamp(24px, 3vw, 36px);
    line-height: var(--leading-tight);
}

/* Buttons */
.cpcs-btn-glow,
.cpcs-btn-outline,
.cpcs-btn-cta {
    font-family: var(--font-display);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--tracking-wide);
}

/* Feature Badges */
.cpcs-feature-badge h5 {
    font-family: var(--font-display);
    font-weight: var(--weight-bold);
}

/* Body text in cards */
.cpcs-challenge-card p,
.cpcs-benefit-content p,
.cpcs-service-card ul li,
.cpcs-feature-badge p {
    font-family: var(--font-primary);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
}

/* Lead text */
.cpcs-page .lead {
    font-family: var(--font-primary);
    font-weight: var(--weight-regular);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

/* ============================================
   CS.HTML - Cardiac Signals Typography
   ============================================ */
body.cs-page h1,
body.cs-page h2,
body.cs-page h3,
body.cs-page h4,
body.cs-page .titleprod {
    font-weight: 900 !important;
    letter-spacing: -0.02em;
}

body.cs-page .title-section h2 {
    font-weight: 900 !important;
    letter-spacing: -0.03em;
}

/* ============================================
   CONTACT.HTML - Contact Page Typography
   ============================================ */
body.contact-page h1,
body.contact-page h2,
body.contact-page h3,
body.contact-page h4,
body.contact-page .titlecontact {
    font-weight: 900 !important;
    letter-spacing: -0.02em;
}

/* ============================================
   GLOBAL TITLE REFINEMENTS
   Tighter tracking on larger titles
   ============================================ */
.title-section h2 {
    font-weight: 800;
    letter-spacing: -0.03em;
}

h1 {
    letter-spacing: -0.04em;
}

h2 {
    letter-spacing: -0.025em;
}

h3, h4 {
    letter-spacing: -0.015em;
}

h5, h6 {
    letter-spacing: 0;
}

/* ============================================
   ALTERNATIVE FONT PRESETS
   Uncomment to quickly switch styles
   ============================================ */

/* 
   LATO PRESET - Uncomment to use Lato
   
:root {
    --font-primary: 'Lato', 'Open Sans', sans-serif;
    --font-display: 'Lato', 'Open Sans', sans-serif;
}
*/

/* 
   MIXED PRESET - Display: Manrope, Body: Lato
   
:root {
    --font-primary: 'Lato', sans-serif;
    --font-display: 'Manrope', sans-serif;
}
*/
