/* ============================================================
   HERO — Seção Principal
   ============================================================ */

.hero {
  min-height      : 100vh;
  position        : relative;
  display         : flex;
  flex-direction  : column;
  justify-content : center;
  overflow        : hidden;
}

/* ----- Fundo / Overlay ----- */
.hero__bg {
  position        : absolute;
  inset           : 0;
  background-size : cover;
  background-position: center 35%;
}
.hero__bg-src { display: none }

.hero__overlay {
  position   : absolute;
  inset      : 0;
  background : linear-gradient(
    110deg,
    rgba(9,24,48,.92)  0%,
    rgba(9,24,48,.75) 45%,
    rgba(9,24,48,.3)  80%,
    transparent       100%
  );
}

.hero__grid-bg {
  position         : absolute;
  inset            : 0;
  background-image : linear-gradient(rgba(74,171,155,.035) 1px, transparent 1px),
                     linear-gradient(90deg, rgba(74,171,155,.035) 1px, transparent 1px);
  background-size  : 60px 60px;
  pointer-events   : none;
  z-index          : 1;
}

.hero__accent {
  position   : absolute;
  top        : 0;
  right      : 0;
  width      : 4px;
  height     : 100%;
  background : linear-gradient(180deg, transparent, var(--teal) 30%, var(--teal) 70%, transparent);
  opacity    : .8;
  z-index    : 1;
}

/* ----- Conteúdo ----- */
.hero__content {
  position       : relative;
  z-index        : 2;
  max-width      : var(--cw);
  margin         : 0 auto;
  width          : 100%;
  padding        : calc(var(--nav-h) + 60px) 32px 60px;
  flex           : 1;
  display        : flex;
  flex-direction : column;
  justify-content: center;
  gap            : 24px;
}

.hero__eyebrow {
  display        : flex;
  align-items    : center;
  gap            : 16px;
  font-family    : var(--fcond);
  font-size      : 10.5px;
  font-weight    : 500;
  letter-spacing : 2.5px;
  text-transform : uppercase;
  color          : rgba(255,255,255,.4);
}
.hero__eyebrow-line {
  display    : inline-block;
  width      : 28px;
  height     : 1px;
  background : rgba(74,171,155,.5);
}

.hero__title {
  font-family    : var(--fs);
  font-size      : clamp(58px, 8vw, 108px);
  font-weight    : 700;
  line-height    : .93;
  letter-spacing : -1px;
}
.hero__title-w { color: #fff }
.hero__title-t { color: var(--teal); font-style: italic }

.hero__tagline {
  font-family    : var(--fs);
  font-size      : clamp(18px, 2vw, 24px);
  font-weight    : 400;
  font-style     : italic;
  color          : rgba(255,255,255,.85);
  line-height    : 1.45;
  border-left    : 2.5px solid var(--teal);
  padding-left   : 20px;
  max-width      : 580px;
}

.hero__sub {
  font-family  : var(--fsans);
  font-size    : 14px;
  font-weight  : 300;
  color        : rgba(255,255,255,.45);
  line-height  : 1.65;
  max-width    : 520px;
  padding-left : 24px;
}

.hero__btns {
  display   : flex;
  gap       : 14px;
  flex-wrap : wrap;
}

/* ----- Indicador de scroll ----- */
.hero__scroll {
  position  : absolute;
  bottom    : 32px;
  left      : 50%;
  transform : translateX(-50%);
  z-index   : 2;
}
.hero__scroll-line {
  width      : 1px;
  height     : 52px;
  background : linear-gradient(180deg, rgba(74,171,155,.6), transparent);
  animation  : scrollp 2s ease-in-out infinite;
}
@keyframes scrollp {
  0%, 100% { opacity: .4; transform: scaleY(1) }
  50%       { opacity:  1; transform: scaleY(.7) }
}