/* ==========================================================================
   Blue Intelligence — identidade visual (azul-marinho + dourado)
   ========================================================================== */

:root{
  --bi-navy-950:#060d20;
  --bi-navy-900:#0a1633;
  --bi-navy-800:#101f45;
  --bi-navy-700:#152a5c;
  --bi-navy-600:#1c3a74;
  --bi-gold:#e8b93f;
  --bi-gold-light:#f5d773;
  --bi-teal:#2fb3b0;
  --bi-text:#e7ecf7;
  --bi-text-muted:#a9b6d3;
  --bi-radius:14px;
  font-size:16px;
}

*{box-sizing:border-box}

body{
  background:
    radial-gradient(1100px 600px at 15% -10%, rgba(47,179,176,.18), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(232,185,63,.12), transparent 55%),
    linear-gradient(180deg, var(--bi-navy-950) 0%, var(--bi-navy-900) 45%, var(--bi-navy-950) 100%);
  color:var(--bi-text);
  font-family:'Inter','Segoe UI',Roboto,Arial,sans-serif;
  min-height:100vh;
}

a{ text-decoration:none; }
::selection{ background:var(--bi-gold); color:#101f45; }

.text-gold{ color:var(--bi-gold) !important; }
.bg-navy{ background-color:var(--bi-navy-900) !important; }

/* topbar */
.bi-topbar{
  background:linear-gradient(90deg, var(--bi-gold) 0%, var(--bi-gold-light) 50%, var(--bi-gold) 100%);
  height:5px;
  width:100%;
}

/* header */
.bi-header{
  padding:1.75rem 0 1.5rem;
  background:linear-gradient(135deg, #123a7a 0%, #041f4e 55%, #0a234f 100%);
  box-shadow:0 6px 24px rgba(0,0,0,.3);
}
.bi-logo-img{
  height:100px;
  width:auto;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.45));
  display:block;
}

/* brilho periódico sobre a logo */
.bi-logo-wrap{
  position:relative;
  display:inline-block;
  line-height:0;
}
.bi-logo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(115deg,
    transparent 30%,
    rgba(255,255,255,.85) 47%,
    rgba(255,255,255,1) 50%,
    rgba(255,255,255,.85) 53%,
    transparent 70%);
  background-size:250% 100%;
  background-repeat:no-repeat;
  background-position:-40% 0;
  -webkit-mask-image:var(--bi-logo-mask);
  mask-image:var(--bi-logo-mask);
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  mix-blend-mode:overlay;
  pointer-events:none;
  animation:bi-logo-shine 5s ease-in-out infinite;
}
@keyframes bi-logo-shine{
  0%{ background-position:-40% 0; }
  18%{ background-position:140% 0; }
  100%{ background-position:140% 0; }
}
@media (prefers-reduced-motion: reduce){
  .bi-logo-wrap::after{ animation:none; display:none; }
}

/* nav */
.navbar.bi-navbar{
  background:rgba(10,22,51,.85);
  backdrop-filter:blur(10px);
  border-top:1px solid rgba(232,185,63,.25);
  border-bottom:1px solid rgba(232,185,63,.25);
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.bi-navbar .navbar-nav .nav-link{
  color:var(--bi-text);
  font-weight:600;
  letter-spacing:.02em;
  padding:.9rem 1.1rem;
  position:relative;
  transition:color .2s ease;
}
.bi-navbar .navbar-nav .nav-link:hover,
.bi-navbar .navbar-nav .nav-link.active{
  color:var(--bi-gold-light);
}
.bi-navbar .navbar-nav .nav-link.active::after{
  content:"";
  position:absolute;
  left:1.1rem; right:1.1rem; bottom:.35rem;
  height:2px;
  background:var(--bi-gold);
  border-radius:2px;
}
.bi-navbar .navbar-toggler{
  border-color:rgba(232,185,63,.5);
}
.bi-navbar .navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(232,185,63,.35); }

/* CTA "Área do Cliente" no menu */
.bi-nav-cta{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  color:var(--bi-gold-light);
  font-weight:700;
  font-size:.92rem;
  border:1px solid rgba(232,185,63,.45);
  border-radius:999px;
  padding:.45rem 1.1rem;
  margin:.5rem 0;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.bi-nav-cta:hover{
  background:var(--bi-gold);
  color:#151b2e;
  border-color:var(--bi-gold);
}
@media (min-width:992px){
  .bi-nav-cta{ margin:0 0 0 1rem; }
}

/* hero */
.bi-hero{
  padding:4.5rem 0 3rem;
  position:relative;
}
.bi-hero h1{
  font-weight:800;
  font-size:clamp(1.9rem, 3vw + 1rem, 3rem);
  line-height:1.15;
}
.bi-hero p.lead{
  color:var(--bi-text-muted);
  font-size:1.15rem;
  max-width:640px;
}
.bi-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  color:var(--bi-gold);
  font-weight:700;
  letter-spacing:.12em;
  font-size:.78rem;
  text-transform:uppercase;
}
.bi-eyebrow::before{
  content:"";
  width:28px; height:2px;
  background:var(--bi-gold);
  display:inline-block;
}

/* section titles */
.bi-section-title{
  font-weight:800;
  color:#fff;
  margin-bottom:.4rem;
}
.bi-section-sub{
  color:var(--bi-text-muted);
  margin-bottom:2.25rem;
}
.bi-divider{
  height:2px;
  width:64px;
  background:linear-gradient(90deg, var(--bi-gold), transparent);
  margin:.6rem 0 1.75rem;
}

/* cards */
.bi-card{
  background:linear-gradient(160deg, rgba(21,42,92,.55), rgba(10,22,51,.55));
  border:1px solid rgba(232,185,63,.18);
  border-radius:var(--bi-radius);
  padding:2rem 1.75rem;
  height:100%;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
}
.bi-card:hover{
  transform:translateY(-6px);
  border-color:rgba(232,185,63,.55);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.bi-card-icon{
  width:64px;height:64px;
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(232,185,63,.12);
  border:1px solid rgba(232,185,63,.3);
  margin-bottom:1.25rem;
  overflow:hidden;
}
.bi-card-icon img{ width:100%; height:100%; object-fit:cover; }
.bi-card h3{
  font-size:1.1rem;
  font-weight:700;
  color:var(--bi-gold-light);
  margin-bottom:.6rem;
}
.bi-card p, .bi-card ul{
  color:var(--bi-text-muted);
  font-size:.95rem;
  margin-bottom:0;
}
.bi-card ul{ padding-left:1.1rem; }
.bi-card ul li{ margin-bottom:.35rem; }

/* stat / badge strip */
.bi-strip{
  background:rgba(232,185,63,.08);
  border-top:1px solid rgba(232,185,63,.2);
  border-bottom:1px solid rgba(232,185,63,.2);
  padding:2.75rem 0;
}

/* buttons */
.btn-gold{
  background:linear-gradient(135deg, var(--bi-gold-light), var(--bi-gold));
  color:#151b2e;
  font-weight:700;
  border:none;
  padding:.7rem 1.6rem;
  border-radius:999px;
  box-shadow:0 8px 22px rgba(232,185,63,.25);
  transition:transform .2s ease, box-shadow .2s ease;
}
.btn-gold:hover{
  color:#151b2e;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(232,185,63,.4);
}
.btn-outline-light-custom{
  border:1px solid rgba(231,236,247,.4);
  color:var(--bi-text);
  border-radius:999px;
  padding:.7rem 1.6rem;
  font-weight:600;
  transition:all .2s ease;
}
.btn-outline-light-custom:hover{
  background:rgba(231,236,247,.08);
  color:#fff;
  border-color:#fff;
}

/* image frame */
.bi-frame{
  border-radius:var(--bi-radius);
  overflow:hidden;
  border:1px solid rgba(232,185,63,.25);
  box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.bi-frame img{ width:100%; display:block; }

/* product cards */
.bi-product-card{
  background:linear-gradient(160deg, rgba(21,42,92,.55), rgba(10,22,51,.55));
  border:1px solid rgba(232,185,63,.18);
  border-radius:var(--bi-radius);
  overflow:hidden;
  height:100%;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
  box-shadow:0 10px 25px rgba(0,0,0,.2);
}
.bi-product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(232,185,63,.5);
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.bi-product-body{ padding:1.75rem; }
.bi-product-tag{
  display:inline-block;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.25rem .65rem;
  border-radius:999px;
  margin-bottom:.9rem;
}
.bi-product-features{ list-style:none; padding:0; margin:1.1rem 0 1.4rem; }
.bi-product-features li{
  display:flex; align-items:flex-start; gap:.5rem;
  color:var(--bi-text-muted); font-size:.92rem; margin-bottom:.5rem;
}
.bi-product-features li svg{ flex:none; margin-top:.15rem; color:var(--bi-gold); }

.bi-browser-mock{
  border-radius:12px 12px 0 0;
  overflow:hidden;
  background:#0b1730;
  border-bottom:1px solid rgba(232,185,63,.18);
}
.bi-browser-bar{
  display:flex; align-items:center; gap:.4rem;
  padding:.65rem .9rem;
  background:#0f1f45;
}
.bi-browser-dot{ width:9px; height:9px; border-radius:50%; }
.bi-browser-url{
  margin-left:.5rem; font-size:.72rem; color:var(--bi-text-muted);
  background:rgba(255,255,255,.06); padding:.22rem .7rem; border-radius:6px;
  flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.bi-browser-body{
  min-height:170px;
  display:flex; align-items:center; justify-content:center;
  padding:1.5rem;
}

/* clients grid */
.bi-client-tile{
  background:#fff;
  border-radius:12px;
  padding:1.1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  height:110px;
  border:1px solid rgba(232,185,63,.15);
  transition:transform .2s ease, box-shadow .2s ease;
}
.bi-client-tile:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(0,0,0,.35); }
.bi-client-tile img{ max-width:100%; max-height:100%; object-fit:contain; }

/* timeline / process steps */
.bi-step{
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.bi-step-num{
  flex:none;
  width:44px;height:44px;
  border-radius:50%;
  background:rgba(232,185,63,.14);
  border:1px solid rgba(232,185,63,.4);
  color:var(--bi-gold-light);
  font-weight:800;
  display:flex;align-items:center;justify-content:center;
}

/* forms */
.bi-form .form-control, .bi-form .form-select{
  background:rgba(6,13,32,.55);
  border:1px solid rgba(232,185,63,.25);
  color:var(--bi-text);
  border-radius:10px;
  padding:.7rem .9rem;
}
.bi-form .form-control::placeholder{ color:#7d8bab; }
.bi-form .form-control:focus, .bi-form .form-select:focus{
  background:rgba(6,13,32,.75);
  border-color:var(--bi-gold);
  color:#fff;
  box-shadow:0 0 0 .2rem rgba(232,185,63,.2);
}
.bi-form label{ color:var(--bi-text-muted); font-weight:600; font-size:.88rem; }

/* footer */
.bi-footer{
  background:var(--bi-navy-950);
  border-top:1px solid rgba(232,185,63,.2);
  padding:3rem 0 1.5rem;
  color:var(--bi-text-muted);
}
.bi-footer h5{ color:#fff; font-weight:700; margin-bottom:1rem; }
.bi-footer a{ color:var(--bi-text-muted); }
.bi-footer a:hover{ color:var(--bi-gold-light); }
.bi-footer .bi-social a{
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid rgba(232,185,63,.35);
  display:inline-flex;align-items:center;justify-content:center;
  margin-right:.5rem;
  color:var(--bi-gold-light);
}
.bi-footer .bi-social a:hover{ background:var(--bi-gold); color:#101f45; }
.bi-copy{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:2rem;
  padding-top:1.25rem;
  font-size:.85rem;
}

/* whatsapp float */
.bi-whatsapp-float{
  position:fixed;
  right:22px; bottom:22px;
  width:58px; height:58px;
  border-radius:50%;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.4);
  z-index:1000;
  transition:transform .2s ease;
}
.bi-whatsapp-float:hover{ transform:scale(1.08); }
.bi-whatsapp-float svg{ width:28px; height:28px; fill:#fff; }

/* breadcrumb hero (inner pages) */
.bi-page-hero{
  padding:3.25rem 0 2.5rem;
  border-bottom:1px solid rgba(232,185,63,.15);
}
.bi-page-hero h1{ font-weight:800; }
.bi-page-hero .breadcrumb{ background:transparent; padding:0; margin-bottom:.75rem;}
.bi-page-hero .breadcrumb a{ color:var(--bi-text-muted); }
.bi-page-hero .breadcrumb-item.active{ color:var(--bi-gold); }
.bi-page-hero .breadcrumb-item+.breadcrumb-item::before{ color:var(--bi-text-muted); }

@media (max-width:991.98px){
  .bi-navbar .navbar-nav .nav-link.active::after{ display:none; }
}
