/* Home */
.home-hero { position: relative; background: #ADDCFA; overflow: hidden; }
/* A imagem já traz o degradê azul à esquerda. Até 1600px ela cobre a área (como no original);
   acima disso fica ancorada à direita na altura do hero e o resto é preenchido com a mesma cor,
   para não esticar a foto em monitores grandes. */
.home-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; }
@media (min-width: 1600px) { .home-hero__bg { left: auto; width: auto; max-width: none; } }
.home-hero__conteudo { position: relative; z-index: 2; min-height: clamp(30rem, 42vw, 46rem); display: flex; align-items: center; padding-block: 4rem 9rem; }
.home-hero__texto { max-width: 33rem; }
.home-hero__titulo { font-size: clamp(2rem, 1.2rem + 2.2vw, 3rem); font-weight: 600; line-height: 1.2; color: #2a2f3a; margin-bottom: 1.5rem; }
.home-hero__texto p { font-size: .9375rem; font-weight: 600; line-height: 1.6; color: #2a2f3a; margin-bottom: 2rem; }
.home-hero__numeros { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; }
.home-hero__numeros ul {
  display: inline-flex; gap: 2.75rem; color: var(--branco); background: var(--azul); padding: 1.25rem 4rem 1.25rem 0;
  border-radius: 0 3rem 0 0; position: relative;
}
.home-hero__numeros ul::before { content: ""; position: absolute; top: 0; bottom: 0; right: 100%; width: 100vw; background: var(--azul); }
.home-hero__numeros strong { display: block; font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
.home-hero__numeros span { font-size: .875rem; opacity: .9; }

.home-citacao { position: relative; max-width: 34rem; margin: 0 auto 2.5rem; text-align: center; font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); font-weight: 500; line-height: 1.3; }
.home-citacao img { display: inline-block; width: 1.75rem; vertical-align: top; opacity: .4; }
.home-citacao__fecha { transform: rotate(180deg); vertical-align: bottom !important; }

.home-dif__titulo { display: flex; align-items: center; justify-content: center; gap: .5rem; flex-wrap: wrap; margin-bottom: 2rem; }
.home-dif__titulo img { width: 13.5rem; }
.home-dif { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.home-dif h3 { font-size: 1.25rem; margin-bottom: .75rem; }
.home-dif p { font-size: .9375rem; line-height: 1.6; }
.home-dif__img1 { width: 100%; height: 100%; object-fit: cover; }
.home-dif__visao, .home-dif__compromisso { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; background: var(--branco); }
.home-dif__visao img, .home-dif__compromisso img { width: 100%; height: 100%; object-fit: cover; }
.home-dif__visao > div, .home-dif__compromisso > div { padding: 2rem 2.25rem; display: flex; flex-direction: column; justify-content: center; }
.home-dif__compromisso { grid-template-columns: 2fr 3fr; }
.home-dif__box { padding: 2.5rem 2.25rem; display: flex; flex-direction: column; justify-content: center; color: var(--branco); }
.home-dif__box--forte { background: var(--azul-forte); }
.home-dif__box--marinho { background: var(--marinho); }
.home-dif__box--azul { background: var(--azul); }

.home-clientes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; }
.home-clientes__texto { background: var(--azul); color: var(--branco); padding: 2rem 2.25rem; position: relative; z-index: 1; }
.home-clientes__texto .titulo { font-size: clamp(1.5rem, 1.2rem + .8vw, 2rem); margin-bottom: 1rem; }
.home-clientes__texto p { font-size: .9375rem; line-height: 1.6; }
.home-clientes__logos { margin-left: -3rem; }
.home-clientes__logos .carrossel__trilho { background: var(--cinza); padding: 1.25rem 1rem 1.25rem 4rem; }
.home-clientes__logos .carrossel__nav { justify-content: flex-end; gap: 1.5rem; }

.home-transforme { padding: 2rem 1.5rem 0; }
.home-transforme__caixa { position: relative; max-width: calc(var(--container) + 12rem); margin-inline: auto; overflow: hidden; background: var(--azul); }
.home-transforme__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.home-transforme__texto { position: relative; max-width: 30rem; padding: 3.5rem 0 3.5rem clamp(1.5rem, 4vw, 3.5rem); color: var(--branco); }
.home-transforme__texto h2 { font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem); line-height: 1.15; margin-bottom: 1.25rem; }
.home-transforme__texto p { font-size: .9375rem; line-height: 1.45; }

.home-contato { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.home-contato__intro { padding: 0 .75rem 1rem; }

@media (max-width: 1024px) {
  .home-dif { grid-template-columns: 1fr 1fr; }
  .home-dif__visao, .home-dif__compromisso { grid-column: 1 / -1; }
  .home-clientes { grid-template-columns: minmax(0, 1fr); }
  .home-clientes__logos { margin: 0; }
  .home-clientes__logos .carrossel__trilho { padding-left: 1rem; }
  .home-contato { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
}
@media (max-width: 767px) {
  .home-hero__bg { object-position: 72% center; }
  .home-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(27, 144, 255, .55); }
  .home-hero__conteudo { min-height: 0; padding-block: 3rem 2rem; }
  .home-hero__titulo, .home-hero__texto p { color: var(--branco); }
  .home-hero__numeros { position: relative; padding: 0 .75rem; }
  .home-hero__numeros .container { padding: 0; }
  .home-hero__numeros ul { display: flex; flex-direction: column; gap: 1rem; width: 100%; padding: 1.5rem; border-radius: 0; text-align: center; }
  .home-hero__numeros ul::before { display: none; }
  .home-dif { grid-template-columns: 1fr; }
  .home-dif__visao, .home-dif__compromisso { grid-template-columns: 1fr; }
  .home-dif__img1 { display: none; }
  .home-dif__visao img, .home-dif__compromisso img { display: none; }
  .home-transforme { padding-inline: 0; }
  .home-transforme__texto { padding: 2.5rem 1.5rem; }
  .home-transforme__bg { object-position: 70% center; opacity: .35; }
}
