/**
 * Nipun India — global design tokens (all public pages).
 */
:root,
.hp-page-root,
.hp-modern {
    --hp-brand: #3170de;
    --hp-indigo: #3170de;
    --hp-indigo-dark: #2559b8;
    --hp-brand-soft: #e8f0fd;
    --hp-gold: #eaad3a;
    --hp-gold-light: #f4c842;
    --hp-orange: #ea580c;
    --hp-orange-light: #f97316;
    --hp-orange-dark: #c2410c;
    --hp-orange-soft: #fff7ed;
    --hp-color-hover-accent: var(--hp-orange);
    --hp-color-hover-accent-dark: var(--hp-orange-dark);
    --hp-pink: #de3163;
    --hp-navy: #002443;
    --hp-navy-mid: #0a3d6e;
    --hp-ink: #0a0a0a;
    --hp-muted: #475569;
    --hp-border: #e2e8f0;
    --hp-surface: #ffffff;
    --hp-soft: #f8fafc;

    --hp-color-text: var(--hp-ink);
    --hp-color-text-muted: var(--hp-muted);
    --hp-color-link: var(--hp-indigo-dark);

    --hp-font-sans: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --hp-font-hero: 'Inter', 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --hp-font-display: 'Source Serif 4', Georgia, serif;

    /* Hero video — US enterprise type scale (kicker → title → body) */
    --hp-hero-kicker-size: clamp(0.6875rem, 0.75vw + 0.5rem, 0.8125rem);
    --hp-hero-title-size: clamp(2.5rem, 3.8vw + 1rem, 4.125rem);
    --hp-hero-desc-size: clamp(1.0625rem, 0.45vw + 0.95rem, 1.25rem);
    --hp-hero-leading-title: 1.08;
    --hp-hero-leading-body: 1.55;
    --hp-hero-tracking-kicker: 0.18em;
    --hp-hero-tracking-title: -0.032em;

    --hp-weight-regular: 400;
    --hp-weight-medium: 500;
    --hp-weight-semibold: 600;
    --hp-weight-bold: 700;
    --hp-weight-extrabold: 800;

    --hp-text-xs: 0.8125rem;
    --hp-text-sm: 1.0625rem;
    --hp-text-base: 1.125rem;
    --hp-text-lg: 1.28125rem;
    --hp-text-xl: 1.5rem;
    --hp-text-2xl: clamp(1.5rem, 3vw, 2rem);
    --hp-text-3xl: clamp(2rem, 4.5vw, 2.75rem);

    --hp-leading-normal: 1.7;
    --hp-leading-tight: 1.25;
    --hp-tracking-tight: -0.02em;
    --hp-tracking-normal: 0.015em;
    --hp-tracking-wide: 0.04em;

    --hp-radius: 16px;
    --hp-radius-md: 12px;
    --hp-radius-sm: 10px;
    --hp-radius-pill: 999px;
    --hp-shadow-sm: 0 4px 14px -4px rgba(15, 23, 42, 0.08);
    --hp-header-h: 4.75rem;
    --hp-section-y: clamp(3.5rem, 7vw, 5.75rem);
    --hp-container-max: min(1560px, calc((100vw - 2.5rem + 1180px) / 2));
}

.hp-modern {
    font-family: var(--hp-font-sans);
    font-size: var(--hp-text-base);
    line-height: var(--hp-leading-normal);
    letter-spacing: var(--hp-tracking-normal);
    color: var(--hp-color-text);
    -webkit-font-smoothing: antialiased;
}
