/* ---------- TOKENS ---------- */
.fbi-pr{
  --navy-900:#041853;
  --navy-700:#042B6D;
  --blue-600:#0066CC;
  --blue-500:#0B87D0;

  /* process inks — this page thinks in CMYK */
  --cyan:#00AEEF;
  --magenta:#EC008C;
  --yellow:#FFDD00;
  --key:#14121C;
  --violet:#7B2FD6;
  --violet-deep:#4A1690;
  --amber:#F5821F;
  --amber-lt:#FBB040;

  --paper:#FFFFFF;
  --mist:#F7F5FB;
  --line:#E7E3F0;
  --ink:#16141F;
  --ink-soft:#57536B;

  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px;
  --shadow-1:0 2px 10px rgba(22,20,31,.06);
  --shadow-2:0 18px 44px -18px rgba(22,20,31,.30);

  --h-font:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --b-font:'Inter',system-ui,-apple-system,sans-serif;

  font-family:var(--b-font);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.fbi-pr *,.fbi-pr *::before,.fbi-pr *::after{box-sizing:border-box;}
.fbi-pr h1,.fbi-pr h2,.fbi-pr h3,.fbi-pr h4{
  font-family:var(--h-font); color:var(--navy-900);
  margin:0; line-height:1.15; letter-spacing:-.02em;
}
.fbi-pr p{margin:0;}
.fbi-pr a{text-decoration:none;}
.fbi-pr img{max-width:100%; display:block;}

/* --------------------------------------------------------------------------
   THEME RESET — the WP/Elementor theme styles bare <button> elements and its
   :hover rules outrank plain classes. Buttons opt out here, then re-declare
   their own look with .fbi-pr prepended so they win on specificity.
   -------------------------------------------------------------------------- */
.fbi-pr button,
.fbi-pr button:hover,
.fbi-pr button:focus,
.fbi-pr button:active{
  -webkit-appearance:none; appearance:none;
  background-image:none; text-shadow:none;
  font-family:inherit; text-transform:none; letter-spacing:normal;
}

.fbi-pr__wrap{max-width:1220px; margin:0 auto; padding:0 24px;}

.fbi-pr__eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--h-font); font-size:.72rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--violet);
}
.fbi-pr__eyebrow::before{
  content:""; width:22px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--cyan),var(--magenta),var(--yellow));
}
.fbi-pr__h2{font-size:clamp(1.75rem,3.4vw,2.6rem); margin-top:14px;}
.fbi-pr__lede{color:var(--ink-soft); max-width:62ch; margin-top:14px; font-size:1.02rem;}


/* ==========================================================================
   REVEAL + A11Y + RESPONSIVE
   ========================================================================== */
.fbi-pr [data-reveal]{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.fbi-pr [data-reveal].is-in{opacity:1; transform:none;}

.fbi-pr a:focus-visible,.fbi-pr button:focus-visible,.fbi-pr input:focus-visible{
  outline:3px solid var(--violet); outline-offset:3px; border-radius:4px;
}
@media (max-width:600px){
.fbi-pr__wrap{padding:0 18px;}
.fbi-pr-tabs{flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px;
    scrollbar-width:none; -ms-overflow-style:none;}
.fbi-pr-tabs::-webkit-scrollbar{display:none;}
}
@media (prefers-reduced-motion:reduce){
.fbi-pr *,.fbi-pr *::before,.fbi-pr *::after{animation:none !important; transition:none !important;}
.fbi-pr [data-reveal]{opacity:1; transform:none;}
}
