/* ===========================
   Home / Index — ajustes pontuais
   (não mexe no style.css base)
   =========================== */

html{
  scroll-behavior: smooth;
}

.site-nav__cta:hover {
  background-color: #ffba39;
  text-decoration: none;
}

/* Header */
.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #16214e; /* rgba(255,255,255,.92); */
  border-bottom: 1px solid rgba(255,255,255,0.08);
  /* *-/
  background: #16214e;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(15,34,102,.12);
  /** */
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  padding: 12px 0;
}
.brand{
  display:flex;
  align-items:center;
  gap: 10px;
  text-decoration:none;
}
.brand__text{
  font-weight: 800;
  letter-spacing: .5px;
  color: var(--blue);
  font-size: 1.15rem;
}
.brand__text span{
  color: var(--yellow);
  background: var(--blue);
  padding: 2px 8px;
  border-radius: 999px;
  margin-left: 6px;
}

/* Nav desktop */
.site-nav{
  display:flex;
  align-items:center;
  gap: 16px;
}
.site-nav__link{
  font-weight: 700;
  color: var(--on-blue-strong);
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 10px;
}
.site-nav__link:hover{
  background: rgba(224, 225, 227, 0.06);
  text-decoration:none;
}
.site-nav__cta{ margin-left: 6px; }

/* Atalhos mobile */
.header__mobile{ display:none; gap: 10px; }
@media (max-width: 888px){
  .site-nav{ display:none; }
  .header__mobile{ display:flex; }
}

/* Hero: overlay com conteúdo clicável */
/* HERO: controla altura do banner e recorta a imagem no centro */
.home-hero{
  position: relative;
  overflow: hidden;
  min-height: clamp(420px, 70vh, 620px); /* altura “boa” */
  height: clamp(420px, 65vh, 600px);
}

@media (min-width: 1400px) {
  .home-hero {
    min-height: 560px;
  }
}

/* se a classe da imagem for banner-com-titulo__img (como no HTML) */
.home-hero .banner-com-titulo__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 60%;
  display: block;
}


.home-hero__overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  background: linear-gradient(180deg, rgba(0,0,0,.15) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.70) 100%);
}
.home-hero__content{
  padding: clamp(18px, 3vw, 32px);
  padding-bottom: clamp(18px, 3.6vw, 40px);
}
.home-hero__title{
  margin: 0 0 10px;
  color: #fff;
  font-weight: 800;
  letter-spacing: .2px;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: 1.12;
}
.home-hero__subtitle{
  margin: 0 0 18px;
  color: rgba(255,255,255,.92);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  max-width: 68ch;
}
.home-hero__actions{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}

/* Pills */
.home-hero__highlights{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}
.home-pill{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  color: rgba(255,255,255,.92);
  font-weight: 700;
  font-size: .95rem;
}
.home-pill i{ color: var(--yellow); }

/* Ações reutilizadas */
.home-actions{
  display:flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}
.home-actions--onblue .btn--primary{
  /* no azul, o style.css já troca btn--primary pra amarelo; aqui só garante contraste */
  box-shadow: 0 8px 18px rgba(0,0,0,.14);
}

/* Ícones dentro do card-eq */
.card-eq__title i{
  margin-right: 10px;
  color: var(--blue);
}

/* Pequena melhora: cards-grid mais confortável no mobile */
@media (max-width: 640px){
  .cards-grid{ gap: 14px; }
}


/* ===========================
   Section Promessas
   =========================== */

#promessas .wrap {
    grid-template-columns: 1.2fr 0.8fr;
}

@media (max-width: 991.98px){
  #promessas .wrap { grid-template-columns: 1.1fr 0.9fr; }
  #promessas .imagem-texto__midia { order: 2; }
  #promessas .imagem-texto__conteudo { order: 1; }
}

@media (max-width: 768px) {
    #promessas .wrap { grid-template-columns: 1fr; }
}

/* Lista de promessas */
.promessas-lista{
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  gap: 16px;
}

/* Links clicáveis nos dados de contato */
.contact-link{
  display: flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
  width: 100%;
}

.contact-link:hover{
  text-decoration: none;
  font-weight: bold;
  color: #f0eeee;
}

.contact-link i{
  min-width: 18px;
}


/* Mobile buttons */
.site-header .header__mobile .btn--ghost{
  color: #fff;
  border-color: rgba(255,255,255,0.4);
}

.site-header .header__mobile .btn--ghost:hover{
  background: rgba(255,255,255,0.1);
}

.site-header .header__mobile .btn--accent{
  background: var(--yellow);
  color: var(--blue);
}