/* ============================================================
   NEXT EDGE ALLIANCE — Colors & Type Foundation
   ------------------------------------------------------------
   Brand: Next Edge Alliance (NEA) / InvestorHive.ai
   Aesthetic: institutional elegance meets frontier technology.
   "Private equity meets the future."

   FONT NOTE: The brand display face is ROSONI (a commercial
   high-contrast elegant serif). It is NOT on Google Fonts.
   We substitute BODONI MODA as the nearest free Didone match
   for previewing. Replace with licensed ROSONI webfonts in
   /fonts for production. See README "Type" section.
   ============================================================ */

/* Self-hosted fonts for offline deployment (was Google Fonts CDN). */
@import url('fonts/fonts.css');

:root {
  /* ---------- BRAND PALETTE ---------- */
  --nea-ivory:        #F8F5EF;  /* primary light surface / paper */
  --nea-gold:         #C4A84B;  /* metallic gold accent */
  --nea-gold-bright:  #E0C66E;  /* lifted gold for glints/hovers */
  --nea-gold-deep:    #9C8235;  /* pressed / shadowed gold */
  --nea-amethyst:     #7B3FA0;  /* purple, brand primary */
  --nea-orchid:       #6B4FBF;  /* violet, secondary */
  --nea-indigo:       #3D4FBF;  /* electric indigo, tech accent */
  --nea-navy:         #1A1A4E;  /* midnight navy, the base */
  --nea-navy-deep:    #11112F;  /* deeper navy for full-bleed grounds */
  --nea-black:        #0A0A1C;  /* near-black space */

  /* ---------- TINTS & STROKES (on navy) ---------- */
  --nea-line:         rgba(248,245,239,0.14);   /* hairline dividers on dark */
  --nea-line-strong:  rgba(248,245,239,0.28);
  --nea-gold-line:    rgba(196,168,75,0.45);
  --nea-veil:         rgba(10,10,28,0.55);       /* protection scrim over imagery */
  --nea-glass:        rgba(248,245,239,0.06);    /* frosted panel fill on dark */

  /* ---------- TINTS & STROKES (on ivory) ---------- */
  --nea-line-ink:     rgba(26,26,78,0.12);
  --nea-line-ink-str: rgba(26,26,78,0.22);
  --nea-card-ink:     rgba(26,26,78,0.04);

  /* ---------- SEMANTIC FOREGROUND (DARK THEME = default) ---------- */
  --fg1:  #F8F5EF;                       /* primary text on navy */
  --fg2:  rgba(248,245,239,0.72);        /* secondary */
  --fg3:  rgba(248,245,239,0.50);        /* tertiary / captions */
  --fg-gold: var(--nea-gold);            /* accent text */

  /* ---------- SEMANTIC BACKGROUNDS (DARK THEME) ---------- */
  --bg1:  var(--nea-navy);               /* base ground */
  --bg2:  #20205C;                       /* raised surface */
  --bg3:  #2A2A6B;                       /* highest surface */
  --bg-deep: var(--nea-navy-deep);

  /* ---------- INK THEME (on ivory paper) ---------- */
  --ink1: #1A1A4E;                       /* primary ink */
  --ink2: rgba(26,26,78,0.66);           /* secondary ink */
  --ink3: rgba(26,26,78,0.42);           /* tertiary ink */

  /* ---------- STATUS ---------- */
  --status-live:    #3DBF8A;   /* deal live / positive */
  --status-pending: var(--nea-gold);
  --status-closed:  rgba(248,245,239,0.40);
  --status-alert:   #C45A5A;

  /* ---------- SIGNATURE GRADIENTS ---------- */
  --grad-nebula:   radial-gradient(120% 140% at 78% 8%, #3D4FBF 0%, #2A2A6B 32%, #1A1A4E 60%, #11112F 100%);
  --grad-amethyst: linear-gradient(135deg, #1A1A4E 0%, #4A2A78 55%, #7B3FA0 100%);
  --grad-gold:     linear-gradient(120deg, #9C8235 0%, #C4A84B 35%, #E8D488 52%, #C4A84B 70%, #9C8235 100%);
  --grad-datawave: linear-gradient(90deg, rgba(196,168,75,0) 0%, rgba(196,168,75,0.9) 50%, rgba(196,168,75,0) 100%);
  --grad-scrim-b:  linear-gradient(180deg, rgba(10,10,28,0) 0%, rgba(10,10,28,0.85) 100%);

  /* ---------- TYPE FAMILIES ---------- */
  --font-display: 'Bodoni Moda', 'ROSONI', 'Didot', 'Bodoni MT', serif;  /* ROSONI substitute */
  --font-sans:    'Hanken Grotesk', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  /* ---------- TYPE SCALE (display = serif, fluid for slides/web) ---------- */
  --t-hero:    clamp(56px, 8vw, 132px);  /* hero wordmark headlines */
  --t-h1:      clamp(40px, 5vw, 72px);
  --t-h2:      clamp(30px, 3.4vw, 48px);
  --t-h3:      clamp(24px, 2.2vw, 34px);
  --t-h4:      22px;
  --t-body-lg: 20px;
  --t-body:    17px;
  --t-small:   15px;
  --t-caption: 13px;
  --t-micro:   11px;

  /* ---------- TRACKING ---------- */
  --track-label: 0.22em;   /* spaced uppercase labels (ALLIANCE-style) */
  --track-eyebrow: 0.34em; /* very wide eyebrow */
  --track-tight: -0.01em;

  /* ---------- RADII ---------- */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-pill: 999px;

  /* ---------- SPACING (8pt base) ---------- */
  --s-1: 4px;  --s-2: 8px;  --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 64px;
  --s-9: 96px; --s-10: 128px;

  /* ---------- ELEVATION ---------- */
  --sh-sm: 0 1px 2px rgba(10,10,28,0.30);
  --sh-md: 0 8px 24px rgba(10,10,28,0.38);
  --sh-lg: 0 24px 60px rgba(10,10,28,0.50);
  --sh-gold-glow: 0 0 24px rgba(196,168,75,0.45), 0 0 2px rgba(196,168,75,0.8);
  --sh-indigo-glow: 0 0 32px rgba(61,79,191,0.55);
  --sh-inset-line: inset 0 0 0 1px var(--nea-line);
}

/* ============================================================
   SEMANTIC TYPOGRAPHY
   Defaults assume the DARK (navy) theme. Wrap a region in
   .on-ivory to flip foreground colors for light surfaces.
   ============================================================ */

.nea-hero {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-hero);
  line-height: 0.96;
  letter-spacing: var(--track-tight);
  color: var(--fg1);
  text-wrap: balance;
}

h1, .nea-h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-h1);
  line-height: 1.04;
  letter-spacing: -0.005em;
  color: var(--fg1);
  text-wrap: balance;
}

h2, .nea-h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--t-h2);
  line-height: 1.1;
  color: var(--fg1);
  text-wrap: balance;
}

h3, .nea-h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--t-h3);
  line-height: 1.18;
  color: var(--fg1);
}

h4, .nea-h4 {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--t-h4);
  line-height: 1.3;
  color: var(--fg1);
}

p, .nea-body {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--t-body);
  line-height: 1.62;
  color: var(--fg2);
  text-wrap: pretty;
}

.nea-body-lg {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--t-body-lg);
  line-height: 1.6;
  color: var(--fg2);
}

.nea-lede {
  font-family: var(--font-display);
  font-weight: 400;
  font-style: italic;
  font-size: var(--t-h3);
  line-height: 1.35;
  color: var(--fg1);
}

/* Spaced uppercase label — the "ALLIANCE" / eyebrow voice */
.nea-label {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: var(--t-caption);
  text-transform: uppercase;
  letter-spacing: var(--track-label);
  color: var(--fg-gold);
}

.nea-eyebrow {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: var(--t-caption);
  text-transform: uppercase;
  letter-spacing: var(--track-eyebrow);
  color: var(--fg2);
}

.nea-caption {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--t-caption);
  line-height: 1.5;
  color: var(--fg3);
}

.nea-mono {
  font-family: var(--font-mono);
  font-size: var(--t-small);
  letter-spacing: 0.01em;
  color: var(--fg2);
  font-feature-settings: "tnum" 1;
}

/* Gold metallic text fill — use sparingly on headlines/figures */
.nea-gold-text {
  background: var(--grad-gold);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--nea-gold);
}

/* Light theme flip */
.on-ivory {
  --fg1: var(--ink1);
  --fg2: var(--ink2);
  --fg3: var(--ink3);
  background: var(--nea-ivory);
}
