/* =========================================================
   HERO PAGE (SINGLE • DESKTOP ALTURA UM POUCO MENOR)
========================================================= */

.hero-page{
  position:relative;
  overflow:hidden;
  background:#092D69;

  /* ✅ DESKTOP: diminuir um pouco a altura */
  min-height: 480px;
  height: clamp(480px, 52vh, 620px);

  display:flex;

  /* mantém longe do header */
  padding-top: 170px;
  padding-bottom: 74px;
}

/* BG */
.hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  filter:saturate(1.06) contrast(1.03);
}

/* OVERLAY - desktop à esquerda */
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;

  background:linear-gradient(
    90deg,
    rgba(9,45,105,.94) 0%,
    rgba(9,45,105,.82) 28%,
    rgba(9,45,105,.52) 50%,
    rgba(9,45,105,.18) 70%,
    rgba(9,45,105,.00) 100%
  );
}

/* SHAPES */
.shape{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  opacity:.33;
  z-index:2;
  pointer-events:none;
}
.shape-1{
  width:360px;
  height:360px;
  background:#48C5F3;
  top:12%;
  left:-150px;
}
.shape-2{
  width:440px;
  height:440px;
  background:#ffffff;
  bottom:-240px;
  right:-170px;
}

/* CONTENT */
.hero-container{
  position:relative;
  z-index:3;
  width:100%;
  max-width:90%;
  margin:0 auto;

  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}

.hero-text{
  max-width: 860px;
  color:#fff;
}

/* BADGE */
.hero-badge{
  display:inline-flex;
  padding:10px 18px;
  border-radius:30px;
  background:rgba(255,255,255,.15);
  margin-bottom:16px;
  font-weight:600;
}

/* TITLE */
.hero-title{ margin:0; line-height:1.06; }

.hero-title-one{
  display:block;
  font-weight:900;
  white-space:nowrap;         /* desktop: 1 linha */
  overflow:hidden;
  text-overflow:ellipsis;
  font-size: clamp(36px, 4.2vw, 62px);
}

/* DESC */
.hero-desc{
  font-size: clamp(15px, 1.3vw, 18px);
  line-height:1.7;
  margin: 12px 0 0;
  max-width: 70ch;
}

/* =======================================================
   MOBILE (mantém como estava)
======================================================= */
@media (max-width: 768px){
  .hero-page{
    min-height: 460px;
    height:auto;
    padding-top: 170px;
    padding-bottom: 78px;
  }

  .hero-overlay{
    background:linear-gradient(
      to bottom,
      rgba(9,45,105,.28) 0%,
      rgba(9,45,105,.72) 55%,
      rgba(9,45,105,.94) 100%
    );
  }

  .hero-container{
    justify-content:flex-start;
    text-align:left;
    max-width:90%;
  }

  .hero-text{
    margin:0;
    max-width: 560px;
  }

  .hero-title-one{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    font-size: clamp(30px, 8.5vw, 44px);
  }

  .hero-desc{
    margin-top: 14px;
    max-width: 44ch;
  }

  .shape{
    opacity:.22;
    filter:blur(110px);
  }
}
