.bs-historia-section{
  --sol-yellow:#FFD200;
  --sol-yellow-deep:#c79800;
  --sol-yellow-soft:rgba(255,210,0,.16);
  --sol-dark:#0b1220;
  --sol-text:#5d6878;
  --sol-line:rgba(11,18,32,.08);
  --sol-bg:#f7f9fc;
  --sol-white:#ffffff;
  --sol-shadow:0 16px 42px rgba(11,18,32,.08);
  --sol-shadow-hover:0 22px 54px rgba(11,18,32,.12);

  position:relative;
  padding:58px 0 74px;
  background:linear-gradient(180deg,#ffffff 0%, var(--sol-bg) 100%);
  overflow:hidden;
}

.bs-historia-section .bs-historia-container{
  width:min(1180px, calc(100% - 40px));
  margin:0 auto;
}

/* TÍTULO PADRÃO — agora usa .sec-title global */

/* GRID */
.bs-historia-grid{
  display:grid;
  grid-template-columns: 0.95fr 1.25fr;
  gap:34px;
  align-items:stretch;
}

.bs-historia-left,
.bs-historia-right{
  min-width:0;
}

/* ESQUERDA */
.bs-historia-left{
  display:flex;
  flex-direction:column;
}

.bs-historia-intro{
  margin-bottom:22px;
}

.bs-historia-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  margin-bottom:14px;
  border-radius:999px;
  background:var(--sol-yellow-soft);
  color:var(--sol-dark);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.bs-historia-intro h3{
  margin:0 0 12px;
  color:#17346a;
  font-size:1.1rem;
  line-height:1.2;
  font-weight:800;
}

.bs-historia-intro p{
  margin:0;
  color:var(--sol-text);
  font-size:.96rem;
  line-height:1.8;
}

/* TIMELINE */
.bs-historia-timeline{
  position:relative;
  padding-left:28px;
}

.bs-historia-timeline::before{
  content:"";
  position:absolute;
  left:8px;
  top:8px;
  bottom:8px;
  width:2px;
  background:linear-gradient(180deg, var(--sol-yellow) 0%, rgba(255,210,0,.16) 100%);
}

.bs-historia-item{
  position:relative;
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  margin-bottom:16px;
  opacity:0;
  transform:translateY(18px);
  animation:bsFadeUp .65s ease forwards;
}

.bs-historia-item:nth-child(1){ animation-delay:.05s; }
.bs-historia-item:nth-child(2){ animation-delay:.12s; }
.bs-historia-item:nth-child(3){ animation-delay:.19s; }

.bs-historia-item::before{
  content:"";
  position:absolute;
  left:-21px;
  top:11px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--sol-yellow);
  box-shadow:0 0 0 5px rgba(255,210,0,.15);
}

.bs-historia-year{
  display:inline-flex;
  align-items:flex-start;
  padding-top:3px;
  color:var(--sol-yellow-deep);
  font-size:.9rem;
  font-weight:800;
}

.bs-historia-card{
  background:var(--sol-white);
  border:1px solid rgba(0,0,0,.05);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 8px 24px rgba(11,18,32,.04);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.bs-historia-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(11,18,32,.08);
  border-color:rgba(255,210,0,.26);
}

.bs-historia-card h4{
  margin:0 0 6px;
  color:var(--sol-dark);
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
}

.bs-historia-card p{
  margin:0;
  color:var(--sol-text);
  font-size:.92rem;
  line-height:1.65;
}

/* EXTRA */
.bs-historia-extra{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .7s ease, opacity .45s ease, margin-top .35s ease;
}

.bs-historia-extra.is-open{
  max-height:2200px;
  opacity:1;
}

.bs-historia-item-extra{
  opacity:1;
  transform:none;
  animation:none;
}

.bs-historia-item-extra.reveal{
  opacity:0;
  transform:translateY(18px);
  animation:bsFadeUp .6s ease forwards;
}

/* BOTÃO */
.bs-historia-actions{
  margin-top:18px;
  padding-left:28px;
}

.bs-historia-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:136px;
  padding:13px 22px;
  border:0;
  border-radius:999px;
  background:var(--sol-yellow);
  color:var(--sol-dark);
  font-size:.94rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(255,210,0,.22);
  transition:transform .25s ease, box-shadow .25s ease;
}

.bs-historia-more:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(255,210,0,.30);
}

/* VÍDEO */
.bs-historia-right{
  display:flex;
}

.bs-video-card{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  background:var(--sol-white);
  border:1px solid rgba(0,0,0,.05);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--sol-shadow);
  transition:transform .35s ease, box-shadow .35s ease;
}

.bs-video-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--sol-shadow-hover);
}

.bs-video-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px;
  background:linear-gradient(180deg, #fffdf2 0%, #fff 100%);
  border-bottom:1px solid var(--sol-line);
  flex-wrap:wrap;
}

.bs-video-topbar span{
  color:var(--sol-dark);
  font-size:.96rem;
  font-weight:800;
}

.bs-video-topbar a{
  color:#9b7700;
  text-decoration:none;
  font-size:.86rem;
  font-weight:800;
}

.bs-video-topbar a:hover{
  text-decoration:underline;
}

.bs-video-wrap{
  position:relative;
  flex:1;
  min-height:100%;
  background:#000;
  overflow:hidden;
}

/* caixa do vídeo acompanha a altura da coluna.
   Aplica-se ao <video> local (substituiu o iframe do YouTube) e mantém o
   mesmo nome de classe para não partir o CSS já publicado. */
.bs-video-iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:#000;
  object-fit:cover;
  display:block;
}

/* ANIMAÇÃO SECÇÃO */
.bs-anim{
  opacity:0;
  transition:opacity .75s ease, transform .75s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}

.bs-anim-top{ transform:translateY(-24px); }
.bs-anim-left{ transform:translateX(-30px); }
.bs-anim-right{ transform:translateX(30px); }

.bs-anim.is-visible{
  opacity:1;
  transform:translate(0,0);
}

@keyframes bsFadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* RESPONSIVO */
@media (max-width: 991.98px){
  .bs-historia-grid{
    grid-template-columns:1fr;
  }

  .bs-video-wrap{
    aspect-ratio:16/9;
    min-height:auto;
  }
}

@media (max-width: 575.98px){
  .bs-historia-section{
    padding:48px 0 64px;
  }

  .bs-historia-section .bs-historia-container{
    width:min(100%, calc(100% - 24px));
  }

  /* .bs-sec-title removido — .sec-title global */

  .bs-historia-intro h3{
    font-size:1rem;
  }

  .bs-historia-item{
    grid-template-columns:64px 1fr;
    gap:12px;
  }

  .bs-video-topbar{
    padding:14px 16px;
  }
}

.bs-historia-clean{
  --sol-yellow:#FFD200;
  --sol-yellow-soft:rgba(255,210,0,.16);
  --sol-dark:#0b1220;
  --sol-text:#5d6878;
  --sol-line:rgba(11,18,32,.08);
  --sol-bg:#f7f9fc;
  --sol-white:#ffffff;
  --sol-shadow:0 12px 34px rgba(11,18,32,.06);
  --sol-shadow-hover:0 18px 42px rgba(11,18,32,.10);

  padding: 22px 0 70px;
  background: linear-gradient(180deg, #ffffff 0%, var(--sol-bg) 100%);
}

.bs-historia-container{
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

/* TITULOS */
.bs-panel-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}

.bs-panel-head::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(0,0,0,.08);
}

.bs-panel-head h3{
  margin:0;
  color:var(--sol-dark);
  font-size:1.08rem;
  font-weight:700;
  line-height:1.2;
  position:relative;
  white-space:nowrap;
}

.bs-panel-head h3::after{
  content:"";
  display:block;
  width:32px;
  height:2px;
  margin-top:6px;
  background:var(--sol-yellow);
}

/* ESPAÇAMENTO */
.bs-block-marcos{
  margin-top: 0;
}

.bs-block-galeria{
  margin-top: 28px;
}

/* MARCOS */
.bs-marcos-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.bs-marco-card{
  position:relative;
  background:var(--sol-white);
  border:1px solid rgba(0,0,0,.05);
  border-radius:18px;
  padding:20px;
  box-shadow:var(--sol-shadow);
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.bs-marco-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--sol-shadow-hover);
  border-color:rgba(255,210,0,.24);
}

.bs-marco-number{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#fff4c7;
  color:var(--sol-dark);
  font-size:.95rem;
  font-weight:800;
  margin-bottom:14px;
}

.bs-marco-card h4{
  margin:0 0 8px;
  color:var(--sol-dark);
  font-size:1rem;
  font-weight:800;
  line-height:1.35;
}

.bs-marco-card p{
  margin:0;
  color:var(--sol-text);
  font-size:.92rem;
  line-height:1.7;
}

/* GALERIA */
.bs-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.bs-gallery-item{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:18px;
  text-decoration:none;
  min-height:230px;
  background:#e9edf3;
  box-shadow:0 8px 24px rgba(11,18,32,.05);
}

.bs-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
}

.bs-gallery-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,18,32,.04) 0%, rgba(11,18,32,.58) 100%);
}

.bs-gallery-item span{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  z-index:2;
  color:#fff;
  font-size:.94rem;
  font-weight:800;
  line-height:1.35;
}

.bs-gallery-item:hover img{
  transform:scale(1.06);
}

/* ANIMAÇÃO */
.bs-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);
  will-change:opacity, transform;
}

.bs-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* RESPONSIVO */
@media (max-width: 991.98px){
  .bs-marcos-grid,
  .bs-gallery-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width: 575.98px){
  .bs-historia-clean{
    padding: 18px 0 56px;
  }

  .bs-historia-container{
    width:min(100%, calc(100% - 24px));
  }

  .bs-panel-head h3{
    font-size:1rem;
  }

  .bs-marcos-grid,
  .bs-gallery-grid{
    grid-template-columns:1fr;
  }

  .bs-gallery-item{
    min-height:220px;
  }
}

/* =====================================================
   CTA FINAL — NOSSA HISTÓRIA (premium, centrado)
   ===================================================== */
.qs-cta{
  --sol-yellow:#FFD200;
  --sol-dark:#0b1220;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:clamp(64px, 9vw, 108px) 20px;
  background:linear-gradient(160deg, #0b1220 0%, #0f1e33 55%, #14243d 100%);
  color:#fff;
  text-align:center;
}

.qs-cta::before,
.qs-cta::after{
  content:"";
  position:absolute;
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
}

.qs-cta::before{
  top:-160px;
  right:-140px;
  width:420px;
  height:420px;
  background:radial-gradient(circle, rgba(255,210,0,.16) 0%, transparent 68%);
}

.qs-cta::after{
  bottom:-190px;
  left:-130px;
  width:460px;
  height:460px;
  background:radial-gradient(circle, rgba(255,210,0,.10) 0%, transparent 70%);
}

.qs-cta .qs-container{
  width:min(880px, 100%);
  margin:0 auto;
}

.qs-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sol-yellow);
}

.qs-kicker::before,
.qs-kicker::after{
  content:"";
  width:34px;
  height:2px;
  border-radius:99px;
  background:var(--sol-yellow);
}

.qs-cta h2{
  margin:0 0 12px;
  color:#ffffff;
  font-size:clamp(28px, 4vw, 42px);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.12;
}

.qs-cta p{
  margin:0 auto 30px;
  max-width:640px;
  color:rgba(255,255,255,.78);
  font-size:clamp(15px, 1.6vw, 17px);
  line-height:1.7;
}

.qs-cta .qs-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:52px;
  padding:0 26px;
  border:0;
  border-radius:999px;
  background:var(--sol-yellow);
  color:var(--sol-dark);
  font-size:15px;
  font-weight:900;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.qs-cta .qs-btn:hover{
  background:#ffdd2e;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.30);
}

.qs-cta .qs-btn i{
  font-size:20px;
  line-height:1;
}

@media (prefers-reduced-motion: reduce){
  .qs-cta,
  .qs-kicker{
    transition:none !important;
  }
}

@media (max-width: 575.98px){
  .qs-cta h2{
    font-size:26px;
  }

  .qs-cta p{
    font-size:15px;
  }
}
