/*
 * flii shared brand foundation
 *
 * Source: Jet1 Brand Exploration V3, Option 1.
 * Times Now and Neue Montreal are commercial typefaces. The family names below
 * activate licensed local or future self-hosted copies; carefully matched system
 * fallbacks keep the interface consistent until webfont files are supplied.
 */

:root {
  color-scheme: light;

  /* Core palette */
  --brand-gunmetal: #1d1f21;
  --brand-gunmetal-soft: #2b2e31;
  --brand-platinum: #eaeaea;
  --brand-french-beige: #c7a97f;
  --brand-white: #ffffff;
  --brand-french-beige-rgb: 199, 169, 127;
  --brand-gunmetal-rgb: 29, 31, 33;

  /* Semantic color roles */
  --brand-page: var(--brand-platinum);
  --brand-surface: #f8f7f4;
  --brand-surface-strong: var(--brand-white);
  --brand-text: var(--brand-gunmetal);
  --brand-text-muted: #606366;
  --brand-line: #d0cec9;
  --brand-line-strong: #b7b4ae;
  --brand-accent-soft: #e9dfd1;
  --brand-accent-faint: #f3eee7;
  --brand-link: #4d4032;
  --brand-on-dark: #f5f3ef;
  --brand-on-dark-muted: #c7c7c5;

  /* Functional states remain distinct and accessible. */
  --state-success-bg: #e1eee7;
  --state-success-text: #245d43;
  --state-warning-bg: #f6ead3;
  --state-warning-text: #6f4d18;
  --state-danger-bg: #f3e2de;
  --state-danger: #883d31;

  /* Typography */
  --font-display: "Times Now", "TimesNow", "TimesNow-ExtraLight", "Iowan Old Style", Baskerville, "Times New Roman", serif;
  --font-sans: "Neue Montreal", "PP Neue Montreal", "PPNeueMontreal-Book", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-wordmark: "Neue Montreal", "PP Neue Montreal", "Helvetica Neue", Helvetica, Arial, sans-serif;

  /* Shared finish */
  --radius-control: 8px;
  --radius-card: 14px;
  --shadow-raised: 0 22px 60px rgba(var(--brand-gunmetal-rgb), .14);
  --shadow-card: 0 8px 30px rgba(var(--brand-gunmetal-rgb), .07);
  --focus-ring: 0 0 0 3px rgba(var(--brand-french-beige-rgb), .34);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--brand-page); }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--brand-page);
  color: var(--brand-text);
  font: 400 15px/1.5 var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: var(--brand-link); text-underline-offset: 3px; }
[hidden] { display: none !important; }

h1, h2, .brand-display {
  font-family: var(--font-display);
  font-weight: 200;
  letter-spacing: -.025em;
}

.wordmark,
.admin-brand strong {
  font-family: var(--font-wordmark);
  font-weight: 400;
  letter-spacing: .24em;
  text-transform: lowercase;
}

.eyebrow {
  color: var(--brand-text);
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .19em;
  text-transform: uppercase;
}

::selection { background: var(--brand-french-beige); color: var(--brand-gunmetal); }
:focus-visible { outline: 2px solid var(--brand-french-beige); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}
