/* ============================================================
   FOSCO — shared brand tokens (Midnight & Coral, v1.0)
   Import AFTER fonts/outfit.css in every site.
   ============================================================ */
:root {
  /* Core palette */
  --midnight: #191D2E;
  --ivory: #F6F4EF;
  --coral: #FF6B4A;
  /* Supporting neutrals */
  --cool-muted: #8E93A8;
  --warm-muted: #9A917F;
  --hairline: #E3DFD6;
  --deep-coral: #B54127;
  /* Derived (backgrounds/lines on midnight) */
  --midnight-soft: #232838;   /* raised surface on midnight */
  --midnight-line: rgba(246, 244, 239, 0.14);
  --ivory-line: #E3DFD6;
  --ivory-dim: rgba(246, 244, 239, 0.72);

  --font: 'Outfit', 'Poppins', ui-sans-serif, system-ui, sans-serif;

  /* Type rules from the guide */
  --ls-headline: -0.03em;     /* headlines: -2% to -4%, Bold, sentence case */
  --ls-label: 0.2em;          /* labels: Medium, UPPERCASE, +18–24% */
  --lh-body: 1.5;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font);
  font-weight: 400;
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, video, svg, canvas { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; color: inherit; }
a { color: inherit; }

/* Label / kicker utility — Outfit Medium, uppercase, tracked wide */
.fx-label {
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: var(--ls-label);
  font-size: 0.72rem;
}

/* Headline utility — Outfit Bold, tightened, sentence case */
.fx-headline {
  font-weight: 700;
  letter-spacing: var(--ls-headline);
  line-height: 1.04;
  margin: 0;
}

:focus-visible {
  outline: 2px solid var(--coral);
  outline-offset: 3px;
  border-radius: 2px;
}
::selection { background: var(--coral); color: var(--ivory); }
