/* ============================================================
   BROWARD IMPACT — EXPERIENCE LAYER
   Intro brand reveal + seamless page transitions.
   Modeled on videinfra / righteous / oknoplast / fenestra loaders.
   ============================================================ */

.bi-overlay{
  position:fixed; inset:0; z-index:100000; background:#0a1a2f;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  opacity:1; transition:opacity .55s cubic-bezier(.76,0,.24,1);
  will-change:opacity;
}
.bi-overlay.is-out{ opacity:0; pointer-events:none; }

.bi-overlay::before{ /* subtle red sweep accent */
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 80% at 50% 120%, rgba(200,16,46,.18), transparent 60%);
}

.bi-ov__inner{ position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; }

.bi-ov__shield{ width:64px; height:64px; opacity:0; transform:translateY(14px) scale(.9);
  animation:bi-pop .8s cubic-bezier(.16,1,.3,1) .05s forwards; }

.bi-ov__brand{ display:flex; gap:.34em; overflow:hidden; }
.bi-ov__brand span{
  font-family:'Montserrat',sans-serif; font-weight:900; letter-spacing:.02em;
  font-size:clamp(30px,7vw,62px); line-height:1; color:#fff;
  transform:translateY(110%); animation:bi-rise .9s cubic-bezier(.16,1,.3,1) forwards;
}
.bi-ov__brand span:nth-child(1){ animation-delay:.18s; }
.bi-ov__brand span:nth-child(2){ color:var(--mo-red,#c8102e); animation-delay:.30s; }

.bi-ov__sub{ font-family:'Inter',sans-serif; font-weight:600; letter-spacing:.42em;
  font-size:11px; text-transform:uppercase; color:rgba(255,255,255,.6);
  opacity:0; animation:bi-fade .7s ease .55s forwards; }

.bi-ov__bar{ position:absolute; left:0; bottom:0; height:2px; width:100%;
  background:rgba(255,255,255,.12); }
.bi-ov__bar i{ display:block; height:100%; width:0%;
  background:linear-gradient(90deg,var(--mo-red,#c8102e),#ff3d5a); transition:width .15s linear; }
.bi-ov__count{ position:absolute; right:26px; bottom:22px;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:42px; color:rgba(255,255,255,.9);
  font-variant-numeric:tabular-nums; }
.bi-ov__count sup{ font-size:18px; opacity:.5; margin-left:2px; }

@keyframes bi-pop{ to{ opacity:1; transform:none; } }
@keyframes bi-rise{ to{ transform:none; } }
@keyframes bi-fade{ to{ opacity:1; } }

/* the "cover" used between page navigations is the same overlay, no intro content */
.bi-overlay.is-transition .bi-ov__count,
.bi-overlay.is-transition .bi-ov__bar{ display:none; }
.bi-overlay.is-transition .bi-ov__brand span{ animation-duration:.55s; }

@media (prefers-reduced-motion:reduce){
  .bi-overlay{ transition:opacity .2s linear; }
  .bi-ov__shield,.bi-ov__brand span,.bi-ov__sub{ animation:none !important; opacity:1 !important; transform:none !important; }
  .bi-ov__count,.bi-ov__bar{ display:none; }
}
