/* ============================================================
   NUMINOVA PRIVÉ — REGISTER LAYER · prive.css
   ============================================================
   NumiNova Privé is NOT a separate brand. It is the master
   NumiNova CI re-weighted into a "members' / nocturnal register" —
   an endorsed tier within the branded house.

   This file does not redefine the brand. It loads AFTER
   colors_and_type.css and only RE-PITCHES the master tokens:
     · white-led ground   →  nocturnal obsidian/ink ground
     · cool inverse whites →  warm champagne/ivory text
     · gold as accent      →  gold as the lead luxury signal
     · clarity blue / data →  retired from view (Privé is not a tool)
     · evidence voice      →  invitational, sensory, ceremonial

   Everything structural — the nova mark, the type triad, the
   spacing rhythm, the hairline-over-shadow discipline, the small
   radii — is INHERITED unchanged. That is what keeps Privé
   unmistakably NumiNova.

   Load order:  colors_and_type.css  →  prive.css  →  page CSS.
   ============================================================ */

/* Privé type faces — Cormorant Garamond (display/wordmark, + SC) and Mulish
   (body/UI). Locked Foundation 01–02. Loaded here, available system-wide. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Cormorant+SC:wght@400;500;600&family=Mulish:wght@300;400;500;600;700&display=swap');

:root {

  /* ─── PRIVÉ GROUND · the nocturnal field ──────────────────────────────── */
  /* Privé inverts the master's white-led system. Obsidian is the deepest
     ground (a touch below the master --nn-ink, navy undertone, never pure
     black). Ink and navy become the RAISED surfaces. */
  --pv-obsidian:       #070B11;   /* Deepest ground — covers, full-bleed fields */
  --pv-ink:            #0C1622;   /* = --nn-ink — primary dark surface */
  --pv-navy:           #16243B;   /* = --nn-navy — raised panel, card */
  --pv-navy-soft:      #243651;   /* = --nn-navy-soft — hover / second elevation */
  --pv-veil:           rgba(7,11,17,0.72);   /* image-protection scrim over photography */

  /* ─── PRIVÉ LIGHT · warm whites (the register's tell) ─────────────────── */
  /* The master's inverse whites are COOL (#F6F7F9). Privé shifts them WARM —
     champagne / ivory. Still within the brand's "warm-neutral white" rule,
     but it reads as candlelight rather than daylight. White is reserved. */
  --pv-champagne:      #E7DBC0;   /* Signature warm light — the Privé "ivory metallic" */
  --pv-champagne-deep: #CDBE9A;   /* Pressed / secondary champagne */
  --pv-text:           #F2EEE4;   /* Primary text on dark — warm ivory */
  --pv-text-mute:      rgba(242,238,228,0.64);  /* Secondary text on dark */
  --pv-text-subtle:    rgba(242,238,228,0.40);  /* Tertiary / micro-copy on dark — non-essential, ≥18px only (3.4:1, large-text AA) */
  --pv-text-caption:   rgba(242,238,228,0.62);  /* Caption & metadata — legibility-safe (6.9:1 on obsidian, AA). Use for any small reading text */
  --pv-white:          #FFFFFF;   /* Reserved — true white, rare emphasis only */

  /* ─── PRIVÉ LIGHT EDITORIAL REGISTER · for long-form reading ──────────── */
  /* Additive: nocturnal is primary, but editorially heavy pages read better on
     a warm light ground. A sanctioned ivory surface ladder with navy ink text,
     gold-DEEP accents (gold-soft fails on light), and warm panels/hairlines so
     light surfaces are never stark. All text roles contrast-verified on #F4F0E6. */
  --pv-ivory:          #F4F0E6;   /* @kind color */ /* light editorial ground (base) */
  --pv-ivory-raised:   #FBF8F1;   /* @kind color */ /* raised panel / card on ivory */
  --pv-ivory-sunk:     #ECE4D4;   /* @kind color */ /* recessed / alternate band on ivory */
  --pv-parchment:      #E4DAC6;   /* @kind color */ /* warm tonal panel — adds warmth, breaks starkness */
  --pv-ink-text:       #14233A;   /* @kind color */ /* primary text on ivory — navy ink (13.8:1, AAA) */
  --pv-ink-text-mute:  rgba(20,35,58,0.74);  /* @kind color */ /* secondary text on ivory (8.9:1, AAA) */
  --pv-ink-text-soft:  rgba(20,35,58,0.58);  /* @kind color */ /* caption/meta on ivory (5.9:1, AA) */
  --pv-gold-on-light:  #8A6A22;   /* @kind color */ /* gold accent legible on ivory (4.9:1, AA) — eyebrows, links */
  --pv-hairline-ink:   rgba(20,35,58,0.14);  /* @kind color */ /* division on ivory */
  --pv-hairline-gold:  rgba(148,118,47,0.34); /* @kind color */ /* gold hairline on ivory */

  /* ─── PRIVÉ GOLD · the lead, not the accent ───────────────────────────── */
  /* In the master, gold is one accent among neutrals. In Privé it does the
     primary luxury work — the rule, the mark, the seal, the key lines. */
  --pv-gold:           #BE9A4E;   /* = --nn-gold */
  --pv-gold-soft:      #DCC079;   /* = --nn-gold-soft — gold text/lines on dark */
  --pv-gold-deep:      #94762F;   /* = --nn-gold-deep */
  --pv-gold-line:      rgba(190,154,78,0.30);  /* the "velvet rope" hairline */
  --pv-gold-line-soft: rgba(190,154,78,0.16);  /* faintest gold division */

  /* ─── PRIVÉ HAIRLINES & DIVISION (hairline > shadow, inherited) ────────── */
  --pv-hairline:       rgba(242,238,228,0.14);  /* warm-white hairline on dark */
  --pv-hairline-soft:  rgba(242,238,228,0.08);  /* faintest division */

  /* ─── PRIVÉ ELEVATION · deep, soft, never harsh ───────────────────────── */
  --pv-shadow-sm:      0 2px 14px rgba(0,0,0,0.40);
  --pv-shadow-md:      0 18px 50px rgba(0,0,0,0.50);
  --pv-shadow-lg:      0 40px 90px rgba(0,0,0,0.58);
  --pv-shadow-gold:    0 0 0 1px rgba(190,154,78,0.30), 0 24px 70px rgba(0,0,0,0.55);

  /* ─── PRIVÉ FIELDS · flat luxury, the rare considered gradient ─────────── */
  --pv-field-obsidian: radial-gradient(120% 90% at 50% -10%, #14213A 0%, #0A111C 46%, #070B11 100%); /* @kind color */
  --pv-field-seal:     radial-gradient(70% 70% at 50% 30%, rgba(190,154,78,0.20) 0%, rgba(190,154,78,0) 62%); /* @kind color */
  --pv-grad-gold:      linear-gradient(135deg, #94762F 0%, #DCC079 48%, #BE9A4E 100%); /* @kind color */

  /* ─── PRIVÉ TYPE REGISTER ─────────────────────────────────────────────── */
  /* The wordmark/logo face is Cormorant Garamond — LOCKED (Foundation 01),
     chosen for its couture delicacy and sophistication. Body & UI inherit the
     master Hanken Grotesk; data/eyebrows inherit IBM Plex Mono (under review).
     Privé sets the serif LARGER, LIGHTER and more OPEN; tracks wide. */
  --pv-font-wordmark:  'Cormorant Garamond', 'Cormorant', Georgia, serif; /* @kind font */ /* logo + display headlines */
  --pv-font-wordmark-sc: 'Cormorant SC', 'Cormorant Garamond', serif;     /* @kind font */ /* small-caps cut */
  --pv-wordmark-weight: 500; /* @kind font */ /* reproduction rule: 500 min; 600 for foil/emboss */
  --pv-font-body:      'Mulish', ui-sans-serif, system-ui, -apple-system, sans-serif; /* @kind font */ /* body & UI — chosen over Hanken for refinement */
  --pv-text-body:      rgba(242,238,228,0.80);  /* @kind color */ /* Reading body — AAA on every ground (10.9:1 obsidian, 8.6:1 navy). Use for Body & Body-small */
  --pv-track-wordmark: 0.34em;   /* @kind font */ /* the "PRIVÉ" qualifier — widely spaced caps */
  --pv-track-eyebrow:  0.30em;   /* @kind font */ /* mono eyebrows, wider than the master's 0.06 */
  --pv-leading-air:    1.16;     /* @kind font */ /* serif display, a touch more open than master tight */
}

/* ============================================================
   PRIVÉ SEMANTIC HELPERS
   Thin set — most type inherits the master .nn-* classes, then
   sits on a dark ground. These only cover the register's tells.
   ============================================================ */

/* Ground utilities */
.pv-on-dark            { color: var(--pv-text); }
.pv-bg-obsidian        { background: var(--pv-obsidian); color: var(--pv-text); }
.pv-bg-field           { background: var(--pv-field-obsidian); color: var(--pv-text); }
.pv-bg-ink             { background: var(--pv-ink); color: var(--pv-text); }
.pv-bg-navy            { background: var(--pv-navy); color: var(--pv-text); }

/* Eyebrow — Privé register: mono, champagne or gold, widely tracked */
.pv-eyebrow {
  font-family: var(--nn-font-mono);
  font-size: var(--nn-overline);
  font-weight: var(--nn-fw-medium);
  letter-spacing: var(--pv-track-eyebrow);
  text-transform: uppercase;
  color: var(--pv-gold-soft);
}

/* The Privé wordmark qualifier — "PRIVÉ" set in mono caps, gold, wide */
.pv-qualifier {
  font-family: var(--nn-font-mono);
  font-weight: var(--nn-fw-medium);
  letter-spacing: var(--pv-track-wordmark);
  text-transform: uppercase;
  color: var(--pv-gold-soft);
}

/* Display headline on dark — Playfair, light, warm-white, open */
.pv-display {
  font-family: var(--nn-font-display);
  font-weight: var(--nn-fw-regular);
  line-height: var(--pv-leading-air);
  letter-spacing: var(--nn-track-tight);
  color: var(--pv-text);
  margin: 0;
  text-wrap: balance;
}

/* Gold rule — the master signature, on dark */
.pv-rule {
  width: 56px; height: 1.5px; border: 0;
  background: var(--pv-gold); margin: 0;
}

/* Lead / body on dark, warm-muted */
.pv-lead {
  font-family: var(--nn-font-body);
  font-size: var(--nn-lead);
  font-weight: var(--nn-fw-regular);
  line-height: var(--nn-leading-loose);
  color: var(--pv-text-mute);
  margin: 0; text-wrap: pretty;
}
.pv-body {
  font-family: var(--nn-font-body);
  font-size: var(--nn-body);
  line-height: var(--nn-leading-relaxed);
  color: var(--pv-text-mute);
  margin: 0; text-wrap: pretty;
}

/* The "velvet rope" gated affordance — by-invitation gate */
.pv-gate {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--nn-font-mono);
  font-size: var(--nn-overline);
  letter-spacing: var(--pv-track-eyebrow);
  text-transform: uppercase;
  color: var(--pv-gold-soft);
  padding: 12px 22px;
  border: 1px solid var(--pv-gold-line);
  border-radius: var(--nn-radius-sm);
  background: rgba(190,154,78,0.04);
}

/* Primary Privé action — gold key line, never filled-flashy */
.pv-cta {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--nn-font-body);
  font-size: var(--nn-body-sm);
  font-weight: var(--nn-fw-medium);
  letter-spacing: 0.01em;
  color: var(--pv-obsidian);
  background: var(--pv-gold);
  padding: 14px 26px;
  border: 0; border-radius: var(--nn-radius-sm);
  cursor: pointer;
  transition: background var(--nn-dur-base) var(--nn-ease);
}
.pv-cta:hover { background: var(--pv-gold-soft); }

/* Subtle "request an invitation" — discreet, text-led, gold underline on hover */
.pv-request {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--nn-font-body);
  font-size: var(--nn-body-sm);
  color: var(--pv-text-mute);
  background: transparent; border: 0; cursor: pointer;
  border-bottom: 1px solid transparent;
  transition: color var(--nn-dur-base) var(--nn-ease), border-color var(--nn-dur-base) var(--nn-ease);
}
.pv-request:hover { color: var(--pv-gold-soft); border-bottom-color: var(--pv-gold-line); }

/* ─── LIGHT EDITORIAL REGISTER · helper surface ───────────────────────────
   Opt a section into the warm light register for long-form reading.
   Wrap content in .pv-light; text/eyebrow/rule/links re-pitch automatically. */
.pv-light {
  background: var(--pv-ivory);
  color: var(--pv-ink-text);
}
.pv-light.pv-light--raised { background: var(--pv-ivory-raised); }
.pv-light.pv-light--sunk   { background: var(--pv-ivory-sunk); }
.pv-light .pv-display,
.pv-light h1, .pv-light h2, .pv-light h3 { color: var(--pv-ink-text); }
.pv-light p { color: var(--pv-ink-text-mute); }
.pv-light .pv-eyebrow { color: var(--pv-gold-on-light); }
.pv-light .pv-caption { color: var(--pv-ink-text-soft); }
.pv-light .pv-rule { background: var(--pv-gold-deep); }
.pv-light a { color: var(--pv-gold-on-light); }
.pv-light .pv-hairline { border-color: var(--pv-hairline-ink); }
/* warm tonal panel — the element that stops ivory reading stark */
.pv-panel-warm {
  background: var(--pv-parchment);
  border: 1px solid var(--pv-hairline-gold);
  border-radius: var(--nn-radius-md);
}
/* gold CTA still works on light; a quiet outline variant for ivory grounds */
.pv-light .pv-cta-outline {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--nn-font-body); font-size: var(--nn-body-sm);
  font-weight: var(--nn-fw-medium); letter-spacing: 0.01em;
  color: var(--pv-ink-text); background: transparent;
  padding: 13px 25px; border: 1px solid var(--pv-gold-deep);
  border-radius: var(--nn-radius-sm); cursor: pointer;
  transition: background var(--nn-dur-base) var(--nn-ease), color var(--nn-dur-base) var(--nn-ease);
}
.pv-light .pv-cta-outline:hover { background: var(--pv-gold-deep); color: var(--pv-ivory); }
