/* ==========================================================================
   LP IMPACTXPERIENCE — fiel ao Figma (frame LP 1:41, 1920×8181)
   Canvas fixo de 1920px escalado proporcionalmente ao viewport (js/main.js)
   ========================================================================== */

:root {
  --navy: #02023d;
  --navy-deep: #000036;
  --navy-hero-a: #040443;
  --navy-hero-b: #000037;
  --gold-a: #c9a96e;
  --gold-b: #e8d5b0;
  --gold-grad: linear-gradient(90deg, #c9a96e 0%, #e8d5b0 50%, #c9a96e 100%);
  --blue-a: #0643fd;
  --blue-b: #029bf9;
  --blue-grad: linear-gradient(90deg, #0643fd 0%, #029bf9 100%);
  --red: #ff0000;
  --red-dark: #d80000;
  --green: #00ff11;
  --light: #d9d9d9;

  --f-clash: 'Clash Display', 'Archivo', sans-serif;
  --f-inter: 'Inter', sans-serif;
  --f-archivo: 'Archivo', sans-serif;
  --f-dm: 'DM Sans', sans-serif;
  --f-lexend: 'Lexend', sans-serif;
  --f-ppneue: 'PP Neue Montreal', 'Instrument Sans', 'Inter', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { background: var(--navy-deep); }
body { overflow-x: hidden; }
img { display: block; }
a { text-decoration: none; }
button { background: none; border: none; cursor: pointer; font: inherit; }

.viewport { width: 100%; overflow: hidden; position: relative; }
.stage {
  position: relative;
  width: 1920px;
  height: 9008px;
  background: var(--navy);
  transform-origin: 0 0;
}

/* utilitários ---------------------------------------------------------- */
.gold-text {
  background: var(--gold-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.nowrap { white-space: nowrap; }
.t-red { color: var(--red); }
.t-green { color: var(--green); }

.btn-gold {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 62px;
  padding: 16px 113px;
  border-radius: 119px;
  background: var(--gold-grad);
  font: 700 18px/0.9 var(--f-dm);
  color: var(--navy);
  white-space: nowrap;
  transition: filter .2s ease, transform .2s ease;
}
.btn-gold:hover { filter: brightness(1.06); transform: translateY(-1px); }
.btn-gold img { width: 13px; height: 13px; }
.btn-gold--white { color: #fff; }

.divider {
  position: absolute;
  left: 0;
  width: 1920px;
  height: 25px;
  z-index: 6;
}
.divider--up { transform: rotate(180deg); }

/* aurora (glow azul desfocado) ----------------------------------------- */
.aurora { position: absolute; width: 811px; height: 811px; pointer-events: none; }
.aurora__a {
  position: absolute;
  width: 2623.4px; height: 2623.4px;
  left: -906.2px; top: -906.2px;
  mix-blend-mode: lighten;
}
.aurora__b {
  position: absolute;
  width: 2571.4px; height: 2571.4px;
  left: -880.2px; top: -854.2px;
  mix-blend-mode: plus-lighter;
}

/* faixas diagonais (marca d'água IMPACTXPERIENCE) ----------------------- */
.band {
  position: absolute;
  background: linear-gradient(90deg, #cfae74 0%, #ecd9b4 50%, #cfae74 100%);
  overflow: hidden;
  pointer-events: none;
}
.band__logos {
  position: absolute;
  inset: 0;
  background: #0b1039;
  opacity: .82;
  -webkit-mask-image: url('../assets/svg/marquee-logo.svg');
  mask-image: url('../assets/svg/marquee-logo.svg');
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: 490px 57px;
  mask-size: 490px 57px;
  -webkit-mask-position: 0 center;
  mask-position: 0 center;
}
.band--social {
  width: 2400px; height: 165px;
  left: -240px; top: 2528px;
  transform: rotate(-4.5deg);
  filter: blur(12px);
  opacity: .75;
  z-index: 1;
}
.band--x1 {
  width: 2400px; height: 140px;
  left: -240px; top: 6300px;
  transform: rotate(21deg);
  filter: blur(1.6px);
  z-index: 1;
}
.band--x2 {
  width: 2400px; height: 140px;
  left: -240px; top: 6300px;
  transform: rotate(-21deg);
  filter: blur(1.6px);
  z-index: 1;
}
.band--x1 .band__logos, .band--x2 .band__logos { -webkit-mask-size: 420px 49px; mask-size: 420px 49px; }

/* ==========================================================================
   HEADER FIXO
   ========================================================================== */
.fixo {
  position: fixed;
  top: 0; left: 0;
  width: 1920px;
  background: rgba(0, 0, 0, .3);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  z-index: 100;
  transform-origin: 0 0;
}
.fixo__container {
  width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
}
.fixo__left { display: flex; align-items: center; gap: 60px; }
.fixo__logo {
  position: relative;
  width: 287px; height: 36px;
  overflow: hidden;
  display: block;
}
.fixo__logo img {
  position: absolute;
  width: 110.72%; height: 580.14%;
  left: -5.86%; top: -243.84%;
  max-width: none;
}
.fixo__links {
  display: flex;
  gap: 32px;
  font: 400 16px/1.5 var(--f-clash);
  letter-spacing: .48px;
  color: #fff;
  white-space: nowrap;
}
.fixo__cta {
  display: block;
  padding: 12px 24px;
  border-radius: 12px;
  border: 1px solid #8de9ff;
  background: var(--blue-grad);
  font: 500 14px/1.3 var(--f-clash);
  letter-spacing: .56px;
  color: #fff;
  white-space: nowrap;
  transition: filter .2s ease;
}
.fixo__cta:hover { filter: brightness(1.12); }

/* ==========================================================================
   HERO (0–878)
   ========================================================================== */
.hero {
  position: absolute;
  left: 0; top: 0;
  width: 1920px; height: 878px;
  background: linear-gradient(180deg, var(--navy-hero-a) 0%, var(--navy-hero-b) 100%);
  overflow: hidden;
  z-index: 5;
}
.hero__crowd {
  position: absolute;
  left: 0; top: -334px;
  width: 1921px; height: 1194px;
  opacity: .16;
  overflow: hidden;
}
.hero__crowd img {
  position: absolute;
  width: 100%; height: 107.26%;
  left: 0; top: -0.03%;
  object-fit: cover;
  max-width: none;
}
.hero__deco { position: absolute; inset: 0; pointer-events: none; }
.hero__diamond {
  position: absolute;
  left: 889.6px; top: -350.87px;
  width: 1369.4px; height: 1479px;
  display: flex; align-items: center; justify-content: center;
}
.hero__diamond img { width: 1352.4px; height: 1463.2px; transform: rotate(.67deg); max-width: none; }

.beam { position: absolute; display: flex; align-items: center; justify-content: center; mix-blend-mode: screen; opacity: .8; }
.hero .aurora { opacity: .5; }
.beam__rot { flex: none; }
.beam__img { position: relative; width: 1762.9px; height: 1004.6px; }
.beam__img img { position: absolute; width: 100%; height: 100.56%; top: -.56%; left: 0; max-width: none; }
.beam__hue { position: absolute; inset: 0; background: #01e7ff; mix-blend-mode: hue; }
.beam__mask {
  position: absolute; inset: 0;
  background: radial-gradient(closest-side, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 55%, #000 80%);
}
.beam--1 { left: 656.4px; top: -866.4px; width: 1865.8px; height: 2011.7px; }
.beam--1 .beam__rot { transform: rotate(127.18deg); }
.beam--2 { left: 201px; top: -723px; width: 1957.3px; height: 1956.6px; }
.beam--2 .beam__rot { transform: rotate(44.96deg); }
.beam--3 { left: 825.3px; top: -360.73px; width: 1957.3px; height: 1956.6px; }
.beam--3 .beam__rot { transform: rotate(44.96deg); }
.beam--4 { left: 633px; top: -436.14px; width: 1529.7px; height: 1582.3px; }
.beam--4 .beam__rot { transform: rotate(125.39deg); }
.beam--4 .beam__img { width: 1227.3px; }
.beam--4 .beam__img img { width: 143.65%; }

.hero__founders { position: absolute; inset: 0; }
.hero__founder { position: absolute; object-fit: cover; }
.hero__founder--left   { left: 1017px; top: 38px; width: 533px; height: 800px; }
.hero__founder--center { left: 1242px; top: 76px; width: 631px; height: 790px; }

.hero__fade { position: absolute; pointer-events: none; }
.hero__fade--b1 { left: 1px; top: 378px; width: 1920px; height: 482px;
  background: linear-gradient(180deg, rgba(1,1,59,0) 0%, #02023d 100%); }
.hero__fade--b2 { left: 0; top: 452px; width: 1920px; height: 408px;
  background: linear-gradient(180deg, rgba(1,1,59,0) 0%, #02023d 100%); }
.hero__fade--l { left: 0; top: 0; width: 745px; height: 820px;
  background:
    linear-gradient(270deg, rgba(1,1,59,0) 0%, #02023d 100%),
    linear-gradient(270deg, rgba(1,1,59,0) 0%, #02023d 100%); }
.hero__fade--r { left: 1757px; top: 0; width: 161px; height: 820px;
  background:
    linear-gradient(90deg, rgba(1,1,59,0) 0%, #02023d 100%),
    linear-gradient(90deg, rgba(1,1,59,0) 0%, #02023d 100%),
    linear-gradient(90deg, rgba(1,1,59,0) 0%, #02023d 100%); }

.hero__content { position: absolute; left: 375px; top: 263px; width: 1169px; height: 429px; }
.hero__headline { position: absolute; left: 0; top: -30px; width: 1169px; }
.hero__kicker {
  font: 500 36px/1.35 var(--f-clash);
  letter-spacing: 11.16px;
  text-transform: uppercase;
}
.hero__title {
  font: 500 64px/.7275 var(--f-clash);
  text-transform: uppercase;
  padding-bottom: 14px;
}
.hero__sub {
  margin-top: 20px;
  width: 558px;
  font: 400 25px/1.35 var(--f-inter);
  letter-spacing: 1px;
  color: #fff;
}
.hero__sub strong { font-weight: 600; }

/* coluna de badges: alturas automáticas + respiro constante entre elas.
   O texto dos 3 badges começa sempre em 34px (alinhamento à esquerda). */
.hero__badges {
  position: absolute;
  left: 0; top: 232px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.hero__badge {
  position: relative;
  min-height: 44px;
  padding: 8px 12px 8px 0;
  border-radius: 11px;
  border: 1px solid var(--blue-a);
  background: var(--navy);
  display: flex;
  align-items: center;
}
.hero__badge--1 { width: 254px; }
.hero__badge--1 p {
  padding-left: 34px;
  font: 500 14px/19px var(--f-archivo);
  color: #fff;
}
.hero__badge--2 { width: 389px; }
/* SVG 32x32 com o pin desenhado de x=6 a x=26: sem recorte (object-fit cortava a direita) */
.hero__badge--2 img { width: 32px; height: 32px; margin-left: 2px; flex: none; }
.hero__badge--2 p {
  margin-left: 0;
  width: 337px;
  font: 400 14px/19px var(--f-archivo);
  color: #fff;
}
.hero__badge--3 { width: 237px; }
.hero__badge--3 img { width: 20px; height: 21px; margin-left: 9px; flex: none; }
.hero__badge--3 p {
  margin-left: 5px;
  font: 400 14px/19px var(--f-archivo);
  color: #f3f3f3;
}
.hero__cta { left: 0; top: 456px; }

/* faixa marquee -------------------------------------------------------- */
.marquee {
  position: absolute;
  left: -15px; top: 820px;
  width: 1950px;
  padding: 18px 0;
  background: var(--navy);
  border: 1px solid var(--gold-a);
  overflow: hidden;
}
.marquee__track {
  display: flex;
  gap: 17.162px;
  width: max-content;
  animation: marquee 40s linear infinite;
}
.marquee__track img { width: 173.479px; height: 20.125px; flex: none; }
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ==========================================================================
   DORES (868–1785)
   ========================================================================== */
.dores { position: absolute; left: 0; top: 0; width: 1920px; z-index: 3; }
.dores__lines { position: absolute; top: 868px; opacity: .9; }
.dores__lines--l { left: 0; }
.dores__lines--r { left: 1669px; }
.dores__col {
  position: absolute;
  top: 934px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.dores__x { width: 36.27px; height: 38px; }
.dores__col p {
  font: 500 20px/1.33 var(--f-inter);
  color: #fff;
  text-align: center;
}

/* ==========================================================================
   DE SOZINHO PRA CONECTADO
   ========================================================================== */
.conectado { position: absolute; left: 0; top: 0; width: 1920px; z-index: 2; }
.conectado__photo {
  position: absolute;
  left: 768.9px; top: 838.9px;
  width: 1096px; height: 1096px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
  -webkit-mask-image: radial-gradient(circle closest-side, #000 78%, transparent 99%);
  mask-image: radial-gradient(circle closest-side, #000 78%, transparent 99%);
}
.conectado__photo img {
  position: absolute;
  left: -149.9px; top: -1.2px;
  width: 1381.8px; height: 921.3px;
  max-width: none;
}
.conectado__photo-tint {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, #040542 0%, rgba(4,5,66,.72) 22%, rgba(4,5,66,.18) 48%, rgba(4,5,66,0) 65%),
    linear-gradient(180deg, rgba(4,5,66,.55) 0%, rgba(4,5,66,0) 32%),
    linear-gradient(0deg, rgba(9,12,92,.22), rgba(9,12,92,.22));
}
.conectado__text { position: absolute; left: 368px; top: 1170px; width: 585px; z-index: 2; }
.conectado__h2 {
  width: 558px;
  font: 500 41.957px/1.11 var(--f-clash);
  text-transform: uppercase;
  color: #fff;
}
.conectado__h2b { font-weight: 600; }
.conectado__lead {
  margin-top: 22px;
  font: 500 28.77px/1.5 var(--f-inter);
  color: #fff;
}
.conectado__pill {
  position: absolute;
  left: 360px;
  width: 520px; height: 50px;
  border-radius: 13px;
  border: 1px solid var(--gold-a);
  background: var(--navy);
  display: flex;
  align-items: center;
  z-index: 2;
}
.conectado__pill p {
  padding-left: 17px;
  font: 400 23.975px/1 var(--f-inter);
}
.conectado__cta { left: 360px; top: 1596px; z-index: 2; }

/* ==========================================================================
   O QUE VOCÊ LEVA PRA CASA (1785–2525)
   ========================================================================== */
.leva { position: absolute; left: 0; top: 0; width: 1920px; z-index: 4; }
.leva__bg {
  position: absolute;
  left: 0; top: 1785px;
  width: 1920px; height: 740px;
  background: var(--light);
}
.leva__h2 {
  position: absolute;
  left: 50%; top: 1845px;
  transform: translateX(-50%);
  font: 600 48px/1.27 var(--f-clash);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  text-align: center;
  color: var(--navy);
  white-space: nowrap;
}
.leva__sub {
  position: absolute;
  left: 542px; top: 1930px;
  width: 835px;
  font: 400 24px/31px var(--f-dm);
  text-align: center;
  color: var(--navy);
}
.leva__sub em { font-style: italic; }
.leva__sub strong { font-weight: 700; }
.leva__card {
  position: absolute;
  width: 297px; height: 201px;
  border-radius: 20px;
  background: var(--navy);
}
/* ancorado no topo/altura da própria card: centralização vertical real,
   em vez de "top" chutado card a card */
.leva__cardtx {
  position: absolute;
  width: 297px; height: 201px;
  padding: 0 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.leva__t {
  font: 600 20px/1.33 var(--f-clash);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.leva__d {
  font: 500 20px/1.4 var(--f-inter);
  color: #fff;
  width: 100%;
}

/* ==========================================================================
   QUEM JÁ CONFIOU (2525–3262)
   ========================================================================== */
.social { position: absolute; left: 0; top: 0; width: 1920px; z-index: 2; }
.social__glow {
  position: absolute;
  left: 0; top: 2525px;
  width: 1920px; height: 740px;
  background: radial-gradient(58% 95% at 50% 8%, #1c2cae 0%, rgba(2,2,61,0) 72%);
  pointer-events: none;
}
.social__head {
  position: absolute;
  left: 620px; top: 2608px;
  width: 678px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 41px;
  z-index: 2;
}
.social__stars {
  display: flex;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid var(--blue-a);
  background: rgba(255, 255, 255, .05);
}
.social__stars img { width: 24px; height: 24px; }
.social__h2 {
  font: 500 48px/1.2 var(--f-clash);
  text-transform: uppercase;
  text-align: center;
  color: #fff;
}
.social__carousel {
  position: absolute;
  left: 320px; top: 2886px;
  width: 1280px;
  display: flex;
  gap: 14.16px;
  z-index: 2;
  overflow: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.social__carousel::-webkit-scrollbar { display: none; }

/* card de depoimento (geometria do Frame 1707478212: 417×260, r19.5, borda dourada) */
.video {
  position: relative;
  flex: none;
  width: 417.23px; height: 260px;
  border-radius: 20px;
  overflow: hidden;
  background: var(--navy);
  scroll-snap-align: start;
  cursor: pointer;
}
.video::after {
  content: '';
  position: absolute; inset: 0;
  border-radius: 20px;
  padding: 1px;
  background: var(--gold-grad);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 4;
}
.video__poster {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: .82;
  transition: opacity .3s ease, transform .4s ease;
}
.video:hover .video__poster { opacity: .95; transform: scale(1.03); }
.video__play {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 47px; height: 56px;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, .55));
  transition: transform .2s ease;
  z-index: 3;
}
.video:hover .video__play { transform: translate(-50%, -50%) scale(1.12); }
.video__name {
  position: absolute;
  left: 16px; bottom: 14px;
  padding: 5px 12px;
  border-radius: 8px;
  background: rgba(2, 2, 61, .72);
  border: 1px solid rgba(201, 169, 110, .45);
  font: 500 14px/1.2 var(--f-clash);
  color: #fff;
  z-index: 3;
}
.video iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
  z-index: 2;
}
.video.is-playing .video__poster,
.video.is-playing .video__play,
.video.is-playing .video__name { display: none; }
.video.is-playing { cursor: default; }
.plan__btn.is-disabled { opacity: .45; pointer-events: none; }
.oferta.no-countdown .plan { top: 5886px; } /* sem countdown: cards sobem 90px (desktop) */
/* sem countdown sobra só o rótulo: ele desce e passa a pertencer aos cards */
.oferta.no-countdown .countdown { top: 5800px; }
/* lote 2 ativo: o card do 2º lote assume a 1ª posição */
.oferta.lote2-active .plan--1 { left: 975px; }
.oferta.lote2-active .plan--2 { left: 415px; }
.plan__lote #lote2-status { font-weight: 400; }
.social__arrow {
  position: absolute;
  top: 2991px;
  width: 52.24px; height: 50px;
  z-index: 3;
  transition: transform .2s ease;
}
.social__arrow:hover { transform: scale(1.12); }
.social__arrow img { width: 50px; height: 52.24px; }
.social__arrow--l { left: 236px; }
.social__arrow--l img { transform: rotate(90deg); }
.social__arrow--r { left: 1629.76px; }
.social__arrow--r img { transform: rotate(-90deg); }
.social__cta { left: 746.5px; top: 3220px; z-index: 2; }

/* ==========================================================================
   COMO FUNCIONA O DIA (3082–4796)
   ========================================================================== */
.dia { position: absolute; left: 0; top: 0; width: 1920px; z-index: 3; }
.dia__ribbon { position: absolute; display: flex; align-items: center; justify-content: center; z-index: 0; }
.dia__base { z-index: 1; }
.dia__photo { z-index: 2; }
.dia__head, .dia__card, .dia__cta { z-index: 3; }
.dia__ribbon--top { left: -97.4px; top: 3082px; width: 2388.9px; height: 1029.5px; }
.dia__ribbon--top img { width: 2326px; height: 833px; transform: rotate(-175.08deg); max-width: none; }
.dia__ribbon--bottom { left: -732px; top: 3654px; width: 3192.9px; height: 1142.6px; }
.dia__ribbon--bottom img { width: 3125px; height: 833px; transform: rotate(5.76deg); max-width: none; }
.dia__base {
  position: absolute;
  left: 0; top: 3493px;
  width: 1920px; height: 866px;
  background: var(--light);
}
.dia__photo {
  position: absolute;
  left: -103px; top: 3408px;
  width: 1256px; height: 1256px;
  border-radius: 50%;
  overflow: hidden;
  -webkit-mask-image: radial-gradient(circle closest-side, #000 70%, transparent 96%);
  mask-image: radial-gradient(circle closest-side, #000 70%, transparent 96%);
}
.dia__photo img {
  position: absolute;
  left: -189.4px; top: -74.2px;
  width: 1792.6px; height: 1195.2px;
  max-width: none;
}
.dia__photo-tint {
  position: absolute; inset: 0;
  background:
    linear-gradient(200deg, rgba(226,221,233,.95) 6%, rgba(226,221,233,.45) 30%, rgba(226,221,233,0) 55%),
    linear-gradient(0deg, rgba(167,142,255,.15), rgba(167,142,255,.15));
}
.dia__head { position: absolute; left: 413px; top: 3546px; width: 550px; }
.dia__head h2 {
  font: 500 48px/normal var(--f-clash);
  text-transform: uppercase;
  color: var(--navy);
}
.dia__head p {
  margin-top: 30px;
  font: 500 32px/1.35 var(--f-inter);
  color: var(--navy);
}
.dia__card {
  position: absolute;
  left: 1077px;
  width: 483px; height: 296px;
  padding: 28px 42px 30px;
  background: rgba(0, 0, 0, .54);
  border: 1px solid rgba(255, 255, 255, .22);
  -webkit-backdrop-filter: blur(6.4px);
  backdrop-filter: blur(6.4px);
  display: flex;
  flex-direction: column;
}
.dia__icon { width: 46px; height: 46px; margin-bottom: 18px; flex: none; }
.dia__cardtx {
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.dia__cardtitle {
  font: 500 28px/normal var(--f-clash);
  text-transform: uppercase;
  color: #fff;
  width: 100%;
}
.dia__cardbody { font: 400 18px/1.5 var(--f-clash); color: #fff; }
.dia__cta { left: 1077px; top: 4385px; }

/* ==========================================================================
   OFERTA (4653–6004)
   ========================================================================== */
.oferta { position: absolute; left: 0; top: 0; width: 1920px; z-index: 2; }
.oferta__titles {
  position: absolute;
  left: 565px; top: 5563px;
  width: 835px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  z-index: 2;
}
.oferta__titles h2 {
  font: 600 48px/1.1 var(--f-clash);
  text-transform: uppercase;
  color: #fff;
}
.oferta__titles p {
  font: 400 32px/1.5 var(--f-dm);
  color: rgba(255, 255, 255, .7);
  width: 787px;
}

.countdown {
  position: absolute;
  left: 960.4px; top: 5759px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 27.87px;
  z-index: 2;
}
.countdown__label { font: 400 40px/1.1 var(--f-archivo); color: #fff; white-space: nowrap; }
.countdown__label strong { font-weight: 700; }
.countdown__timer { display: flex; align-items: center; justify-content: center; gap: 18.99px; }
.countdown__unit { display: flex; flex-direction: column; align-items: center; text-align: center; }
.countdown__num { font: 700 49.454px/normal var(--f-archivo); color: var(--red); }
.countdown__cap {
  font: 600 20.823px/1.4 var(--f-archivo);
  text-transform: uppercase;
  color: #fff;
}
.countdown__dot { width: 9.9px; height: 9.9px; }

.plan {
  position: absolute;
  top: 5976px;
  width: 530px; height: 842px;
  border-radius: 30px;
  z-index: 2;
}
.plan--1 { left: 415px; background: var(--navy); border: 1px solid var(--blue-a); }
.plan--2 { left: 975px; background: linear-gradient(90deg, var(--blue-a) 0%, var(--blue-b) 100%); }
.plan__lote {
  margin: 66px auto 0;
  text-align: center;
  font: 400 30px/1.1 var(--f-archivo);
  color: #fff;
  white-space: nowrap;
}
/* os dois cards partem do mesmo topo: conteúdo alinhado lado a lado */
.plan__lote strong { font-weight: 700; }
.plan__logo {
  position: relative;
  width: 287px; height: 36px;
  margin: 36px auto 0;
  overflow: hidden;
}
.plan__logo img {
  position: absolute;
  width: 110.72%; height: 580.14%;
  left: -5.86%; top: -243.84%;
  max-width: none;
}
.plan__price {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}
.plan__de { font: 400 24px/1.5 var(--f-dm); color: rgba(173, 173, 173, .7); }
.plan__de s { text-decoration: line-through; }
.plan__x { font: 500 45.582px/.9 var(--f-dm); color: #fff; }
.plan__valor { font: 700 91.164px/.9 var(--f-dm); }
.plan__valor--w { color: #fff; }
.plan__vista { font: 400 30px/1.5 var(--f-dm); color: #fff; }
.plan--2 .plan__vista { font-weight: 500; }
/* bloco centrado no card, itens continuam alinhados à esquerda */
.plan__list {
  width: fit-content;
  margin: 36px auto 0;
  padding: 0;
  list-style: none;
}
.plan__list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font: 500 20px/1.5 var(--f-dm);
  color: #fff;
  white-space: nowrap;
  min-height: 36px;
}
.plan__list li:first-child { font-weight: 400; }
.plan__list li img { width: 24px; height: 18px; flex: none; }
.plan__btn {
  position: absolute;
  left: 50%;
  bottom: 83px;
  transform: translateX(-50%);
  width: 349px; height: 62px;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 18px/.9 var(--f-dm);
  white-space: nowrap;
  transition: filter .2s ease;
}
.plan__btn:hover { filter: brightness(1.08); }
.plan__btn--gold { background: var(--gold-grad); color: var(--navy); }
.plan__btn--red { background: var(--red); color: #212329; font-size: 20px; }
.plan__secure {
  position: absolute;
  left: 50%;
  bottom: 45px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 3px;
  font: 600 11.458px/normal var(--f-inter);
  color: #fff;
  white-space: nowrap;
}
.plan__secure img { width: 68.48px; height: 17.89px; }

/* ==========================================================================
   GARANTIA + FAQ + CTA FINAL (5979–7920)
   ========================================================================== */
.claro { position: absolute; left: 0; top: 0; width: 1920px; z-index: 5; }
.claro__bg {
  position: absolute;
  left: 0; top: 6914px;
  width: 1920px; height: 1894px;
  background: var(--light);
}

.garantia {
  position: absolute;
  left: 0; top: 6928px;
  width: 1920px; height: 561px;
  overflow: hidden;
}
.garantia__pattern {
  position: absolute;
  left: -405.6px; top: -443px;
  width: 2745.7px; height: 1254.4px;
  max-width: none;
}
.garantia__head {
  position: absolute;
  left: 509px; top: 80.7px;
  display: flex;
  align-items: center;
  gap: 23.3px;
}
.garantia__pill {
  display: block;
  padding: 8.6px 22.8px;
  border-radius: 65.9px;
  background: var(--navy);
  font: 300 15.13px/25.9px var(--f-lexend);
  color: #fff;
  white-space: nowrap;
}
.garantia__title {
  font: 500 36.64px/1.15 var(--f-ppneue);
  color: var(--navy);
  white-space: nowrap;
}
.garantia__seal {
  position: absolute;
  left: 509px; top: 167px;
  width: 364.6px; height: 364.6px;
}
.garantia__text {
  position: absolute;
  left: 960px; top: 250px;
  width: 515px;
  font: 400 19.18px/1.45 var(--f-ppneue);
  color: var(--navy);
}
.garantia__text strong { font-weight: 500; }
.garantia__cta { left: 960px; top: 387px; }

.faq { position: absolute; left: 0; top: 7536px; width: 1920px; }
.faq__qmark { position: absolute; left: 351px; top: 45px; width: 17px; height: 35px; }
.faq__title {
  position: absolute;
  left: 350px; top: 90px;
  font: 500 36px/normal var(--f-ppneue);
  background: var(--blue-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.faq__desc {
  position: absolute;
  left: 351px; top: 152px;
  width: 407px;
  font: 500 24px/1.4 var(--f-ppneue);
  color: var(--navy);
}
.faq__suporte {
  position: absolute;
  left: 349px; top: 290px;
  width: 245px; height: 58px;
  border-radius: 84px;
  background: var(--gold-grad);
  display: flex;
  align-items: center;
  justify-content: center;
  font: 500 18px/1.163 var(--f-ppneue);
  color: var(--navy);
  transition: filter .2s ease;
}
.faq__suporte:hover { filter: brightness(1.06); }

/* top 64 = a 1ª pergunta (padding 26) nasce na mesma linha do .faq__title */
.faq__list { position: absolute; left: 870px; top: 64px; width: 787.5px; }
.faq__item { border-bottom: 1px solid rgba(2, 2, 61, .45); }
.faq__q {
  position: relative;
  width: 100%;
  display: block;
  text-align: left;
  padding: 26px 60px 25px 0;
  font: 400 26px/normal var(--f-ppneue);
  background: var(--blue-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.faq__icon {
  position: absolute;
  right: 8px; top: 50%;
  transform: translateY(-50%);
  width: 15px; height: 15px;
}
.faq__icon::before, .faq__icon::after {
  content: '';
  position: absolute;
  background: linear-gradient(90deg, var(--blue-a), var(--blue-b));
  border-radius: 2px;
  transition: opacity .2s ease;
}
.faq__icon::before { left: 0; top: 6px; width: 15px; height: 3px; }
.faq__icon::after { left: 6px; top: 0; width: 3px; height: 15px; }
.faq__item.is-open .faq__icon::after { opacity: 0; }
.faq__a {
  overflow: hidden;
  max-height: 0;
  transition: max-height .3s ease;
}
.faq__item.is-open .faq__a { max-height: 160px; }
.faq__a p {
  padding: 2px 0 22px;
  width: 557px;
  font: 400 16px/1.55 var(--f-ppneue);
  color: var(--navy);
}

.ctafinal {
  position: absolute;
  left: 960.4px; top: 8270px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}
.ctafinal__h1 {
  width: 896.3px;
  font: 500 50.552px/1.1 var(--f-dm);
  text-align: center;
  color: var(--navy);
}
.ctafinal__h1 strong { font-weight: 700; text-transform: uppercase; }
.ctafinal__btn { position: relative; margin-top: 60px; }

/* ==========================================================================
   FOOTER (7895–8181)
   ========================================================================== */
.footer { position: absolute; left: 0; top: 0; width: 1920px; z-index: 5; }
.footer::before {
  content: '';
  position: absolute;
  left: 0; top: 8808px;
  width: 1920px; height: 200px;
  background: var(--navy-deep);
}
.footer__line {
  position: absolute;
  left: 223px; top: 8877px;
  width: 1474.5px; height: 1px;
}
.footer__row {
  position: absolute;
  left: 223px; top: 8912px;
  width: 1474.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 41px;
}
.footer__copy { font: 400 16px/1.45 var(--f-inter); letter-spacing: -.08px; color: #fff; opacity: .7; white-space: nowrap; }
.footer__terms { font: 500 18px/1.45 var(--f-inter); letter-spacing: -.09px; color: #fff; opacity: .7; white-space: nowrap; }
.footer__designed { display: flex; align-items: center; gap: 6.66px; }
.footer__designed p { font: 400 19.98px/normal var(--f-inter); color: #fff; white-space: nowrap; }
.footer__origin {
  position: relative;
  width: 218px; height: 22px;
  overflow: hidden;
}
.footer__origin img {
  position: absolute;
  width: 105.17%; height: 582.16%;
  left: -2.15%; top: -234.82%;
  max-width: none;
}

/* ==========================================================================
   MOBILE / TABLET (≤1024px) — reflow em coluna única
   Acima de 1024px vale o canvas 1920 escalado (pixel-perfect do Figma).
   ========================================================================== */
@media (max-width: 1024px) {

  .stage {
    width: 100%;
    height: auto;
    transform: none !important;
    background: var(--navy);
  }
  .viewport { height: auto !important; }

  /* utilitários ------------------------------------------------------- */
  .btn-gold {
    position: static;
    height: 54px;
    padding: 14px 44px;
    font-size: 15px;
    width: fit-content;
  }
  .divider { position: static; width: 100%; height: 14px; }
  .aurora, .band--social, .dores__lines { display: none; }

  /* header ------------------------------------------------------------ */
  .fixo { width: 100%; background: rgba(2, 2, 61, .94); }
  .fixo__container { width: auto; padding: 12px 16px; gap: 12px; }
  .fixo__left { gap: 0; flex: 1; min-width: 0; }
  .fixo__links { display: none; }
  .fixo__logo { width: 156px; height: 19.5px; flex: none; }
  .fixo__cta { padding: 9px 13px; font-size: 12px; flex: none; }

  /* hero --------------------------------------------------------------- */
  .hero {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 92px 20px 0;
    overflow: hidden;
  }
  .hero::after {
    content: '';
    position: absolute;
    right: -30%; top: -10%;
    width: 90%; height: 55%;
    background: radial-gradient(closest-side, rgba(1,150,255,.4) 0%, rgba(1,150,255,0) 100%);
    pointer-events: none;
  }
  .hero__deco { display: none; }
  .hero__crowd { width: 100%; height: 100%; top: 0; }
  /* os fades do desktop cobriam as fotos (fundadora da esquerda ficava apagada):
     no mobile o escurecimento fica só no ::after do bloco das fundadoras */
  .hero__fade { display: none; }

  .hero__content { position: relative; left: auto; top: auto; order: 1; width: 100%; height: auto; z-index: 2; }
  .hero__headline { position: static; width: 100%; text-align: center; }
  .hero__kicker { font-size: 16px; letter-spacing: 5px; }
  .hero__title { font-size: 36px; line-height: .95; padding-bottom: 6px; }
  .hero__sub { width: 100%; font-size: 17px; letter-spacing: .2px; margin-top: 12px; }
  .hero__sub br { display: none; }

  .hero__badges {
    position: static;
    width: 100%;
    max-width: 520px;
    margin: 18px auto 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .hero__badge {
    position: static;
    width: 100%;
    height: auto;
    min-height: 44px;
    padding: 12px 16px;
    justify-content: center;
    gap: 6px;
  }
  .hero__badge--1 p { padding-left: 0; }
  .hero__badge--1 p, .hero__badge--2 p, .hero__badge--3 p {
    width: auto;
    padding: 0;
    margin: 0;
    text-align: center;
  }
  .hero__badge--2 img, .hero__badge--3 img { margin: 0; }
  .hero__badge--2 img { margin: 0 -2px 0 -4px; } /* compensa o respiro interno do SVG */
  .hero__badge--1 br { display: none; }
  .hero__cta { margin: 20px auto 0; }

  .hero__founders {
    position: relative;
    order: 2;
    inset: auto;
    width: 100%;
    height: 310px;
    margin-top: 14px;
  }
  .hero__founder--left   { left: calc(50% - 180px); top: auto; bottom: 0; width: auto; height: 272px; z-index: 1; }
  .hero__founder--center { left: calc(50% - 62px);  top: auto; bottom: 0; width: auto; height: 305px; z-index: 2; }
  .hero__founders::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(180deg, rgba(2,2,61,0) 70%, rgba(2,2,61,.92) 100%);
  }

  .marquee {
    position: relative;
    left: auto; top: auto;
    z-index: 2;
    order: 3;
    width: 100vw;
    margin: 0 0 0 -20px;
    padding: 12px 0;
  }
  .marquee__track { gap: 12px; }
  .marquee__track img { width: 121px; height: 14px; }

  /* dores --------------------------------------------------------------- */
  .dores {
    position: static;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 40px 24px 16px;
  }
  .dores__col { position: static; width: 100% !important; }
  .dores__col p { font-size: 15px; }
  .dores__col p br { display: none; }
  .dores__x { width: 30px; height: 31px; }

  /* conectado ----------------------------------------------------------- */
  .conectado {
    position: static;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 44px 24px 44px;
  }
  .conectado__text { position: static; order: 1; width: 100%; text-align: center; }
  .conectado__h2 { width: 100%; font-size: 26px; }
  .conectado__lead { font-size: 17px; margin-top: 12px; }
  .conectado__pill {
    position: static;
    order: 2;
    width: 100%;
    height: auto;
    min-height: 44px;
    margin-top: 12px;
    justify-content: center;
  }
  .conectado__pill p { font-size: 15px; padding: 10px 14px; text-align: center; }
  .conectado__cta { order: 3; margin: 22px auto 0; }
  .conectado__photo {
    position: relative;
    order: 4;
    left: auto; top: auto;
    width: 108%;
    max-width: 500px;
    height: auto;
    aspect-ratio: 1;
    margin: 26px -8% 0 auto;
  }
  .conectado__photo img {
    left: -16%; top: 0;
    width: 132%; height: 100%;
    object-fit: cover;
  }
  @media (min-width: 620px) {
    .conectado__photo { width: 100%; margin-left: auto; margin-right: auto; }
  }
  .conectado__photo-tint {
    background:
      linear-gradient(180deg, rgba(4,5,66,.5) 0%, rgba(4,5,66,0) 38%),
      linear-gradient(0deg, rgba(9,12,92,.2), rgba(9,12,92,.2));
  }

  /* leva ---------------------------------------------------------------- */
  .leva {
    position: static;
    width: 100%;
    background: var(--light);
    padding-bottom: 0;
  }
  .leva__bg { display: none; }
  .leva__h2 {
    position: static;
    transform: none;
    display: block;
    margin: 30px auto 0;
    font-size: 21px;
    letter-spacing: 1.5px;
    text-align: center;
  }
  .leva__sub {
    position: static;
    display: block;
    width: auto;
    margin: 14px 24px 0;
    font-size: 15px;
    line-height: 1.45;
  }
  .leva__card { display: none; }
  .leva__cardtx {
    position: static;
    width: auto;
    height: auto;
    padding: 22px 18px;
    max-width: 480px;
    margin: 16px 24px 0;
    background: var(--navy);
    border-radius: 20px;
  }
  @media (min-width: 528px) { .leva__cardtx { margin-left: auto; margin-right: auto; } }
  .leva__t { font-size: 18px; margin-bottom: 10px; }
  .leva__t br { display: none; }
  .leva__d { width: 100%; font-size: 15px; line-height: 1.4; }
  .leva__d br { display: none; }
  .leva__sub br { display: none; }
  /* só o divisor de baixo se descola dos cards; o de cima é a borda da seção */
  .leva .divider:not(.divider--up) { margin-top: 40px; }

  /* social -------------------------------------------------------------- */
  .social {
    position: relative;
    width: 100%;
    padding: 40px 0 48px;
    /* glow como background da seção: sempre atrás do conteúdo */
    background: radial-gradient(95% 48% at 50% 6%, #1c2cae 0%, rgba(2,2,61,0) 75%);
  }
  .social__glow { display: none; }
  .social__head { position: static; width: 100%; padding: 0 24px; gap: 22px; }
  .social__stars { padding: 8px 12px; gap: 7px; }
  .social__stars img { width: 18px; height: 18px; }
  .social__h2 { font-size: 26px; }
  .social__carousel {
    position: static;
    width: auto;
    margin-top: 26px;
    padding: 0 24px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .social__carousel::-webkit-scrollbar { display: none; }
  .video { width: 300px; height: 187px; scroll-snap-align: center; }
  .video__name { font-size: 12px; left: 12px; bottom: 10px; }
  .social__arrow { display: none; }
  .social__cta { margin: 30px auto 0; }

  /* dia ----------------------------------------------------------------- */
  .dia {
    position: relative;
    width: 100%;
    background: var(--light);
    padding: 40px 0 44px;
  }
  .dia::before, .dia::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%; height: 5px;
    background: var(--gold-grad);
  }
  .dia::before { top: 0; }
  .dia::after { bottom: 0; }
  .dia__ribbon, .dia__base { display: none; }
  .dia { display: flex; flex-direction: column; }
  .dia__head { position: static; order: 1; width: 100%; padding: 0 24px; text-align: center; }
  .dia__head h2 { font-size: 26px; }
  .dia__head p { font-size: 17px; margin-top: 8px; }
  .dia__photo {
    position: relative;
    order: 2;
    left: auto; top: auto;
    width: calc(100% - 48px);
    max-width: 430px;
    height: auto;
    aspect-ratio: 1;
    margin: 24px auto 0;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .dia__photo img {
    left: -22%; top: 0;
    width: 144%; height: 100%;
    object-fit: cover;
  }
  .dia__card {
    background: rgba(2, 2, 61, .92);
    border-color: rgba(255, 255, 255, .14);
    position: relative;
    order: 3;
    left: auto; top: auto !important;
    width: auto;
    max-width: 480px;
    height: auto;
    margin: 16px 24px 0;
    padding: 20px;
  }
  @media (min-width: 528px) { .dia__card { margin-left: auto; margin-right: auto; width: 100%; } }
  .dia__icon { position: static; width: 40px; height: 40px; margin: 0 auto 12px; }
  .dia__cardtx { position: static; transform: none; width: 100%; text-align: center; align-items: center; }
  .dia__cardtitle { font-size: 20px; width: 100%; }
  .dia__cardbody { font-size: 15px; }
  .dia__cta { order: 4; margin: 26px auto 0; }

  /* oferta -------------------------------------------------------------- */
  .oferta {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 46px 0 56px;
    background: radial-gradient(130% 55% at 50% 32%, #1428a8 0%, var(--navy) 72%);
    display: flex;
    flex-direction: column;
  }
  .oferta__titles { order: 1; }
  .countdown { order: 2; }
  .plan--1 { order: 3; }
  .plan--2 { order: 4; }
  .oferta.lote2-active .plan--2 { order: 3; }
  .oferta.lote2-active .plan--1 { order: 4; }
  .band--x1, .band--x2 {
    width: 220%;
    height: 78px;
    left: -60%;
    top: 58%;
  }
  .band--x1 { transform: rotate(17deg); }
  .band--x2 { transform: rotate(-17deg); }
  .band--x1 .band__logos, .band--x2 .band__logos { -webkit-mask-size: 232px 27px; mask-size: 232px 27px; }
  .oferta__titles { position: relative; z-index: 2; width: 100%; padding: 0 24px; gap: 10px; left: auto; top: auto; }
  .oferta__titles h2 { font-size: 26px; }
  .oferta__titles p { font-size: 16px; width: auto; }
  .countdown { position: relative; z-index: 2; left: auto; top: auto; transform: none; margin-top: 26px; gap: 14px; }
  .countdown__label { font-size: 20px; }
  .countdown__timer { gap: 12px; }
  .countdown__num { font-size: 34px; }
  .countdown__cap { font-size: 11px; }
  .countdown__unit { width: auto !important; }
  .countdown__dot { width: 7px; height: 7px; }

  .plan {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: auto;
    max-width: 480px;
    height: auto;
    margin: 28px 20px 0;
    padding: 30px 0 26px;
    z-index: 2;
  }
  @media (min-width: 528px) { .plan { margin-left: auto; margin-right: auto; } }
  .plan__lote { margin-top: 0; font-size: 20px; }
  .plan--2 .plan__lote { margin-top: 0; }
  .plan__logo { width: 230px; height: 29px; margin-top: 22px; }
  .plan__price { margin-top: 22px; gap: 8px; }
  .plan__de { font-size: 16px; }
  .plan__x { font-size: 28px; }
  .plan__valor { font-size: 56px; }
  .plan__vista { font-size: 19px; }
  .plan__list {
    width: auto;
    max-width: none;
    padding: 0 20px 0 46px;
    margin: 20px 0 0;
  }
  .plan__list li {
    font-size: 14px;
    min-height: 32px;
    white-space: normal;
    align-items: center;
    gap: 12px;
  }
  .plan__list li br { display: none; }
  .plan__list li img { width: 19px; height: 14px; }
  .plan__btn {
    position: static;
    transform: none;
    width: min(300px, 84%);
    height: 54px;
    margin: 22px auto 0;
    font-size: 15px;
  }
  .plan__btn--red { font-size: 16px; }
  .plan__secure { position: static; transform: none; justify-content: center; margin-top: 12px; }

  /* claro (garantia + faq + cta) ---------------------------------------- */
  .claro { position: static; width: 100%; background: var(--light); padding-bottom: 64px; }
  .claro__bg { display: none; }

  .garantia {
    position: static;
    width: 100%;
    height: auto;
    padding: 44px 24px 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }
  .garantia__pattern { display: none; }
  .garantia__head {
    position: static;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
  }
  .garantia__pill { font-size: 12px; line-height: 20px; padding: 7px 16px; }
  .garantia__title { font-size: 24px; white-space: normal; }
  .garantia__seal { position: static; width: 210px; height: 210px; margin: 22px auto; }
  .garantia__text { position: static; width: 100%; font-size: 15px; line-height: 1.4; text-align: center; }
  .garantia__cta { margin: 20px auto 0; }

  .faq { position: static; width: 100%; padding: 56px 24px 0; }
  .faq__qmark { position: static; width: 14px; height: 29px; margin: 0 auto 8px; }
  .faq__title { position: static; font-size: 26px; white-space: normal; text-align: center; }
  .faq__desc { position: static; width: 100%; margin-top: 10px; font-size: 15px; text-align: center; }
  .faq__suporte { position: static; width: 210px; height: 48px; margin: 16px auto 0; font-size: 15px; }
  .faq__list { position: static; width: 100%; margin-top: 26px; }
  .faq__q { font-size: 16px; padding: 17px 44px 16px 0; }
  .faq__a p { width: 100%; font-size: 14px; padding-bottom: 18px; }
  .faq__a br { display: none; }
  .faq__icon { width: 13px; height: 13px; right: 4px; }
  .faq__icon::before { top: 5px; width: 13px; height: 3px; }
  .faq__icon::after { left: 5px; width: 3px; height: 13px; }

  .ctafinal {
    position: static;
    transform: none;
    margin-top: 60px;
    padding: 0 24px;
  }
  .ctafinal__h1 { width: 100%; font-size: 26px; line-height: 1.25; }
  .ctafinal__btn { margin-top: 24px; }

  /* footer -------------------------------------------------------------- */
  .footer { position: static; width: 100%; background: var(--navy-deep); padding-bottom: 26px; }
  .footer::before { display: none; }
  .footer__line { position: static; width: calc(100% - 48px); margin: 48px auto 0; }
  .footer__row {
    position: static;
    width: auto;
    flex-direction: column;
    gap: 10px;
    margin-top: 22px;
    padding: 0 24px;
  }
  .footer__copy, .footer__terms { font-size: 12.5px; white-space: normal; text-align: center; }
  .footer__designed p { font-size: 14px; }
  .footer__origin { width: 160px; height: 16px; }
}

/* ==========================================================================
   PALESTRANTES CONFIRMADOS (4800–5620) — carrossel de 13 cards 313×551
   ========================================================================== */
.palestrantes {
  position: absolute;
  left: 0; top: 4700px;
  width: 1920px; height: 760px;
  z-index: 4;
}
.palestrantes::before {
  content: '';
  position: absolute;
  left: 0; top: -60px;
  width: 1920px; height: 880px;
  background: radial-gradient(60% 55% at 50% 55%, rgba(6,67,253,.28) 0%, rgba(2,2,61,0) 72%);
  pointer-events: none;
}
.palestrantes__h2 {
  position: absolute;
  left: 0; top: 30px;
  width: 1920px;
  font: 600 48px/1.1 var(--f-clash);
  text-transform: uppercase;
  text-align: center;
  color: #fff;
}
.palestrantes__viewport {
  position: absolute;
  left: 0; top: 140px;
  width: 1920px; height: 571px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 160px;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.palestrantes__viewport::-webkit-scrollbar { display: none; }
.palestrantes__track {
  display: flex;
  gap: 11.7px;
  width: max-content;
  padding: 10px 160px;
}
.palestrantes__arrow {
  position: absolute;
  top: 396px;
  width: 60px; height: 60px;
  border-radius: 50%;
  background: rgba(2, 2, 61, .78);
  border: 1px solid rgba(201, 169, 110, .55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  z-index: 3;
  transition: transform .2s ease, background .2s ease;
}
.palestrantes__arrow:hover { transform: scale(1.1); background: rgba(2, 2, 61, .95); }
.palestrantes__arrow img { width: 34px; height: 35.5px; }
.palestrantes__arrow--l { left: 60px; }
.palestrantes__arrow--l img { transform: rotate(90deg); }
.palestrantes__arrow--r { left: 1800px; }
.palestrantes__arrow--r img { transform: rotate(-90deg); }

/* card — valores exatos do Figma (frame "daniel" 2:26) */
.spk {
  position: relative;
  flex: none;
  width: 311px; height: 551px;
  overflow: hidden;
  background: #000;
  scroll-snap-align: start;
  transition: transform .3s ease;
}
.spk::after {
  content: '';
  position: absolute; inset: 0;
  border: 1px solid transparent;
  border-image: linear-gradient(90deg, #fde2b8 0%, #b7945c 100%) 1;
  pointer-events: none;
  z-index: 3;
}
.spk:hover { transform: translateY(-4px); }
.spk__initials {
  position: absolute;
  left: 0; right: 0; top: 118px;
  text-align: center;
  font: 600 88px/1 var(--f-clash);
  letter-spacing: 4px;
  background: var(--gold-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: .35;
}
.spk__photo {
  position: absolute;
  left: 0; top: 0;
  width: 311px; height: 551px;
  object-fit: cover;
  object-position: center top;
}
.spk__shade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, #000 70%);
  opacity: .64;
}
.spk__info {
  position: absolute;
  left: -6px; width: 325px;
  top: 322px; height: 229px;
  background: rgba(0, 0, 0, .14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid transparent;
  border-image: linear-gradient(90deg, rgba(55,55,55,.44) 0%, rgba(255,255,255,.44) 100%) 1;
}
.spk__name {
  position: absolute;
  left: 6px; width: 311px; top: 13px;
  text-align: center;
  font: 500 20.45px/25.15px var(--f-clash);
  text-transform: uppercase;
  background: var(--gold-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
}
.spk__line { display: none; } /* Line 16 do Figma tem espessura 0 */
/* caixa centrada no card (311px) e larga o bastante p/ a bio caber em 6 linhas */
.spk__bio {
  position: absolute;
  left: 26px; top: 60px;
  width: 259px; height: 146px;
  display: flex; align-items: center; justify-content: center;
  font: 300 16px/1.45 var(--f-inter);
  text-align: center;
  color: #fff;
}
.spk__bar {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 7px;
  background: linear-gradient(90deg, #fde2b8 0%, #b7945c 100%);
  z-index: 2;
}

@media (max-width: 1024px) {
  .palestrantes {
    position: relative;
    left: auto; top: auto;
    width: 100%;
    height: auto;
    padding: 44px 0 8px;
    overflow: hidden;
  }
  .palestrantes::before { left: 0; top: 0; width: 100%; height: 100%; }
  .palestrantes__h2 {
    position: relative;
    left: auto; top: auto;
    width: 100%;
    padding: 0 24px;
    font-size: 26px;
  }
  .palestrantes__viewport {
    position: relative;
    left: auto; top: auto;
    width: 100%;
    height: auto;
    margin-top: 26px;
    scroll-padding: 0 24px;
  }
  .palestrantes__track { padding: 6px 24px 22px; gap: 12px; }
  .spk { scroll-snap-align: center; }
  .spk:hover { transform: none; }
  .palestrantes__arrow { display: none; }
}

/* celulares pequenos (≤400px) */
@media (max-width: 400px) {
  .fixo__container { padding: 10px 12px; gap: 8px; }
  .fixo__logo { width: 128px; height: 16px; }
  .fixo__cta { padding: 8px 10px; font-size: 11px; border-radius: 9px; }
  .hero { padding-top: 78px; }
  .hero__title { font-size: 32px; }
  .hero__sub { font-size: 16px; }
  .conectado__h2, .social__h2, .dia__head h2, .palestrantes__h2, .oferta__titles h2,
  .faq__title, .ctafinal__h1 { font-size: 24px; }
  .leva__h2 { font-size: 19px; letter-spacing: 1px; }
  .plan__valor { font-size: 50px; }
}
