/* FRS approved palette. Visual-only layer; no layout or behavior changes.
   Operational alert/success/error colors retain their existing meaning. */
:root {
  --frs-black: #000000;
  --frs-steel: #17365D;
  --frs-silver: #AAB4C0;
  --frs-white: #F5F7FA;
  --bg: var(--frs-black);
  --bg-2: rgba(170,180,192,.06);
  --card: rgba(170,180,192,.06);
  --accent: var(--frs-steel);
  --accent-light: var(--frs-silver);
  --accent-soft: rgba(23,54,93,.28);
  --text: var(--frs-white);
  --text-2: var(--frs-silver);
  --border: rgba(170,180,192,.24);
  --border-strong: rgba(170,180,192,.55);
}
/* Opaque surfaces keep text contrast stable over scrolling content. */
.lang-menu { background:var(--frs-black); }
.mobile-menu { background:rgba(0,0,0,.97); }
header.bar { background:rgba(0,0,0,.96); }
.nav-inner, header.nav.scrolled .nav-inner {
  background:linear-gradient(180deg,rgba(23,54,93,.96),rgba(0,0,0,.96));
}
.btn-primary, .cta .btn, body > .btn {
  background:var(--frs-steel);
  color:var(--frs-white);
  border-color:var(--frs-silver);
}
.hero h1 .grad {
  background-image:linear-gradient(120deg,var(--frs-white),var(--frs-silver));
}
.field :is(input,textarea,select) { border-color:var(--frs-silver); }
.field :is(input,textarea)::placeholder { color:var(--frs-silver); opacity:1; }
.field .opt, .sensitive-note { opacity:1; }
.field :is(input,textarea,select):focus {
  border-color:var(--frs-white);
  outline:2px solid var(--frs-silver);
  outline-offset:3px;
}
:root body :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible {
  outline:2px solid var(--frs-white);
  outline-offset:4px;
}
.hero-badge .dot { background:var(--frs-silver); }
.lang-menu button .tick { color:var(--frs-silver); }
.sol-list li::before, .values ~ ul li::before { border-color:var(--frs-silver); }
/* Preserve the original black-and-white logo pixels and geometry. */
.frs-intro img { filter:drop-shadow(0 0 28px rgba(170,180,192,.25)); }
