/* ═══════════════════════════════════════════════════════════
   layout.css — Topbar · Fundo · Wrapper · Banner de vagas
   GridStart Pro · fredmosc.dev
   ═══════════════════════════════════════════════════════════ */


/* ── BACKGROUND ANIMADO DE PISTAS ── */
.track-bg {
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none; overflow: hidden;
}
.track-bg::before {
  content: '';
  position: absolute; top: -20%; left: -10%; width: 140%; height: 140%;
  background: repeating-linear-gradient(
    -18deg, transparent, transparent 60px,
    rgba(0,180,216,.018) 60px, rgba(0,180,216,.018) 61px
  );
}
.track-line {
  position: absolute; height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  animation: sweep 5s ease-in-out infinite;
  opacity: 0;
}
.track-line:nth-child(1) { top: 12%; width: 55%; left: -10%; animation-delay: 0s; }
.track-line:nth-child(2) { top: 38%; width: 75%; left: 25%; animation-delay: 1.6s; }
.track-line:nth-child(3) { top: 65%; width: 45%; left: 5%;  animation-delay: 3.1s; }
.track-line:nth-child(4) { top: 84%; width: 65%; left: 30%; animation-delay: .9s; }


/* ── FAIXA INFERIOR (racing stripe) ── */
.bottom-strip {
  position: fixed; bottom: 0; left: 0; right: 0; height: 3px; z-index: 10;
  background: linear-gradient(90deg,
    var(--navy) 0%,
    var(--track-red) 28%, var(--track-red) 33%,
    var(--navy) 33%, var(--navy) 50%,
    var(--cyan) 80%, var(--cyan) 82%,
    var(--navy) 82%);
}


/* ── SCROLL PROGRESS ── */
#scroll-progress {
  position: fixed; top: 0; left: 0; width: 0%; height: 3px;
  background: linear-gradient(90deg, var(--cyan), var(--orange));
  z-index: 200; transition: width .1s ease;
}


/* ── TOPBAR ── */
.topbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; justify-content: space-between; align-items: center;
  padding: .9rem 2.2rem;
  border-bottom: 1px solid rgba(0,180,216,.12);
  background: rgba(0,20,45,.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: box-shadow .3s ease;
  /* Sem transform — topbar sempre visível */
}
.topbar.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,.45); }

.topbar-brand {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.15rem; font-weight: 900;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--white); white-space: nowrap;
}
.topbar-brand span { color: var(--cyan); }


/* ── NAV DESKTOP ── */
.topbar-nav {
  display: flex; gap: 4px; align-items: center;
}
.topbar-nav a {
  font-family: 'JetBrains Mono', monospace;
  font-size: .6rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); padding: 5px 10px;
  transition: color .2s;
}
.topbar-nav a:hover,
.topbar-nav a.active { color: var(--white); }
.topbar-nav a.nav-cta {
  background: var(--cyan); color: var(--navy) !important;
  font-weight: 700; padding: 6px 14px;
  transition: background .2s, box-shadow .2s;
}
.topbar-nav a.nav-cta:hover {
  background: #00d4ff;
  box-shadow: 0 0 20px rgba(0,180,216,.4);
}


/* ── HAMBURGER (mobile) ── */
.menu-toggle {
  display: none;
  background: none; border: none; cursor: pointer; padding: 6px;
  line-height: 0;
}
.hamburger {
  display: block; width: 22px; height: 2px;
  background: var(--white); position: relative;
  transition: all .3s;
}
.hamburger::before,
.hamburger::after {
  content: ''; position: absolute;
  width: 22px; height: 2px; background: var(--white);
  transition: all .3s;
}
.hamburger::before { top: -7px; }
.hamburger::after  { top: 7px; }


/* ── WRAPPER DE CONTEÚDO ── */
.wrapper {
  position: relative; z-index: 1;
  max-width: 820px; margin: 0 auto;
  padding: 7rem 1.8rem 5rem;
}


/* ── DIVISOR ── */
.divider {
  width: 100%; max-width: 480px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  margin: 0 auto 2.5rem;
  animation: fadeUp .6s .2s ease both;
}


/* ── BANNER DE VAGAS ── */
.vagas-banner {
  display: flex; align-items: center; justify-content: center; gap: .8rem;
  background: rgba(0,180,216,.07);
  border: 1px solid var(--cyan-border);
  padding: .7rem 1.2rem;
  margin-bottom: 2.8rem;
  animation: fadeUp .6s ease both;
}
.vagas-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--cyan);
  animation: blink 2s ease-in-out infinite;
  flex-shrink: 0;
}
.vagas-text {
  font-family: 'JetBrains Mono', monospace;
  font-size: .65rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--cyan);
}
.vagas-text span { color: var(--white); font-weight: 700; }
