/* =========================================================
   Seção "Órbitas" — abaixo do hero
   Fundo escuro/minimalista, título central + anéis SVG com
   "cometa" animado no scroll + tags que revelam progressivamente.
   Ajustes de posição/tempo: ver js/orbit-section.js
   ========================================================= */

.ifx-orbit {
  position: relative;
  /* altura estendida: dá "corda" pro scroll enquanto o conteúdo fica pinado */
  height: 300vh;
  background: #000;
}

/* alvo do pin do ScrollTrigger — fica preso na tela enquanto .ifx-orbit rola por baixo */
.ifx-orbit-pin {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
}

/* leve vinheta pra dar profundidade ao fundo preto */
.ifx-orbit-pin::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(255,255,255,.05) 0%, rgba(0,0,0,0) 60%);
  pointer-events: none;
}

.ifx-orbit-stage {
  position: relative;
  width: min(920px, 92vw);
  aspect-ratio: 1 / 1;
  opacity: 0;
  transform: scale(.92);
}

.ifx-orbit-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* a "órbita" em si não é desenhada — só o cometa (cauda com gradiente) que
   percorre o caminho circular fica visível; ver js/orbit-section.js */
.ifx-orbit-comet-path {
  fill: none;
  stroke-linecap: round;
}

/* halo desfocado da cabeça do cometa (filtro de blur aplicado via atributo) */
.ifx-orbit-comet-glow {
  fill: #fff;
}

/* ponto brilhante e nítido no centro da cabeça, por cima do halo */
.ifx-orbit-comet-core {
  fill: #fff;
}

/* ---- conteúdo central ---- */
.ifx-orbit-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  /* largura = coluna central do .ifx-site-grid (v1 36% a v2 64%), pra as linhas
     horizontais do título não passarem das linhas verticais da grid */
  width: 28vw;
  text-align: center;
  pointer-events: none;
}

.ifx-orbit-heading {
  will-change: transform;
}

.ifx-orbit-title {
  margin: 0;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;
  font-weight: 500;
  font-size: clamp(20px, 2.6vw, 34px);
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: rgba(255,255,255,.45);
  /* uma linha horizontal por linha de texto (limite entre uma linha e a próxima) */
  background-image: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.22) 0,
    rgba(255,255,255,.22) 1px,
    transparent 1px,
    transparent 1.35em
  );
  background-size: 100% 1.35em;
  background-position: 0 0;
}

.ifx-orbit-title .hl {
  color: #fff;
  font-weight: 700;
}

/* ---- eyebrow "[IF© ‒ QUEM SOMOS / WHO WE ARE]" ---- */
.ifx-orbit-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 20px;
}

.ifx-orbit-eyebrow-mark {
  width: clamp(30px, 3.4vw, 40px);
  height: auto;
  flex: 0 0 auto;
  fill: #b41829;
}

.ifx-orbit-eyebrow-text {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;
  font-size: clamp(11px, 1.1vw, 13px);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}

.ifx-orbit-eyebrow-text sup {
  font-size: .6em;
  vertical-align: super;
}

.ifx-orbit-eyebrow-text .dim {
  color: rgba(255,255,255,.4);
  font-weight: 500;
}

/* ---- tags ---- */
.ifx-orbit-tags {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.ifx-orbit-tag {
  /* posição inicial (xPercent/yPercent/scale) é setada via GSAP em orbit-section.js,
     pra poder compor com a animação de flutuação sem conflitar no transform */
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  padding: 9px 16px;
  white-space: nowrap;
  font-size: clamp(11px, 1.1vw, 13px);
  font-weight: 600;
  letter-spacing: .01em;
  color: #f2f2f2;
  background: rgba(15, 15, 16, .82);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}

.ifx-orbit-tag::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #630102;
  box-shadow: 0 0 8px 1px rgba(99, 1, 2, .8);
  flex: 0 0 auto;
}

@media (max-width: 700px) {
  .ifx-orbit { height: 320vh; }
  .ifx-orbit-stage { width: 94vw; }
  /* no mobile a coluna central da grid fica estreita demais pro texto — volta a usar
     largura relativa ao stage, como antes */
  .ifx-orbit-center { width: 58%; }
  .ifx-orbit-title { font-size: clamp(16px, 4.6vw, 22px); }
  .ifx-orbit-eyebrow { gap: 8px; margin-bottom: 14px; }
  .ifx-orbit-eyebrow-mark { width: 26px; }
  .ifx-orbit-eyebrow-text { font-size: 9px; letter-spacing: .02em; }
  .ifx-orbit-tag { padding: 7px 12px; gap: 6px; }
  .ifx-orbit-tag::before { width: 5px; height: 5px; }
}
