/* =============================================
   KEYFRAMES
   ============================================= */
@keyframes flutuar {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-4px);
  }

  100% {
    transform: translateY(0px);
  }
}

@keyframes girarCard {
  0% {
    transform: rotateY(0deg);
  }

  100% {
    transform: rotateY(180deg);
  }
}

@keyframes blink {

  0%,
  50%,
  100% {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes heroIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes heroFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes scrollWheelDrop {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  60% {
    opacity: 0;
    transform: translateY(14px);
  }

  61% {
    opacity: 0;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes badgePulse {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .45;
    transform: scale(1.5);
  }
}

@keyframes cornerDraw {
  from {
    stroke-dashoffset: 60;
  }

  to {
    stroke-dashoffset: 0;
  }
}

@keyframes loaderLogoPulse {

  0%,
  100% {
    filter: brightness(1) drop-shadow(0 2px 6px rgba(0, 0, 0, .9));
  }

  50% {
    filter: brightness(1.25) drop-shadow(0 2px 10px rgba(0, 0, 0, 1));
  }
}

@keyframes loaderSubBlink {

  0%,
  100% {
    opacity: .28;
  }

  50% {
    opacity: .7;
  }
}

@keyframes loaderTextPulse {

  0%,
  100% {
    opacity: .72;
  }

  50% {
    opacity: 1;
  }
}

@keyframes loaderRingPulse {

  0%,
  100% {
    transform: scale(1);
    opacity: .18;
  }

  50% {
    transform: scale(1.02);
    opacity: .32;
  }
}

@keyframes pulseNews {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  70% {
    transform: scale(1.25);
    opacity: .7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

/* =============================================
   VARIÁVEIS
   ============================================= */
:root {
  --gradiente-laranja: linear-gradient(135deg, #FF7A3D 0%, #f0415e 100%);
  --gradiente-azul: linear-gradient(135deg, #00C6FF 0%, #0072FF 100%);
  --gradiente-verde: linear-gradient(135deg, #00FFC3 0%, #00B589 100%);
  --gradiente-principal: var(--gradiente-laranja);
  --pad: 3%;
  --max: 1400px;
  --gap-section: clamp(40px, 6vw, 80px);
}

/* =============================================
   RESET
   ============================================= */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
}

/* =============================================
   BASE
   ============================================= */
html {
  overflow-x: clip;
  scroll-behavior: smooth;
}

body {
  font-family: 'Krona One', sans-serif;
  background-color: #1A1A1A;
  color: #FFFCE6;
  overflow-x: clip;
  cursor: none;
  width: 100%;
}

/* cursor: none só em dispositivos com mouse preciso */
@media (pointer: coarse) {

  body,
  a,
  button,
  input,
  textarea,
  select,
  [role="button"],
  .clickable,
  .card-projeto {
    cursor: auto !important;
  }
}

a {
  cursor: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.titulo span,
.destaque-paragrafo span,
.destaque-paragrafo2 span,
.destaque-paragrafo3 span,
.destaque-paragrafo4 span,
.destaque-paragrafo5 span,
.conteudo span,
.tl-text span {
  font-size: clamp(14px, 2.5vw, 20px);
  font-family: 'Bungee', sans-serif;
}

/* =============================================
   LOADER — HYPERSPACE / GALACTIC
   ============================================= */
body.loading {
  overflow: hidden;
}

.page-loader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #020208;
  opacity: 1;
  visibility: visible;
  transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1), visibility 1.2s ease;
  overflow: hidden;
}

.page-loader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loader-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.loader-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center,
      transparent 30%,
      rgba(2, 2, 8, .55) 65%,
      rgba(2, 2, 8, .92) 100%);
  pointer-events: none;
}

.loader-content {
  position: relative;
  z-index: 2;
  width: min(480px, 90vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  text-align: center;
}

.loader-logo-wrap {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.loader-logo {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(22px, 5vw, 38px);
  letter-spacing: .14em;
  text-transform: uppercase;
  position: relative;
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: loaderLogoPulse 3s ease-in-out infinite;
}

.loader-logo-sub {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 1), 0 2px 10px rgba(0, 0, 0, .8);
  animation: loaderSubBlink 1.8s ease-in-out infinite;
}

.loader-hud {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 20px;
  border-radius: 8px;
  background: transparent;
  position: relative;
}

.loader-hud-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.loader-hud-label {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .22em;
  color: rgba(255, 252, 230, .35);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 1), 0 2px 8px rgba(0, 0, 0, .8);
}

.loader-hud-pct {
  font-family: 'Bungee', sans-serif;
  font-size: 14px;
  letter-spacing: .06em;
  color: #FFFCE6;
  min-width: 40px;
  text-align: right;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 1), 0 2px 12px rgba(0, 0, 0, .9);
}

.loader-hud-status {
  margin-top: 2px;
}

.loader-status-text {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(255, 252, 230, .22);
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 1);
  transition: opacity .4s;
}

.loader-coord {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: .14em;
  color: rgba(255, 252, 230, .14);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 1);
}

.loader-bar {
  width: 100%;
  height: 4px;
  border-radius: 999px;
  background: rgba(255, 252, 230, .06);
  position: relative;
  overflow: visible;
}

.loader-progress {
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: #FFFCE6;
  transition: width .18s linear;
  position: relative;
}

.loader-progress::after {
  content: '';
  position: absolute;
  right: -1px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FFFCE6;
  box-shadow: 0 0 10px 4px rgba(255, 252, 230, .7), 0 0 22px 8px rgba(255, 252, 230, .25);
}

.loader-bar-glow {
  position: absolute;
  inset: -2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 122, 61, .15), transparent);
  pointer-events: none;
}

.loader-enter-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 52px;
  border-radius: 4px;
  background: transparent;
  color: #FFFCE6;
  font-family: 'Bungee', sans-serif;
  font-size: 15px;
  letter-spacing: .3em;
  cursor: none;
  position: relative;
  opacity: 0;
  transform: translateY(14px) scale(.94);
  pointer-events: none;
  transition:
    opacity .6s cubic-bezier(.16, 1, .3, 1),
    transform .6s cubic-bezier(.16, 1, .3, 1),
    background .3s;
  border: none;
}

.loader-enter-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 4px;
  padding: 1.5px;
  background: var(--gradiente-principal);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.loader-enter-btn.ready {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.loader-enter-btn:hover {
  background: rgba(255, 122, 61, .06);
}

.loader-enter-icon {
  display: none;
}

.loader-enter-text {
  position: relative;
  z-index: 1;
  font-size: clamp(14px, 2vw, 15px);
  letter-spacing: .3em;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 1), 0 2px 14px rgba(0, 0, 0, .9);
  animation: loaderTextPulse 1.8s ease-in-out infinite;
}

.loader-enter-ring {
  position: absolute;
  inset: -8px;
  border-radius: 6px;
  pointer-events: none;
  border: 1px solid transparent;
  background:
    linear-gradient(#020208, #020208) padding-box,
    var(--gradiente-principal) border-box;
  background-size: 200% auto;
  opacity: .18;
  animation: loaderRingPulse 1.4s ease-in-out infinite;
}

.loader-enter-ring--2 {
  inset: -14px;
  animation-delay: .5s;
  opacity: .08;
}

.loader-warp-overlay {
  position: absolute;
  inset: 0;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
}

.loader-warp-overlay.active {
  pointer-events: auto;
}

.warp-jump-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* =============================================
   CURSOR
   ============================================= */
.custom-cursor {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999999;
}

.cursor-dot,
.cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  will-change: transform;
}

.cursor-dot {
  width: 4px;
  height: 4px;
  background: #FFFCE6;
  z-index: 2;
  box-shadow: 0 0 10px rgba(255, 252, 230, .28);
}

.cursor-ring {
  width: 32px;
  height: 32px;
  border: 1.5px solid rgba(255, 252, 230, .5);
  z-index: 1;
  transition: width .2s ease, height .2s ease, border-color .2s ease, background .2s ease;
}

.custom-cursor.is-hover .cursor-ring {
  width: 54px;
  height: 54px;
  border-color: rgba(255, 252, 230, .95);
  background: rgba(255, 252, 230, .05);
}

.custom-cursor.is-clicking .cursor-ring {
  width: 26px;
  height: 26px;
}

@media (pointer: coarse) {
  .custom-cursor {
    display: none !important;
  }
}

/* =============================================
   HEADER
   ============================================= */
.floating-header {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: min(95vw, 1100px);
  padding: .9rem 1.4rem;
  background: rgba(12, 12, 12, .55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 18px;
  transition: width .35s ease, padding .35s ease, top .35s ease;
}

.floating-header.scrolled {
  top: 12px;
  width: min(80vw, 700px);
  padding: .65rem 1.1rem;
  border-radius: 14px;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
}

.nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
}

.nav-link {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(12px, 1.5vw, 14px);
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  white-space: nowrap;
}

.nav-link::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  height: 2px;
  width: 0;
  background: var(--gradiente-principal);
  transition: width .3s ease;
}

.nav-link:hover::after {
  width: 100%;
}

.hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  width: 32px;
  height: 32px;
}

.hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: #FFFCE6;
  border-radius: 2px;
  transition: transform .3s ease, opacity .3s ease;
  transform-origin: center;
  font-size: unset;
  font-family: unset;
}

.hamburger.ativo span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.hamburger.ativo span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

.hamburger.ativo span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* =============================================
   HERO — WARP GRID
   ============================================= */
.primeiro-container {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  min-height: 100svh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #03040a;
}

.warp-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  pointer-events: none;
}

.warp-vignette {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(to right, rgba(3, 4, 10, .45) 0%, transparent 10%, transparent 90%, rgba(3, 4, 10, .45) 100%),
    linear-gradient(to bottom, transparent 65%, rgba(3, 4, 10, .7) 85%, #1A1A1A 100%);
}

.hero-corner {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  width: 40px;
  height: 40px;
  opacity: 0;
  animation: heroFadeIn .6s 1.2s forwards;
}

.hero-corner span {
  position: absolute;
  background: transparent;
  border-color: rgba(255, 255, 255, .35);
  border-style: solid;
  font-size: unset;
  font-family: unset;
}

.hero-corner--tl {
  top: 28px;
  left: 28px;
}

.hero-corner--tl span:nth-child(1) {
  top: 0;
  left: 0;
  width: 20px;
  height: 2px;
  border-width: 2px 0 0 0;
}

.hero-corner--tl span:nth-child(2) {
  top: 0;
  left: 0;
  width: 2px;
  height: 20px;
  border-width: 0 0 0 2px;
}

.hero-corner--br {
  bottom: 68px;
  right: 28px;
}

.hero-corner--br span:nth-child(1) {
  bottom: 0;
  right: 0;
  width: 20px;
  height: 2px;
  border-width: 0 0 2px 0;
}

.hero-corner--br span:nth-child(2) {
  bottom: 0;
  right: 0;
  width: 2px;
  height: 20px;
  border-width: 0 2px 0 0;
}

.hero-meta-top {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 3;
  opacity: 0;
  animation: heroFadeIn .6s 1.4s forwards;
  pointer-events: none;
}

.hero-coord {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
}

.conteudo-principal {
  position: relative;
  z-index: 2;
  padding: 0 var(--pad);
  padding-top: clamp(100px, 14vh, 140px);
  text-align: left;
  font-family: 'Montserrat', sans-serif;
  max-width: var(--max);
  margin: 0 auto;
  width: 100%;
}

.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(16px, 2.5vh, 28px);
}

.hero-eyebrow-line {
  width: 24px;
  height: 1px;
  background: rgba(255, 252, 230, .28);
  flex-shrink: 0;
}

.hero-eyebrow-text {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .38);
  transition: opacity .35s ease;
}

.edit-h1 {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(28px, 5.5vw, 64px);
  line-height: 1.05;
  letter-spacing: -.02em;
  color: #FFFCE6;
  background: none;
  -webkit-text-fill-color: #FFFCE6;
  margin-bottom: clamp(16px, 2.5vh, 28px);
  text-transform: uppercase;
}

.hero-grad-word {
  display: inline;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-sub {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(13px, 1.6vw, 17px);
  color: rgba(255, 252, 230, .42);
  letter-spacing: .03em;
  line-height: 1.8;
  margin-bottom: clamp(20px, 3vh, 36px);
}

.hero-anim {
  opacity: 0;
  animation: heroIn .9s cubic-bezier(.16, 1, .3, 1) var(--d, 0s) forwards;
}

.hero-scroll {
  position: absolute;
  bottom: clamp(60px, 8vh, 80px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.hero-scroll-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .25);
}

.hero-scroll-mouse {
  width: 24px;
  height: 38px;
  border-radius: 12px;
  border: 1.5px solid rgba(255, 255, 255, .18);
  display: flex;
  justify-content: center;
  padding-top: 6px;
}

.hero-scroll-wheel {
  width: 3px;
  height: 7px;
  border-radius: 2px;
  animation: scrollWheelDrop 2s ease-in-out infinite;
}

.hero-pips {
  position: absolute;
  bottom: clamp(68px, 9vh, 88px);
  right: 28px;
  z-index: 3;
  display: flex;
  gap: 8px;
  align-items: center;
  opacity: 0;
  animation: heroFadeIn .6s 1.6s forwards;
}

.hero-pip {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  cursor: pointer;
  opacity: .25;
  transition: opacity .5s, transform .5s;
}

.hero-pip.on {
  opacity: 1;
  transform: scale(1.5);
}

.hp0 {
  background: linear-gradient(135deg, #FF7A3D, #f0415e);
}

.hp1 {
  background: linear-gradient(135deg, #00C6FF, #0072FF);
}

.hp2 {
  background: linear-gradient(135deg, #00FFC3, #00B589);
}

.bg-corporate,
.bg-layer,
.gradient-layer {
  display: none;
}

/* =============================================
   TIPOGRAFIA
   ============================================= */
.titulo {
  font-family: 'Bungee', sans-serif;
}

.titulo2 {
  font-family: 'Bungee', sans-serif;
  margin-top: clamp(30px, 6vw, 100px);
  text-align: center;
  padding: 0 var(--pad);
  max-width: 900px;
}

.sub-titulo {
  font-size: clamp(14px, 2.5vw, 20px);
}

.sub-titulo2 {
  display: inline-block;
  position: relative;
  font-size: clamp(16px, 3vw, 24px);
  font-family: 'Bungee', sans-serif;
}

.sub-titulo2::after {
  content: '|';
  position: absolute;
  right: -8px;
  animation: blink 1s infinite;
}

.sub-titulo3 {
  font-size: clamp(14px, 2.5vw, 20px);
  font-family: 'Krona One', sans-serif;
}

.txt-apresentacao {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

/* =============================================
   DESTAQUES — consolidados
   ============================================= */
.destaque,
.destaque2,
.destaque3,
.destaque4,
.destaque5,
.destaque6 {
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-family: 'Bungee', sans-serif;
}

.destaque3 {
  font-size: clamp(14px, 2.5vw, 20px) !important;
}

.destaque5 {
  font-size: clamp(36px, 10vw, 100px);
  display: block;
}

.destaque6 {
  font-size: clamp(24px, 5vw, 50px);
}

/* =============================================
   PARÁGRAFOS DESTAQUE — consolidados
   ============================================= */
.destaque-paragrafo,
.destaque-paragrafo2 {
  font-family: 'Bungee', sans-serif;
}

.destaque-paragrafo3,
.destaque-paragrafo4 {
  font-family: 'Krona One', sans-serif;
}

.destaque-paragrafo2,
.destaque-paragrafo3,
.destaque-paragrafo4 {
  font-size: clamp(15px, 2.5vw, 22px);
  margin: clamp(14px, 3vw, 24px) auto;
  padding: 0 var(--pad);
  max-width: 1100px;
  width: 100%;
  display: block;
  text-align: center;
  opacity: .9;
}

.destaque-paragrafo5 {
  font-size: clamp(15px, 2.5vw, 26px);
  font-family: 'Bungee', sans-serif;
  text-align: center;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 var(--pad);
  line-height: 1.6;
  opacity: .9;
}

.secao-espacada>*+* {
  margin-top: clamp(14px, 3vw, 24px);
}

/* =============================================
   HR / LINHA
   ============================================= */
hr,
.linha {
  border: none;
  height: 2px;
  width: min(60%, 800px);
  margin: clamp(20px, 5vw, 40px) auto;
  background: linear-gradient(90deg, transparent, #FFFCE6, transparent);
  display: block;
}

/* =============================================
   REVEAL
   ============================================= */
.reveal {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity .8s ease, transform .8s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateX(0);
}

.card-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .6s ease, transform .6s ease;
}

.card-reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* =============================================
   SEÇÕES TEXTO
   ============================================= */
.container-txt-categorias {
  width: 100%;
  padding: clamp(24px, 4vw, 50px) var(--pad);
  max-width: var(--max);
  margin: 0 auto;
  text-align: center;
}

.paragrafo-esquerda {
  text-align: left !important;
}

.paragrafo-esquerda .destaque-paragrafo3 {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left;
}

.paragrafo-direita {
  text-align: right !important;
}

.paragrafo-direita .destaque-paragrafo4 {
  margin-left: auto !important;
  margin-right: 0 !important;
  text-align: right;
}

.paragrafo-direita .reveal,
.paragrafo-direita .reveal-wrapper .reveal {
  transform: translateX(60px);
}

.paragrafo-direita .reveal.active,
.paragrafo-direita .reveal-wrapper .reveal.active {
  transform: translateX(0);
}

@media (max-width: 768px) {

  .paragrafo-esquerda,
  .paragrafo-direita {
    text-align: center !important;
  }

  .paragrafo-esquerda .destaque-paragrafo3,
  .paragrafo-direita .destaque-paragrafo4 {
    margin: clamp(14px, 3vw, 24px) auto !important;
    text-align: center;
  }

  .paragrafo-direita .reveal,
  .paragrafo-direita .reveal-wrapper .reveal {
    transform: translateY(20px);
  }

  .paragrafo-direita .reveal.active,
  .paragrafo-direita .reveal-wrapper .reveal.active {
    transform: translateY(0);
  }
}

.container-animado {
  width: 100%;
}

.container-geral,
.container-geral2,
.container-geral3 {
  width: 100%;
  max-width: 520px;
  margin: 16px auto;
  text-align: center;
}

@media (min-width: 769px) {
  .container-geral {
    margin-left: 8%;
  }

  .container-geral2 {
    margin-left: auto;
    margin-right: 8%;
  }

  .container-geral3 {
    margin-left: 18%;
  }
}

/* =============================================
   GLASS CARDS
   ============================================= */
.glass-card,
.glass-card3 {
  display: block;
  margin-top: 30%;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--gradiente-principal);
  color: #111;
  font-family: 'Bungee', sans-serif;
  font-size: clamp(13px, 1.6vw, 15px);
  text-align: center;
  cursor: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.glass-card:hover,
.glass-card3:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
}

.glass-card2 {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(14px, 2vw, 18px);
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
  line-height: 1.5;
  margin-bottom: 16px;
}

.wrapper {
  perspective: 1000px;
}

/* =============================================
   NÓS CONHECA
   ============================================= */
.nos-conheca-wrapper {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, .2);
  margin: clamp(30px, 5vw, 60px) auto;
  max-width: var(--max);
  width: 94%;
}

.nos-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  overflow: hidden;
}

.nos-bg .slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 4s ease;
}

.nos-bg .slide.active {
  opacity: 1;
}

.container2 {
  position: relative;
  z-index: 2;
  border-radius: 32px;
  border: 1px solid rgba(255, 255, 255, .1);
  padding: clamp(30px, 5vw, 60px) var(--pad);
}

.container3 {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 40vh;
}

.nos-conheca {
  max-width: 1100px;
  width: 100%;
  padding: clamp(24px, 4vw, 40px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: rgba(255, 255, 255, .08);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  border-radius: 22px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .3);
  color: #FFFCE6;
  position: relative;
  overflow: hidden;
}

/* =============================================
   CONTEÚDO GLASS
   ============================================= */
.conteudo {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #FFFCE6;
  padding: clamp(20px, 4vw, 40px) clamp(16px, 5vw, 60px);
  border-radius: 20px;
  background: rgba(10, 10, 10, .55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .4);
  max-width: min(90vw, 900px);
  margin: 0 auto;
}

.conteudo h1 {
  font-size: clamp(1.4rem, 4vw, 3rem);
  margin-bottom: 10px;
}

.conteudo h2 {
  font-size: clamp(1.1rem, 3vw, 1.8rem);
  margin-bottom: 8px;
}

.conteudo h3 {
  font-size: clamp(.9rem, 2vw, 1.15rem);
  opacity: .8;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  margin-top: 6px;
}

.conteudo p {
  opacity: .7;
}

/* =============================================
   GRÁFICO PINNED
   ============================================= */
.secao-grafico-pinned {
  height: 400vh;
  position: relative;
  min-height: 100vh;
}

.grafico-pinned {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.graf-base-line {
  position: absolute;
  bottom: clamp(36px, 5vh, 56px);
  left: 6%;
  right: 6%;
  height: 1px;
  background: rgba(255, 255, 255, .09);
  z-index: 2;
}

.graf-bastoes {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 6%;
  gap: clamp(10px, 2.5vw, 40px);
  z-index: 1;
}

.bastao-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  padding-bottom: clamp(36px, 5vh, 56px);
  position: relative;
}

.bastao-num {
  font-family: 'Courier New', monospace;
  font-size: clamp(10px, 1.2vw, 13px);
  letter-spacing: .08em;
  color: rgba(255, 252, 230, .0);
  opacity: 0;
  transform: translateY(6px);
  transition: color .4s ease, opacity .5s ease, transform .5s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  white-space: nowrap;
  pointer-events: none;
}

.bastao-num.show {
  color: rgba(255, 252, 230, .55);
  opacity: 1;
  transform: translateY(0);
}

.bastao-stick {
  width: clamp(6px, 1vw, 20px);
  border-radius: 999px;
  height: 0px;
  background: var(--gradiente-principal);
  transition: height 1.4s cubic-bezier(.16, 1, .3, 1);
  position: relative;
  flex-shrink: 0;
}

.bastao-stick.grown::after {
  opacity: 1;
}

.bastao-tag {
  font-family: 'Courier New', monospace;
  font-size: clamp(8px, .9vw, 10px);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .18);
  white-space: nowrap;
  position: absolute;
  bottom: clamp(10px, 1.5vh, 18px);
}

.graf-glass-card {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  background: rgba(10, 10, 10, .58);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 20px;
  padding: clamp(22px, 4vw, 36px) clamp(28px, 6vw, 60px);
  text-align: center;
  box-shadow: 0 8px 48px rgba(0, 0, 0, .55);
  min-width: min(50%, 340px);
  max-width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.graf-glass-eyebrow {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
}

.grafico-bg,
.barra {
  display: none;
}

/* =============================================
   SEÇÃO PASSAM — JANELA DE TEMPO
   ============================================= */
.secao-passam {
  padding: var(--gap-section) 0 0;
}

.passam-outer {
  position: relative;
  height: 300vh;
}

.passam-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

#passamCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.passam-mask-left,
.passam-mask-right {
  position: absolute;
  top: 0;
  bottom: 0;
  background: #1A1A1A;
  z-index: 2;
  pointer-events: none;
}

.passam-sticky::before,
.passam-sticky::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  background: #1A1A1A;
  z-index: 2;
  pointer-events: none;
}

.passam-sticky::before {
  top: 0;
  height: calc(50% - clamp(80px, 11vh, 120px));
}

.passam-sticky::after {
  bottom: 0;
  height: calc(50% - clamp(80px, 11vh, 120px));
}

.passam-mask-left {
  left: 0;
  right: calc(50% + clamp(160px, 28vw, 380px));
}

.passam-mask-right {
  right: 0;
  left: calc(50% + clamp(160px, 28vw, 380px));
}

.passam-window-frame {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: clamp(160px, 22vh, 240px);
  left: calc(50% - clamp(160px, 28vw, 380px));
  right: calc(50% - clamp(160px, 28vw, 380px));
  pointer-events: none;
  z-index: 3;
}

.passam-window-frame::before,
.passam-window-frame::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gradiente-principal);
  opacity: .55;
}

.passam-window-frame::before {
  top: 0;
}

.passam-window-frame::after {
  bottom: 0;
}

.passam-corner {
  position: absolute;
  width: 10px;
  height: 10px;
}

.passam-corner span {
  position: absolute;
  background: var(--gradiente-principal);
  font-size: unset;
  font-family: unset;
}

.passam-corner span:nth-child(1) {
  width: 100%;
  height: 1.5px;
  top: 0;
  left: 0;
}

.passam-corner span:nth-child(2) {
  width: 1.5px;
  height: 100%;
  top: 0;
  left: 0;
}

.passam-tl {
  top: -1px;
  left: -1px;
}

.passam-tr {
  top: -1px;
  right: -1px;
  transform: scaleX(-1);
}

.passam-bl {
  bottom: -1px;
  left: -1px;
  transform: scaleY(-1);
}

.passam-br {
  bottom: -1px;
  right: -1px;
  transform: scale(-1);
}

.passam-hud-lbl {
  position: absolute;
  font-family: 'Courier New', monospace;
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .22);
  white-space: nowrap;
}

.passam-hud-tl {
  top: 4px;
  left: 12px;
}

.passam-hud-tr {
  top: 4px;
  right: 12px;
}

.passam-hud-bl {
  bottom: 4px;
  left: 12px;
}

.passam-hud-br {
  bottom: 4px;
  right: 12px;
}

.passam-align-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px var(--pad) 0;
  max-width: var(--max);
  margin: 0 auto;
}

.passam-align-label {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .18);
  flex-shrink: 0;
}

.passam-align-track {
  flex: 1;
  height: 2px;
  background: rgba(255, 252, 230, .06);
  border-radius: 999px;
  position: relative;
}

.passam-align-zone {
  position: absolute;
  top: -1px;
  bottom: -1px;
  background: rgba(255, 122, 61, .06);
  border-radius: 999px;
  border: 1px solid rgba(255, 122, 61, .18);
  transition: background .2s, border-color .2s;
}

.passam-align-cursor {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gradiente-principal);
  box-shadow: 0 0 6px 2px rgba(255, 122, 61, .6);
  will-change: left;
}

.passam-align-status {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: .16em;
  color: rgba(255, 252, 230, .2);
  min-width: 80px;
  text-align: right;
  flex-shrink: 0;
  transition: color .3s;
}

@media (max-width: 768px) {
  .passam-outer {
    height: 260vh;
  }
}

/* =============================================
   SEÇÃO 24H
   ============================================= */
.vinte4h-section {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #1A1A1A;
  border-radius: 28px;
  margin: 0 clamp(12px, 2vw, 24px);
}

.v24-eyebrow {
  position: absolute;
  top: clamp(20px, 3vh, 36px);
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 var(--pad);
  z-index: 3;
  pointer-events: none;
}

.v24-eyebrow-tag {
  font-family: 'Courier New', monospace;
  font-size: 9px !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .2);
  white-space: nowrap;
  flex-shrink: 0;
}

.v24-eyebrow-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 252, 230, .08);
}

.v24-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
}

.v24-content {
  position: relative;
  z-index: 2;
  max-width: var(--max);
  width: 100%;
  margin: 0 auto;
  padding: clamp(80px, 12vh, 120px) var(--pad) clamp(60px, 10vh, 100px);
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vh, 56px);
  align-items: center;
}

.v24-clock-wrap {
  align-self: flex-start;
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.v24-clock {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(14px, 2vw, 18px);
  letter-spacing: .12em;
  color: rgba(255, 252, 230, .35);
  line-height: 1;
}

.v24-clock-sub {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .18);
}

.v24-clock-dot {
  opacity: .3;
}

.v24-numbers-block {
  width: 100%;
}

.v24-num-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 100%;
}

.v24-num-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.v24-num-big {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(64px, 14vw, 140px);
  line-height: 1;
  letter-spacing: -.02em;
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.v24-num-label {
  font-family: 'Courier New', monospace;
  font-size: clamp(9px, 1.1vw, 11px);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .22);
}

.v24-num-sep {
  width: 1px;
  height: clamp(60px, 10vw, 100px);
  background: rgba(255, 252, 230, .08);
  flex-shrink: 0;
  margin: 0 clamp(16px, 3vw, 40px);
}

.v24-bottom-row {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  border-top: 1px solid rgba(255, 252, 230, .06);
  padding-top: clamp(20px, 3vh, 32px);
}

.v24-purpose-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.v24-purpose-tag {
  font-family: 'Courier New', monospace;
  font-size: 9px !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .22);
}

.v24-purpose-headline {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(22px, 3.5vw, 42px);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: #FFFCE6;
  text-transform: uppercase;
}

.v24-purpose-headline .v24-sell {
  color: #fffce6;
  display: block;
  font-size: clamp(28px, 5vw, 60px);
  letter-spacing: -.02em;
  text-shadow: 0 0 40px rgba(124, 122, 122, .863);
}

.v24-purpose-sub {
  font-family: 'Courier New', monospace;
  font-size: clamp(10px, 1.2vw, 12px);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .35);
  max-width: 480px;
  line-height: 1.8;
}

.v24-phrase {
  font-family: 'Courier New', monospace;
  font-size: clamp(11px, 1.3vw, 13px);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
  text-align: center;
}

.v24-period-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 500px;
}

.v24-period-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: #FFFCe6 !important;
  box-shadow: 0 0 8px 3px rgba(71, 71, 71, .55) !important;
}

.v24-period-label {
  font-family: 'Courier New', monospace;
  font-size: 9px !important;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #FFFCe6;
  min-width: 44px;
  flex-shrink: 0;
}

.v24-period-bar {
  flex: 1;
  height: 1px;
  background: rgba(255, 252, 54, .12);
  position: relative;
}

.v24-period-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: #FFFCe6 !important;
  transition: width .5s linear;
}

.v24-period-tag {
  font-family: 'Courier New', monospace;
  font-size: 9px !important;
  letter-spacing: .16em;
  color: #fffce6;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .vinte4h-section {
    border-radius: 16px;
    margin: 0 8px;
  }

  .v24-num-big {
    font-size: clamp(48px, 18vw, 80px);
  }

  .v24-num-row {
    flex-direction: column;
    align-items: center;
    gap: clamp(16px, 4vw, 28px);
  }

  .v24-num-sep {
    width: clamp(40px, 20vw, 80px);
    height: 1px;
    margin: 0;
  }

  .v24-num-item {
    width: 100%;
  }

  .v24-clock-wrap {
    align-self: center;
  }
}

/* =============================================
   SINAPSE
   ============================================= */
.sinapse-section {
  position: relative;
  height: 720vh;
  background: #1A1A1A;
}

.sinapse-canvas {
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: 100vh;
  height: 100svh;
  z-index: 1;
  background: #1A1A1A;
}

.sinapse-label {
  position: sticky;
  top: 28px;
  left: 0;
  width: 100%;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 var(--pad);
  pointer-events: none;
  margin-top: -100vh;
  margin-bottom: 0;
}

.sinapse-label-line {
  width: 22px;
  height: 1px;
  background: rgba(255, 252, 230, .15);
  flex-shrink: 0;
}

.sinapse-label-text {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .15);
}

.stt-orbit,
.sticky,
.orbit-container,
.bg-final,
.logo-center,
.card {
  display: none;
}

/* =============================================
   PRODUTOS / MARQUEE
   ============================================= */
.produtos {
  padding: clamp(30px, 5vw, 60px) var(--pad);
  text-align: center;
}

.clients-marquee-section {
  width: 100%;
  background: #0f0f0f;
  overflow: hidden;
  position: relative;
}

.clients-marquee-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.clients-marquee-section::before,
.clients-marquee-section::after {
  content: "";
  position: absolute;
  top: 0;
  width: 80px;
  height: 100%;
  z-index: 10;
  pointer-events: none;
}

.clients-marquee-section::before {
  left: 0;
  background: linear-gradient(to right, #0f0f0f, transparent);
}

.clients-marquee-section::after {
  right: 0;
  background: linear-gradient(to left, #0f0f0f, transparent);
}

.clients-row {
  width: 100%;
  height: 145px;
  overflow: hidden;
  position: relative;
  border-top: 4px solid #111;
}

.clients-row:first-child {
  border-top: none;
}

.clients-track {
  display: flex;
  width: max-content;
  position: absolute;
  top: 0;
  left: 0;
  will-change: transform;
}

.client-card {
  width: 155px;
  height: 145px;
  background: #ece9d8;
  border-right: 4px solid #111;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.client-card img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  filter: brightness(0);
  pointer-events: none;
  user-select: none;
}

/* =============================================
   PACOTES
   ============================================= */
.secao-pacotes-titulo {
  width: 100%;
  max-width: var(--max);
  margin: clamp(40px, 6vw, 80px) auto 0;
  padding: 0;
  text-align: center;
}

.container-pacotes-produtos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: clamp(16px, 2.5vw, 28px);
  width: 100%;
  max-width: var(--max);
  margin: clamp(20px, 3vw, 36px) auto;
  padding: 0 var(--pad);
  isolation: isolate;
}

.container-pacotes-produtos>.reveal {
  flex: 1 1 300px;
  max-width: 420px;
  min-width: 260px;
  display: flex;
}

.container-vidro {
  width: 100%;
  padding: 24px 20px;
  border-radius: 18px;
  background: rgba(26, 26, 26, .82);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 2px 0 rgba(255, 255, 255, .06) inset;
  color: #FFFCE6;
  will-change: transform;
  transition: transform .35s ease, filter .35s ease;
  display: flex;
  flex-direction: column;
}

.container-vidro:hover {
  transform: translateY(-6px);
  filter: drop-shadow(0 16px 32px rgba(0, 0, 0, .45));
}

.lista-pacote {
  list-style: none;
  margin: 12px 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
  flex: 1;
}

.lista-pacote li {
  font-family: 'Krona One', sans-serif;
  font-size: clamp(11px, 1.4vw, 13px);
  line-height: 1.5;
  padding-left: 18px;
  position: relative;
  opacity: .9;
}

.lista-pacote li::before {
  content: "•";
  position: absolute;
  left: 0;
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 14px;
}

.destaque-pacote {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(11px, 1.4vw, 13px);
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1.5;
  margin-top: 8px;
}

.btn-pacote {
  display: block;
  margin-top: 20px;
  padding: 12px 16px;
  border-radius: 12px;
  background: var(--gradiente-principal);
  color: #111;
  font-family: 'Bungee', sans-serif;
  font-size: clamp(13px, 1.6vw, 15px);
  text-align: center;
  cursor: none;
  transition: opacity .2s ease, transform .2s ease;
}

.btn-pacote:hover {
  opacity: .88;
  transform: translateY(-2px);
}

.nota-seguranca {
  text-align: center;
  padding: clamp(20px, 4vw, 40px) var(--pad);
}

/* =============================================
   MODAL
   ============================================= */
.modal-contato {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.modal-contato.active {
  display: flex;
}

.modal-contato__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .82);
}

.modal-contato__content {
  position: relative;
  z-index: 2;
  width: min(92vw, 520px);
  max-height: 92vh;
  max-height: 92svh;
  display: flex;
  flex-direction: column;
  background: #0e0e0e;
  color: #FFFCE6;
  border: 1px solid rgba(255, 255, 255, .1);
  border-top: 2px solid transparent;
  border-image: var(--gradiente-principal) 1;
  font-family: 'Krona One', sans-serif;
  overflow: hidden;
}

.modal-contato__body {
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 252, 230, .15) transparent;
  flex: 1;
  min-height: 0;
}

.modal-contato__body::-webkit-scrollbar {
  width: 4px;
}

.modal-contato__body::-webkit-scrollbar-track {
  background: transparent;
}

.modal-contato__body::-webkit-scrollbar-thumb {
  background: rgba(255, 252, 230, .15);
  border-radius: 2px;
}

.modal-contato__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: rgba(255, 255, 255, .04);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.modal-contato__topbar-tag {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .3);
}

.modal-contato__topbar-dots {
  display: flex;
  gap: 6px;
}

.modal-contato__topbar-dots span {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
  font-size: unset;
  font-family: unset;
}

.modal-contato__body {
  padding: clamp(20px, 4vw, 28px) clamp(18px, 4vw, 28px);
}

.modal-contato__header {
  margin-bottom: 20px;
}

.modal-contato__eyebrow {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.modal-contato__eyebrow::before {
  content: '';
  display: block;
  width: 18px;
  height: 1px;
  background: rgba(255, 252, 230, .2);
  flex-shrink: 0;
}

.modal-contato__content h2 {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(18px, 3.5vw, 26px);
  letter-spacing: -.01em;
  line-height: 1.1;
  color: #FFFCE6;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.modal-contato__content p {
  font-family: 'Courier New', monospace;
  font-size: clamp(10px, 1.4vw, 11px);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
}

.modal-contato__fechar {
  position: absolute;
  top: 6px;
  right: 12px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-family: 'Bungee', sans-serif;
  border: none;
  background: none;
  color: rgba(255, 252, 230, .35);
  cursor: none;
  line-height: 1;
  transition: color .15s ease;
  z-index: 3;
}

.modal-contato__fechar:hover {
  color: #FFFCE6;
}

.modal-contato__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 18px;
}

.modal-campo {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.modal-campo-label {
  font-family: 'Courier New', monospace;
  font-size: 9px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .28);
  padding-left: 2px;
}

.modal-contato__form input,
.modal-contato__form textarea {
  width: 100%;
  padding: 11px 14px;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .04);
  color: #FFFCE6;
  outline: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  transition: border-color .2s ease, background .2s ease;
  cursor: none;
  letter-spacing: .02em;
}

.modal-contato__form input:focus,
.modal-contato__form textarea:focus {
  border-bottom-color: #FFFCE6;
  background: rgba(255, 255, 255, .06);
}

.modal-contato__form input::placeholder,
.modal-contato__form textarea::placeholder {
  color: rgba(255, 252, 230, .18);
  font-size: 12px;
  letter-spacing: .04em;
}

.modal-contato__form textarea {
  min-height: 100px;
  resize: none;
}

.modal-contato__form button {
  margin-top: 6px;
  padding: 13px 16px;
  border: none;
  border-radius: 0;
  cursor: none;
  color: #0e0e0e;
  background: var(--gradiente-principal);
  font-size: clamp(12px, 1.6vw, 13px);
  font-family: 'Bungee', sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  transition: opacity .2s ease, transform .2s ease;
  position: relative;
  overflow: hidden;
}

.modal-contato__form button::after {
  content: '→';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  opacity: .6;
}

.modal-contato__form button:hover {
  opacity: .88;
  transform: translateY(-1px);
}

.modal-divider {
  height: 1px;
  background: rgba(255, 255, 255, .06);
  margin: 4px 0;
}

.contact-feedback {
  min-height: 20px;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-top: 6px;
}

.contact-feedback.success {
  color: #6bffb0;
}

.contact-feedback.error {
  color: #ff8b8b;
}

body.modal-open {
  overflow: hidden;
}

@media (max-width: 768px) {
  .modal-contato__content {
    width: 96vw;
    border-image: none;
    border-top: 2px solid;
    border-top-color: #FF7A3D;
  }

  .modal-contato__body {
    padding: 18px 16px;
  }
}

@media (max-width: 480px) {
  .modal-contato__body {
    padding: 16px 14px;
  }

  .modal-contato__content h2 {
    font-size: 18px;
  }
}

/* =============================================
   FOOTER
   ============================================= */
footer {
  padding: 20px var(--pad);
  text-align: center;
}

.footer {
  font-family: 'Krona One', sans-serif;
  padding: 16px var(--pad);
  color: rgba(245, 245, 245, .22);
  text-align: center;
  font-size: clamp(11px, 1.5vw, 13px);
}

.footer a {
  font-family: 'Bungee', sans-serif;
  font-size: inherit;
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* =============================================
   MISC
   ============================================= */
.icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
  animation: flutuar 3s ease-in-out infinite;
}

/* =============================================
   TABLET (≤ 1024px)
   ============================================= */
@media (max-width: 1024px) {
  .clients-row {
    height: 120px;
  }

  .client-card {
    width: 130px;
    height: 120px;
  }

  .client-card img {
    width: 48px;
    height: 48px;
  }

  .floating-header.scrolled {
    width: min(85vw, 700px);
  }

  .container-pacotes-produtos>.reveal {
    flex: 1 1 240px;
    max-width: 320px;
  }
}

/* =============================================
   MOBILE (≤ 768px)
   ============================================= */
@media (max-width: 768px) {

  /* ── Header ── */
  .floating-header,
  .floating-header.scrolled {
    width: 92vw !important;
    padding: .8rem 1rem;
    top: 12px;
  }

  .floating-header,
  .floating-header.scrolled,
  .nos-conheca,
  .conteudo,
  .graf-glass-card {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .conteudo {
    background: rgba(10, 10, 10, .85);
  }

  .graf-glass-card {
    background: rgba(10, 10, 10, .88);
  }

  .nos-conheca {
    background: rgba(255, 255, 255, .12);
  }

  .floating-header {
    background: rgba(12, 12, 12, .88);
  }

  .hamburger {
    display: flex;
  }

  .nav {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: rgba(10, 10, 10, .96);
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    padding: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
  }

  .nav.aberto {
    display: flex;
  }

  .nav-link {
    width: 100%;
    padding: 12px 8px;
    font-size: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
  }

  .nav-link:last-child {
    border-bottom: none;
  }

  /* ── Hero ── */
  .primeiro-container {
    min-height: 100svh;
  }

  .hero-corner,
  .hero-meta-top {
    display: none;
  }

  .edit-h1 {
    font-size: clamp(24px, 7vw, 42px);
  }

  @media (max-height: 500px) {
    .conteudo-principal {
      padding-top: clamp(70px, 12vh, 100px);
    }
  }

  .container-geral,
  .container-geral2,
  .container-geral3 {
    margin: 12px auto !important;
    max-width: 100%;
  }

  .reveal:not(.passam-outer) {
    transform: translateY(20px);
  }

  .reveal.active:not(.passam-outer) {
    transform: translateY(0);
  }

  /* ── Gráfico ── */
  .grafico-pinned {
    overflow: hidden;
  }

  .bastao-tag {
    display: none;
  }

  .graf-glass-card {
    min-width: 80%;
    padding: 20px 24px;
    gap: 10px;
  }

  .bastao-stick {
    width: clamp(3px, 1.5vw, 5px);
  }

  /* ── Marquee ── */
  .clients-row {
    height: 95px;
  }

  .client-card {
    width: 100px;
    height: 95px;
    border-right: 3px solid #111;
  }

  .client-card img {
    width: 36px;
    height: 36px;
  }

  .clients-marquee-section::before,
  .clients-marquee-section::after {
    width: 30px;
  }

  /* ── Pacotes ── */
  .container-pacotes-produtos {
    flex-direction: column;
    align-items: center;
    padding: 16px var(--pad);
  }

  .container-pacotes-produtos>.reveal {
    flex: none;
    width: 100%;
    max-width: 100%;
    min-width: unset;
  }

  .container-vidro {
    background: rgba(26, 26, 26, .92);
    will-change: auto;
  }

  .glass-card,
  .glass-card3 {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  /* ── Nos Conheca ── */
  .nos-conheca-wrapper {
    width: 95%;
    border-radius: 18px;
  }

  /* ── Misc ── */
  .nota-seguranca {
    padding: 20px var(--pad) 40px;
  }

  /* ── Sinapse ── */
  .sinapse-section {
    height: 520vh;
  }

  /* =============================================
     TIMELINE MOBILE — FLEX (definitivo)
     Substituímos grid por flex porque display:none
     em um filho de grid ainda ocupa um slot de coluna
     no auto-placement, causando desalinhamento.
     Flex ignora completamente os spacers ocultos e
     respeita a ordem visual independente do DOM.
     ============================================= */
  .tl-wrap {
    padding: 0 0 20px;
  }

  /* Spine migra para a esquerda, junto com os nós */
  .tl-spine {
    left: 10px;
  }

  /* Todos os itens: flex row independente de variante */
  .tl-item,
  .tl-item.tl-left,
  .tl-item.tl-right,
  .tl-item.tl-center {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: clamp(14px, 3vh, 22px) 0;
    transform: translateX(-24px);
  }

  .tl-item.in,
  .tl-item.tl-left.in,
  .tl-item.tl-right.in,
  .tl-item.tl-center.in {
    opacity: 1;
    transform: translateX(0);
  }

  /* Spacers desaparecem — flex não deixa slot fantasma */
  .tl-left .tl-spacer,
  .tl-right .tl-spacer,
  .tl-item.tl-center .tl-spacer {
    display: none;
  }

  /* Nó: largura fixa, não encolhe, alinhado ao topo */
  .tl-left .tl-node,
  .tl-right .tl-node,
  .tl-item.tl-center .tl-node {
    flex: 0 0 20px;
    width: 20px;
    justify-content: center;
    align-self: flex-start;
    padding-top: 3px;
    /* garante que o nó apareça PRIMEIRO visualmente */
    order: 0;
  }

  /* Conteúdo: ocupa tudo que sobra, não estoura */
  .tl-left .tl-content,
  .tl-right .tl-content,
  .tl-item.tl-center .tl-content {
    flex: 1 1 0;
    min-width: 0;
    text-align: left;
    padding-left: 14px;
    padding-right: 6px;
    order: 1;
  }

  /* Quebra de texto correta dentro dos parágrafos */
  .tl-text {
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }
}

/* =============================================
   EXTRA SMALL (≤ 480px)
   ============================================= */
@media (max-width: 480px) {
  .floating-header {
    padding: .7rem .8rem;
  }

  .conteudo {
    padding: 18px 16px;
  }

  .clients-row {
    height: 80px;
  }

  .client-card {
    width: 80px;
    height: 80px;
  }

  .client-card img {
    width: 28px;
    height: 28px;
  }

  .container-vidro {
    padding: 18px 16px;
  }

  .lista-pacote li {
    font-size: 12px;
  }
}

/* =============================================
   NEWS TICKER
   ============================================= */
.news-ticker {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 52px;
  display: flex;
  align-items: center;
  z-index: 9999;
  background: #1A1A1A;
  border-top: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 0 -8px 30px rgba(0, 0, 0, .25);
  overflow: hidden;
  font-family: 'Montserrat', sans-serif;
}

.news-label {
  min-width: 140px;
  height: 100%;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--gradiente-principal);
  color: #111;
  font-weight: 800;
  font-size: .85rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  flex-shrink: 0;
}

.news-label .titulo {
  font-size: inherit;
  font-family: inherit;
}

.pulse-dot {
  width: 10px;
  height: 10px;
  background: #FFFCE6;
  border-radius: 50%;
  position: relative;
  display: inline-block;
  animation: pulseNews 1.2s infinite ease-in-out;
}

.news-ticker-wrapper {
  flex: 1;
  height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
}

.news-ticker-track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  will-change: transform;
  padding-left: 100vw;
  animation: tickerScroll 50s linear infinite;
}

@keyframes tickerScroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

.news-item {
  color: #FFFCE6;
  font-size: .95rem;
  font-weight: 500;
  padding: 0 8px;
}

.news-ticker:hover .news-ticker-track {
  animation-play-state: paused;
}

@media (max-width: 768px) {
  .news-ticker {
    height: 46px;
  }

  .news-label {
    min-width: 90px;
    padding: 0 10px;
    font-size: .68rem;
    gap: 6px;
    letter-spacing: .5px;
  }

  .news-item {
    font-size: .82rem;
  }
}

@media (max-width: 480px) {
  .news-ticker {
    height: 42px;
  }

  .news-label {
    min-width: 72px;
    padding: 0 8px;
    font-size: .62rem;
    letter-spacing: .3px;
  }

  .news-item {
    font-size: .78rem;
  }
}

/* =============================================
   SEÇÃO D — FAIXAS
   ============================================= */
.secao-faixas {
  background: #1a1a1a;
  padding: 80px 0 0;
  overflow: hidden;
}

.faixas-intro {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 5% 48px;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .6s ease, transform .6s ease;
}

.faixas-intro.in {
  opacity: 1;
  transform: translateY(0);
}

.faixas-intro-line {
  width: 22px;
  height: 1px;
  background: rgba(255, 252, 230, .2);
}

.faixas-intro-text {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .25);
}

.faixas-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.faixa-item {
  display: flex;
  align-items: center;
  padding: clamp(20px, 3.5vh, 36px) 5%;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, .045);
  overflow: hidden;
  opacity: 0;
  transition: opacity .8s ease, transform .8s cubic-bezier(.16, 1, .3, 1);
}

.faixa-item::before {
  display: none;
}

.faixa-left {
  transform: translateX(-50px);
}

.faixa-right {
  transform: translateX(50px);
  justify-content: flex-end;
  text-align: right;
}

.faixa-item.in {
  opacity: 1;
  transform: translateX(0);
}

.faixa-num {
  font-family: 'Courier New', monospace;
  font-size: clamp(52px, 9vw, 110px);
  color: rgba(255, 255, 255, .045);
  font-weight: 900;
  line-height: 1;
  min-width: clamp(90px, 12vw, 140px);
  flex-shrink: 0;
  user-select: none;
  position: relative;
  z-index: 1;
}

.faixa-right .faixa-num {
  margin-left: clamp(16px, 3vw, 40px);
}

.faixa-left .faixa-num {
  margin-right: clamp(16px, 3vw, 40px);
}

.faixa-inner {
  flex: 1;
  position: relative;
  z-index: 1;
}

.faixa-right .faixa-inner {
  text-align: right;
}

.faixa-tag {
  display: block;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .22);
  margin-bottom: 10px;
}

.faixa-text {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(28px, 4vw, 48px);
  text-transform: uppercase;
  color: #FFFCE6;
  line-height: 1.0;
  letter-spacing: -.02em;
}

.faixa-text .fg,
.faixa-text .fg2,
.faixa-text .fg3 {
  background: var(--gradiente-principal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.faixas-outro {
  padding: clamp(40px, 6vh, 72px) 5%;
  text-align: center;
}

.faixas-bottom-text {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(14px, 2.2vw, 22px);
  color: rgba(255, 252, 230, .55);
  letter-spacing: .02em;
  text-transform: uppercase;
}

/* =============================================
   SEÇÃO B — LINHA DO TEMPO VERTICAL
   ============================================= */
.secao-timeline {
  background: #1a1a1a;
  padding: clamp(60px, 8vw, 100px) 5%;
  position: relative;
}

.tl-label {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .2);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(48px, 7vh, 80px);
}

.tl-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, .06);
}

.tl-wrap {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tl-spine {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  background: linear-gradient(to bottom, transparent 0%, rgba(255, 252, 230, .12) 8%, rgba(255, 252, 230, .12) 92%, transparent 100%);
  transform: scaleY(0);
  transform-origin: top center;
  transition: transform 2s cubic-bezier(.16, 1, .3, 1);
  height: 100%;
}

.tl-spine.in {
  transform: scaleY(1);
}

.tl-item {
  display: grid;
  grid-template-columns: 1fr 40px 1fr;
  align-items: center;
  padding: clamp(20px, 3.5vh, 36px) 0;
  opacity: 0;
  transition: opacity .7s ease, transform .7s cubic-bezier(.16, 1, .3, 1);
}

.tl-left {
  transform: translateX(-30px);
}

.tl-right {
  transform: translateX(30px);
}

.tl-center {
  transform: translateY(20px);
}

.tl-item.in {
  opacity: 1;
  transform: translate(0);
}

.tl-node {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
}

.tl-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: box-shadow .3s ease;
}

.tl-dot.c1 {
  background: #FF7A3D;
  box-shadow: 0 0 0 5px rgba(255, 122, 61, .14);
}

.tl-dot.c2 {
  background: #00C6FF;
  box-shadow: 0 0 0 5px rgba(0, 198, 255, .14);
}

.tl-dot.c3 {
  background: #00FFC3;
  box-shadow: 0 0 0 5px rgba(0, 255, 195, .14);
}

.tl-content {
  padding: 0 clamp(16px, 3vw, 36px);
}

.tl-right .tl-content {
  text-align: left;
}

.tl-left .tl-content {
  text-align: right;
}

.tl-content-center {
  text-align: center;
  padding: 0 16px;
}

.tl-tag {
  display: inline-block;
  font-family: 'Courier New', monospace;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255, 252, 230, .2);
  margin-bottom: 10px;
}

.tl-text {
  font-family: 'Krona One', sans-serif;
  font-size: clamp(13px, 1.5vw, 17px);
  line-height: 1.85;
  color: rgba(255, 252, 230, .58);
}

.tl-doubt {
  font-family: 'Bungee', sans-serif;
  font-size: clamp(20px, 3vw, 36px);
  color: rgba(255, 252, 230, .22);
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .faixa-num {
    font-size: clamp(36px, 10vw, 64px);
    min-width: 60px;
  }

  .faixa-text {
    font-size: clamp(22px, 5.5vw, 38px);
  }
}