:root{
  /* Paleta puxada das artes (aproximação) */
  --brb-blue-900:#071a2b;
  --brb-blue-800:#0A3354;   /* dominante */
  --brb-blue-700:#154F6E;
  --brb-blue-600:#27678F;

  --brb-green-700:#3fae2a;
  --brb-green-600:#65BC33; /* botões */
  --brb-green-500:#8FD567; /* highlights */

  --brb-white:#ffffff;
  --brb-text:#eaf3f7;
  --brb-muted:rgba(234,243,247,.75);

  --brb-radius:18px;
  --brb-shadow:0 18px 40px rgba(0,0,0,.35);
  --brb-shadow-soft:0 12px 28px rgba(0,0,0,.25);

  --brb-glow:0 0 0 2px rgba(143,213,103,.22), 0 0 26px rgba(143,213,103,.25);
  --brb-glow-strong:0 0 0 2px rgba(143,213,103,.28), 0 0 38px rgba(143,213,103,.35);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }

html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body.brb-page{
  font-family:"Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(900px 500px at 10% 0%, rgba(39,103,143,.55), transparent 60%),
    radial-gradient(900px 500px at 90% 15%, rgba(143,213,103,.22), transparent 60%),
    linear-gradient(180deg, var(--brb-blue-900), var(--brb-blue-800) 45%, var(--brb-blue-900));
  color:var(--brb-text);
  overflow-x:hidden;
  padding-bottom:16px; /* espaço do FAB no mobile */
  padding-top:78px;
  height:100vh;
}

.img-link{
  display:block;
  overflow:hidden;
  border-radius:8px;
}

.img-link img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .4s ease, filter .4s ease;
}

/* mantém seu hover normal no desktop */
.img-link:hover img{
  transform:scale(1.06);
  filter:brightness(.95);
}

@media (max-width:575.98px){
  /* no mobile, desativa hover e usa a classe do scroll */
  .img-link:hover img{
    transform:none !important;
    filter:none !important;
  }

  .img-link.is-active img{
    transform:scale(1.06);
    filter:brightness(.95);
    transition:transform .4s ease, filter .4s ease;
  }
}

.brb-container{ max-width:1340px; }

.brb-topbar{
  position:fixed;
  width:100%;
  top:0;
  z-index:50;
  backdrop-filter:blur(10px);
  background:rgba(7,26,43,.6);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.brb-logo{
  height:50px;
  width:auto;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.35));
}

.brb-section{ padding:56px 0; position:relative; }
@media (max-width:575.98px){
  .brb-section{ padding:35px 0; }
}

.brb-hero{
  padding-top:30px;
  padding-bottom:56px;
}

.brb-title{
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.02;
  font-size:clamp(2rem, 5.2vw, 3.06rem);
  margin:0;
  text-transform:uppercase;
}

.brb-subtitle{
  color:var(--brb-muted);
  font-weight:800;
  text-transform:uppercase;
  line-height:1.25;
}

.brb-h2{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.02em;
  margin:0;
  font-size:clamp(1.35rem, 3.4vw, 2.05rem);
}

.brb-p{
  color:var(--brb-muted);
  font-weight:800;
  text-transform:uppercase;
}

.brb-badge{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem .75rem;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--brb-shadow-soft);
  font-weight:800;
  text-transform:uppercase;
  font-size:.78rem;
}

.brb-note{
  color:rgba(255,255,255,.72);
  font-weight:800;
  text-transform:uppercase;
  font-size:.78rem;
}

.brb-media-card{
  border-radius:var(--brb-radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--brb-shadow);
  padding:10px;
  position:relative;
  overflow:hidden;
}

.brb-media-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 260px at 20% 0%, rgba(143,213,103,.18), transparent 55%),
    radial-gradient(520px 260px at 90% 20%, rgba(39,103,143,.22), transparent 55%);
  pointer-events:none;
}

.brb-media-img{
  border-radius:calc(var(--brb-radius) - 8px);
  position:relative;
  z-index:1;
  display:block;
  width:100%;
}

.brb-card{
  border-radius:var(--brb-radius);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--brb-shadow);
  overflow:hidden;
}

.brb-card-head{ padding:16px 16px 0; }
.brb-card-body{ padding:16px; }

.brb-kicker{
  font-weight:900;
  letter-spacing:.06em;
  font-size:.72rem;
  color:rgba(255,255,255,.70);
  text-transform:uppercase;
}

.brb-card-title{
  font-weight:900;
  text-transform:uppercase;
  font-size:1.15rem;
  letter-spacing:-.01em;
}

.brb-pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.4rem .6rem;
  border-radius:999px;
  font-weight:900;
  text-transform:uppercase;
  font-size:.72rem;
  background:rgba(143,213,103,.14);
  border:1px solid rgba(143,213,103,.22);
  box-shadow:var(--brb-glow);
}

.brb-pill-purple{
  background:rgba(156, 94, 255, .14);
  border:1px solid rgba(156, 94, 255, .22);
  box-shadow:0 0 0 2px rgba(156, 94, 255, .12), 0 0 26px rgba(156, 94, 255, .18);
}

.brb-shot{
  border-radius:calc(var(--brb-radius) - 8px);
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.10);
  padding:0;
}

.brb-shot img{ border-radius:8px; }

.brb-btn{
  background:linear-gradient(180deg, var(--brb-green-500), var(--brb-green-600));
  color:#06261C;
  border:none;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.01em;
  box-shadow:var(--brb-glow-strong), 0 10px 20px rgba(0,0,0,.35);
  border-radius:16px;
  padding:.9rem 1rem;
}

.brb-btn:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}

.brb-btn:active{
  transform:translateY(0);
  filter:brightness(.98);
}

.brb-btn-outline{
  background:rgba(255,255,255,.06);
  color:var(--brb-text);
  border:1px solid rgba(255,255,255,.16);
  font-weight:900;
  text-transform:uppercase;
  border-radius:16px;
  padding:.9rem 1rem;
  box-shadow:var(--brb-shadow-soft);
}

.brb-btn-outline:hover{
  background:rgba(255,255,255,.10);
  color:var(--brb-text);
}

.brb-btn-sm{
  padding:.65rem .85rem;
  border-radius:14px;
}

.brb-btn-lg{
  padding:1rem 1.05rem;
  border-radius:18px;
}

.brb-divider{
  height:1px;
  background:rgba(255,255,255,.12);
}

.brb-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

.brb-list-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border-radius:14px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.08);
}

.brb-list-item i{
  color:var(--brb-green-500);
  margin-top:2px;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.25));
}

.brb-chip{
  padding:12px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.20));
  border:1px solid rgba(255,255,255,.12);
  font-weight:900;
  text-transform:uppercase;
  box-shadow:var(--brb-shadow-soft);
}

.brb-footer{ padding-bottom:6px; }

/* EFEITOS (glows + “fitas” verdes) */
.brb-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(40px);
  opacity:.75;
  pointer-events:none;
}

.brb-glow-1{
  width:380px;
  height:380px;
  left:-140px;
  top:-100px;
  background:rgba(143,213,103,.28);
}

.brb-glow-2{
  width:420px;
  height:420px;
  right:-160px;
  top:40px;
  background:rgba(39,103,143,.28);
}

.brb-tape{
  position:absolute;
  left:-30%;
  right:-30%;
  top:22px;
  height:58px;
  background:linear-gradient(90deg, rgba(143,213,103,0), rgba(143,213,103,.55), rgba(143,213,103,0));
  transform:rotate(-6deg);
  filter:blur(.2px);
  opacity:.55;
  pointer-events:none;
}

.brb-tape-bottom{
  top:auto;
  bottom:30px;
  transform:rotate(6deg);
  opacity:.35;
}

/* Botão flutuante */
.brb-fab{
  position:fixed;
  right:16px;
  bottom:16px;
  width:56px;
  height:56px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:60;
  text-decoration:none;
  background:linear-gradient(180deg, var(--brb-green-500), var(--brb-green-600));
  color:#06261C;
  box-shadow:var(--brb-glow-strong), 0 12px 22px rgba(0,0,0,.35);
}

.brb-fab i{ font-size:22px; }

/* MOBILE: centraliza todos os textos */
@media (max-width:575.98px){
  body, body *{ text-align:center !important; }

  /* evita que listas/checks fiquem tortos */
  .brb-list, .brb-list-item{ justify-content:center !important; }
  .brb-list-item{ align-items:center !important; }
}

@media (max-width:575.98px){
  .brb-btn{
    animation:brbPulse 1.4s ease-in-out infinite;
    will-change:transform, box-shadow, filter;
  }

  @keyframes brbPulse{
    0%, 100%{
      transform:scale(1);
      filter:brightness(1);
      box-shadow:var(--brb-glow-strong), 0 10px 20px rgba(0,0,0,.35);
    }
    50%{
      transform:scale(1.03);
      filter:brightness(1.05);
      box-shadow:var(--brb-glow-strong), 0 16px 28px rgba(0,0,0,.42);
    }
  }

  /* se o usuário tiver redução de movimento ativada */
  @media (prefers-reduced-motion: reduce){
    .brb-btn{ animation:none !important; }
  }
}

/* ================= MENU SISTEMAS ================= */
.brb-menu-stack{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.brb-menu-card{ transition:.25s ease; }

.brb-menu-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--brb-glow);
}

.brb-menu-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:18px 13px;
}

.brb-menu-img{
  width:72px;
  height:72px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  box-shadow:var(--brb-shadow-soft);
}

.brb-menu-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.brb-menu-title{
  flex:1;
  text-align:center;
  font-weight:900;
  font-size:1.15rem;
  text-transform:uppercase;
  letter-spacing:-.02em;
}

.brb-menu-collapse{
  padding:0;
  border-top:1px solid rgba(255,255,255,.12);
}

.brb-menu-collapse img{
	width:100%;
	border-radius:0px 0px 7px 7px
}

.brb-btn.brb-btn-sm{ text-decoration:none !important; }

.brb-btn.brb-btn-sm,
.brb-btn-outline.brb-btn-sm{
  width:125px !important;
  display:block;
}
