/* Luminus Energia — landing. Tudo escopado em #lum para vencer o CSS do tema/Elementor. */

/* ---------- Base / isolamento ---------- */
#lum {
  --px: 80px;
  --navy: #0b183b;
  --cyan: #1adde3;
  --green: #2cd283;
  --inter: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --sf: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Inter', 'Segoe UI', Roboto, Arial, sans-serif;
  /* sai de qualquer container do Elementor e ocupa a largura da janela (--lum-vw vem do JS, sem a barra de rolagem) */
  width: var(--lum-vw, 100vw);
  max-width: none;
  margin-left: calc(50% - var(--lum-vw, 100vw) / 2);
  position: relative;
  overflow-x: clip;
  background: #fff;
  color: var(--navy);
  font: 400 16px/24px var(--inter);
  letter-spacing: 0;
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#lum, #lum *, #lum *::before, #lum *::after { box-sizing: border-box; }
#lum :is(h1, h2, h3, h4, p, ul, ol, li, figure, blockquote, figcaption, output, summary, details) {
  margin: 0; padding: 0; border: 0; background: none;
  font: inherit; color: inherit; letter-spacing: inherit; text-transform: none; text-align: inherit;
}
#lum :is(ul, ol) { list-style: none; }
#lum blockquote { quotes: none; }
#lum blockquote::before, #lum blockquote::after { content: none; }
#lum a { color: inherit; text-decoration: none; box-shadow: none; }
#lum img { display: block; border: 0; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }
#lum b, #lum strong { font-weight: inherit; }
#lum i, #lum em { font-style: normal; }

/* padding e max-width sempre em elementos diferentes */
#lum .lum-sec { position: relative; padding: 100px var(--px); }
#lum .lum-wrap { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; }

/* ---------- Peças compartilhadas ---------- */
#lum .lum-head { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
#lum .lum-head--left { align-items: flex-start; text-align: left; }

#lum .lum-badge {
  display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 15px;
  border: 1px solid currentColor; border-radius: 128px;
  font: 400 14px/20px var(--inter); white-space: nowrap;
}
#lum .lum-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
#lum .lum-badge--green { color: var(--green); }
#lum .lum-badge--cyan { color: var(--cyan); }
#lum .lum-badge--blue { color: #1b5aac; }

#lum .lum-h2 { font: 500 40px/48px var(--inter); letter-spacing: -1.5px; color: var(--navy); }
#lum .lum-h2--light { color: #f5f6fa; }
#lum .lum-h2--white { color: #fff; }
#lum .lum-h2 span { color: #1b5aac; }

#lum .lum-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 16px;
  padding: 12px 12px 12px 20px; border-radius: 128px;
  font: 600 16px/22px var(--inter); color: #343345; text-align: center; white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease;
}
#lum .lum-btn:hover, #lum .lum-btn:focus-visible { color: #343345; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(11, 24, 59, .18); }
#lum .lum-btn--cyan { background: linear-gradient(to right, #1adde3, #bef1ef); }
#lum .lum-btn--green { background: linear-gradient(to right, #2cd283, #8bffc8); }
#lum .lum-btn--white { background: #fff; }
#lum .lum-btn__ico {
  display: flex; align-items: center; justify-content: center; flex: none;
  width: 32px; height: 32px; border-radius: 50%; background: #f5f6fa; border: 1px solid #9ee6e2;
}
#lum .lum-btn__ico--dark { background: #343345; border: 0; }
#lum .lum-btn img { flex: none; width: 24px !important; height: 24px !important; max-width: none !important; }
#lum .lum-btn--green img { width: 20px !important; height: 20px !important; }

#lum .lum-logo { width: 271px !important; height: 91px !important; max-width: 100% !important; object-fit: contain; }

/* ---------- SEÇÃO 01 — Hero ---------- */
#lum .lum-hero { position: relative; min-height: 800px; padding: 114px 76px 88px var(--px); background: #09203c; overflow: hidden; }
#lum .lum-hero__bg {
  position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
  max-width: none !important; object-fit: cover !important; object-position: center top; pointer-events: none;
}
#lum .lum-hero__shade { position: absolute; inset: 0 auto 0 0; width: 58.68%; background: linear-gradient(to left, rgba(9, 32, 60, 0), #09203c); pointer-events: none; }
#lum .lum-hero__in { position: relative; z-index: 1; max-width: 1284px; margin: 0 auto; display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; }
#lum .lum-hero__copy { flex: 0 1 542px; min-width: 0; display: flex; flex-direction: column; gap: 32px; color: #fff; }
#lum .lum-hero__detail { display: flex; flex-direction: column; gap: 75px; }
#lum .lum-hero__text { display: flex; flex-direction: column; gap: 16px; }
#lum .lum-h1 { font: 600 70px/82px var(--inter); letter-spacing: -5px; text-transform: capitalize; color: #fff; }
#lum .lum-hero__lead { max-width: 532px; font: 400 16px/24px var(--inter); color: #fff; }

#lum .lum-proof { display: flex; align-items: center; gap: 9.698px; }
#lum .lum-proof__faces { display: flex; }
#lum .lum-proof__faces img { width: 32.325px !important; height: 32.325px !important; max-width: none !important; margin-right: -8.081px; }
#lum .lum-proof__faces img:last-child { margin-right: 0; }
#lum .lum-proof__text { font: 500 11.627px/1.21 'Manrope', var(--inter); color: #fff; white-space: nowrap; }
#lum .lum-proof__text strong { font-weight: 600; }

/* Simulador */
#lum .lum-sim {
  flex: 0 1 662px; min-width: 0; margin: 0; padding: 0; overflow: hidden;
  background: rgba(27, 46, 69, .78); border: .935px solid rgba(125, 151, 174, .25); border-radius: 16.831px;
  box-shadow: 0 26.181px 65.452px rgba(0, 0, 0, .3);
  font-family: var(--sf); color: #fff;
}
#lum .lum-sim__head {
  display: flex; align-items: center; gap: 13.09px; padding: 20.571px 26.181px 17.766px;
  border-bottom: .935px solid rgba(132, 157, 179, .16);
  background: linear-gradient(162.35deg, rgba(81, 201, 200, .09) 8.4861%, rgba(81, 201, 200, 0) 58.303%);
}
#lum .lum-sim__titles { flex: 1 1 auto; min-width: 0; }
#lum .lum-sim__eyebrow { font: 750 9.35px/14.025px var(--sf); letter-spacing: 1.2316px; text-transform: uppercase; color: #fff; margin-bottom: -4px; }
#lum .lum-sim__title { padding-top: 1.87px; font: 400 19.636px/23.563px var(--sf); letter-spacing: -.8265px; color: #fff; min-height: 26.181px; }
#lum .lum-sim__pill {
  flex: none; display: flex; align-items: center; gap: 6.545px; padding: 6.545px 9.35px;
  background: rgba(24, 191, 202, .06); border: .935px solid rgba(24, 191, 202, .28); border-radius: 999px;
  font: 400 9.35px/14.025px var(--sf); letter-spacing: .1096px; color: #18bfca; white-space: nowrap;
}
#lum .lum-sim__pill span { width: 5.61px; height: 5.61px; border-radius: 2.805px; background: #51c9c8; }
#lum .lum-sim__body { padding: 20.571px 26.181px 18.701px; }
#lum .lum-sim__label { display: flex; align-items: center; gap: 6.545px; height: 16.831px; font: 600 11.22px/16.831px var(--inter); color: #b9c7d3; }
#lum .lum-sim__help {
  display: inline-flex; align-items: center; justify-content: center; width: 14.025px; height: 14.025px;
  border: .935px solid #6f879a; border-radius: 50%; font: 600 8.415px/12.623px var(--sf); color: #9fb0be; cursor: help;
}

#lum .lum-seg { display: inline-flex; gap: 2.805px; height: 41.141px; margin-top: 8.415px; padding: 3.74px; background: #11243a; border-radius: 11.22px; }
#lum .lum-seg__opt { position: relative; display: block; margin: 0; cursor: pointer; }
#lum .lum-seg__opt input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
#lum .lum-seg__opt span {
  display: flex; align-items: center; justify-content: center; height: 100%; min-width: 89.763px; padding: 0 12.155px;
  border-radius: 8.415px; font: 400 11.22px/16.831px var(--sf); color: #aebdca; white-space: nowrap; transition: background .15s, color .15s;
}
#lum .lum-seg__opt input:checked + span { background: #18bfca; color: #10283b; font-weight: 700; filter: drop-shadow(0 3.74px 6.545px rgba(81, 201, 200, .18)); }
#lum .lum-seg__opt input:focus-visible + span { outline: 2px solid #fff; outline-offset: 1px; }

#lum .lum-sim__value { display: flex; align-items: flex-end; justify-content: space-between; height: 58.907px; padding-top: 16.831px; }
#lum .lum-sim__value-label { display: block; margin: 0; padding-bottom: 2.805px; font: 600 16px/19.636px var(--sf); letter-spacing: -.1406px; color: #b9c7d3; }
#lum .lum-sim__value-out { display: block; font: 750 28.051px/42.076px var(--sf); letter-spacing: -.7522px; color: #fff; white-space: nowrap; }

#lum .lum-sim__range { height: 43.011px; padding-top: 9.35px; }
#lum .lum-sim__range input {
  -webkit-appearance: none; appearance: none; display: block; width: 100% !important; height: 16.831px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer;
}
#lum .lum-sim__range input::-webkit-slider-runnable-track {
  height: 5.61px; border-radius: 5.61px;
  background: linear-gradient(to right, #18bfca var(--p, 51.38%), #3b5065 var(--p, 51.38%));
}
#lum .lum-sim__range input::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none; width: 15.895px; height: 15.895px; margin-top: -5.14px;
  background: #18bfca; border: 2.805px solid #1b2e45; border-radius: 50%; box-shadow: 0 0 0 1.87px #51c9c8;
}
#lum .lum-sim__range input::-moz-range-track { height: 5.61px; border-radius: 5.61px; background: #3b5065; }
#lum .lum-sim__range input::-moz-range-progress { height: 5.61px; border-radius: 5.61px; background: #18bfca; }
#lum .lum-sim__range input::-moz-range-thumb {
  width: 10.285px; height: 10.285px; background: #18bfca; border: 2.805px solid #1b2e45; border-radius: 50%; box-shadow: 0 0 0 1.87px #51c9c8;
}
#lum .lum-sim__range-ends { display: flex; justify-content: space-between; height: 16.831px; padding-top: 2.805px; font: 400 14px/14.025px var(--sf); letter-spacing: .1096px; color: #8397a9; }

#lum .lum-sim__box { margin-top: 15.895px; padding: 11.22px 14.025px; background: #15283e; border: .935px solid rgba(130, 155, 177, .17); border-radius: 11.22px; }
#lum .lum-sim__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 25.246px; }
#lum .lum-sim__row-name { display: flex; align-items: center; font: 400 14px/16.831px var(--sf); color: #aebdca; white-space: nowrap; }
#lum .lum-sim__row-val { font: 600 14px/16.831px var(--sf); color: #dce5ec; white-space: nowrap; }
#lum .lum-dot { flex: none; width: 6.545px; height: 6.545px; margin-right: 7.48px; border-radius: 50%; }
#lum .lum-dot--a { background: #647c90; }
#lum .lum-dot--b { background: #e4ebf1; }
#lum .lum-dot--c { width: 8.415px; height: 8.415px; background: var(--cyan); }
#lum .lum-sim__rule { padding: 4.675px 0 6.545px; }
#lum .lum-sim__rule span { display: block; height: .935px; background: rgba(132, 157, 179, .16); }
#lum .lum-sim__row--hl .lum-sim__row-name b { font: 700 16px/18.233px var(--sf); letter-spacing: -.0712px; color: var(--cyan); }
#lum .lum-sim__row--hl .lum-sim__row-name em { margin-left: 7.48px; padding: 2.805px 7.48px; border-radius: 11.22px; background: var(--cyan); font: 800 9.35px/14.025px var(--sf); letter-spacing: .1096px; color: #10283b; }
#lum .lum-sim__row--hl .lum-sim__row-val { font: 600 16px/18.233px var(--sf); letter-spacing: -.0712px; color: var(--cyan); }

#lum .lum-sim__sum { display: flex; gap: 9.35px; padding-top: 11.22px; }
#lum .lum-sim__card {
  flex: 1 1 0; min-width: 0; height: 68px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  border: .935px solid; border-radius: 9.35px; text-align: center;
}
#lum .lum-sim__card span { padding-bottom: 3.74px; font: 400 13px/14.025px var(--sf); letter-spacing: .1096px; white-space: nowrap; }
#lum .lum-sim__card b { font: 700 16px/22.441px var(--sf); letter-spacing: -.2922px; white-space: nowrap; }
#lum .lum-sim__card--pay { background: #20364e; border-color: rgba(130, 155, 177, .2); }
#lum .lum-sim__card--pay span { font-size: 16px; color: #9fb0be; }
#lum .lum-sim__card--pay b { color: #fff; }
#lum .lum-sim__card--month { background: #fff; border-color: rgba(24, 191, 202, .3); }
#lum .lum-sim__card--month span { color: #1b2e45; }
#lum .lum-sim__card--month b { color: #15283e; }
#lum .lum-sim__card--year { background: #fff; border-color: #51c9c8; }
#lum .lum-sim__card--year span { color: #245162; }
#lum .lum-sim__card--year b { color: #51c9c8; }

#lum .lum-sim__cta {
  display: flex; align-items: center; justify-content: center; gap: 10.285px; height: 61px; margin-top: 13.09px;
  background: var(--green); border-radius: 10.285px; filter: drop-shadow(0 6.545px 9.35px rgba(81, 201, 200, .17));
  font: 750 13.09px/19.636px var(--sf); letter-spacing: -.1406px; color: #10283b; transition: filter .2s, transform .2s;
}
#lum .lum-sim__cta:hover, #lum .lum-sim__cta:focus-visible { color: #10283b; transform: translateY(-1px); filter: drop-shadow(0 8px 14px rgba(44, 210, 131, .35)); }
#lum .lum-sim__cta img { width: 15.895px !important; height: 15.895px !important; max-width: none !important; }
#lum .lum-sim__note { padding-top: 17.8px; font: 400 14px/14.025px var(--sf); letter-spacing: .1096px; color: #e0ffff; text-align: center; }

/* ---------- SEÇÃO 02 — O problema ---------- */
#lum .lum-problem { background: #fff; }
#lum .lum-problem__title { max-width: 733px; }
#lum .lum-problem__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
#lum .lum-pcard { display: flex; flex-direction: column; gap: 24px; min-height: 170px; padding: 23px; border: 1px solid #e3e3e3; border-radius: 16px; }
#lum .lum-pcard img { width: 50px !important; height: 50px !important; max-width: none !important; }
#lum .lum-pcard p { font: 500 18px/24px var(--inter); color: var(--navy); }
#lum .lum-problem__photo { position: relative; min-height: 170px; border-radius: 16px; overflow: hidden; }
#lum .lum-problem__photo img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
#lum .lum-problem__banner { position: relative; margin-top: 27px; padding: 32px; border-radius: 32px; background: #12255f; overflow: hidden; }
#lum .lum-problem__glow {
  position: absolute !important; left: calc(50% - 572px) !important; top: -408px !important;
  width: 1137px !important; height: 638px !important; max-width: none !important; pointer-events: none;
}
#lum .lum-problem__banner p { position: relative; max-width: 630px; margin: 0 auto; font: 500 24px/29px var(--inter); letter-spacing: -1.5px; color: #fff; text-align: center; }
#lum .lum-problem__banner p span { color: var(--cyan); }

/* ---------- SEÇÃO 03 — Nosso atendimento ---------- */
#lum .lum-steps { padding: 80px var(--px); background: var(--navy); }
#lum .lum-steps__seal { position: absolute !important; z-index: 2; left: 50% !important; top: -52px !important; width: 104px !important; height: 104px !important; max-width: none !important; transform: translateX(-50%); }
#lum .lum-steps__head { max-width: 576px; margin: 0 auto; }
#lum .lum-steps__head .lum-btn { margin-top: 16px; }
#lum .lum-steps__list { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin-top: 48px; padding-top: 51px; }
#lum .lum-steps__list::before { content: ''; position: absolute; left: 0; right: 0; top: 16px; height: 1px; background: rgba(227, 227, 227, .6); }
/* trecho já percorrido da linha do tempo: --lum-prog vem do GSAP (0 a 4 no desktop, 0 a 1 no celular) */
#lum .lum-steps__list::after { content: ''; position: absolute; left: 0; top: 15px; height: 3px; border-radius: 3px; background: var(--cyan); width: calc(16px + var(--lum-prog, 0) * (100% + 24px) / 5); opacity: min(1, var(--lum-prog, 0) * 1000); }
#lum .lum-step {
  position: relative; display: flex; flex-direction: column; gap: 48px; padding: 23px; color: #fff;
  border: 1px solid rgba(255, 255, 255, calc(.17 * var(--lum-on, 1))); border-radius: 12px;
  background: linear-gradient(263.37deg, rgba(12, 25, 66, .2) 7.6723%, rgba(66, 79, 117, .2) 100%);
}
/* passo apagado/aceso: --lum-on vem do GSAP (.28 a 1). Vai nos filhos e na cor do pin, nunca em opacity no <li>: o pin precisa ficar opaco e acima da linha para tapá-la. */
#lum .lum-step > * { opacity: var(--lum-on, 1); }
#lum .lum-step::before { content: ''; position: absolute; z-index: 1; left: -1px; top: -52px; width: 32px; height: 32px; border: 8px solid var(--cyan); border-radius: 50%; background: #0a243f; }
@supports (color: color-mix(in srgb, red, blue)) { #lum .lum-step::before { border-color: color-mix(in srgb, var(--cyan) calc(var(--lum-on, 1) * 100%), var(--navy)); } }
#lum .lum-step h3 { font: 600 32px/40px var(--inter); letter-spacing: -1.5px; text-transform: capitalize; color: #fff; }
#lum .lum-step div { display: flex; flex-direction: column; gap: 8px; }
#lum .lum-step h4 { font: 500 20px/24px var(--inter); color: #fff; }
#lum .lum-step p { font: 400 16px/20px var(--inter); color: #fff; opacity: .8; }

/* ---------- SEÇÃO 04 — Diferenciais ---------- */
#lum .lum-diff { padding: 80px var(--px); background: #fff; }
#lum .lum-diff__in { display: flex; align-items: stretch; gap: 48px; }
#lum .lum-diff__left { flex: 1 1 0; min-width: 0; }
#lum .lum-diff__sticky { position: sticky; top: 40px; }
#lum .lum-diff__list { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
#lum .lum-diff__list li { display: flex; align-items: flex-start; gap: 24px; padding-bottom: 31px; border-bottom: 1px solid #e3e3e3; }
#lum .lum-diff__ico { flex: none; display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; background: #e8f1fc; }
#lum .lum-diff__ico img { max-width: none !important; height: auto; }
#lum .lum-diff__list div { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
#lum .lum-diff__list h3 { font: 500 18px/24px var(--inter); color: var(--navy); }
#lum .lum-diff__list p { font: 400 16px/24px var(--inter); color: #595d7b; }

/* ---------- SEÇÃO 05 — Depoimentos ---------- */
#lum .lum-proofs { background: #f8f9fb; }
#lum .lum-proofs__top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
#lum .lum-count { position: relative; height: 351px; border-radius: 23px; overflow: hidden; background: linear-gradient(to bottom, #1b5aac, #0b183b); }
#lum .lum-count img { position: absolute !important; max-width: none !important; pointer-events: none; }
#lum .lum-count__glow { left: calc(50% - 449px) !important; top: -555px !important; width: 918px !important; height: 918px !important; }
#lum .lum-count__ring { left: calc(50% + 5px) !important; transform: translateX(-50%); }
#lum .lum-count__ring--1 { top: -96px !important; width: 560px !important; height: 560px !important; }
#lum .lum-count__ring--2 { top: -49px !important; width: 466px !important; height: 466px !important; }
#lum .lum-count__ring--3 { top: 6px !important; width: 356px !important; height: 356px !important; }
/* avatares sobre os anéis: --x/--y = distância do centro dos anéis (50% + 5px, 184px); raios 280 / 233 / 178 */
#lum .lum-count__face { width: 32.325px !important; height: 32.325px !important; left: calc(50% + 5px + var(--x)) !important; top: calc(184px + var(--y)) !important; transform: translate(-50%, -50%); }
#lum .lum-count__face--1 { --x: 231px; --y: -32px; }
#lum .lum-count__face--2 { --x: 152px; --y: 93px; }
#lum .lum-count__face--3 { --x: 250px; --y: -126px; }
#lum .lum-count__face--4 { --x: -149px; --y: -98px; }
#lum .lum-count__face--5 { --x: -217px; --y: 84px; }
#lum .lum-count__face--6 { --x: -277px; --y: -41px; }
#lum .lum-count__num {
  position: absolute; left: 50%; top: 90px; transform: translateX(-50%);
  font: 700 118.573px/1.21 var(--inter); letter-spacing: -4.4465px; white-space: nowrap; text-align: center;
  background: linear-gradient(to bottom, #e1f4f3, #1adde3); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
#lum .lum-count__label { position: absolute; left: 50%; top: 220px; transform: translateX(-50%); font: 500 17.305px/21px var(--inter); color: #fff; text-align: center; white-space: nowrap; }
#lum .lum-proofs__photo { position: relative; height: 351px; border-radius: 23px; overflow: hidden; }
#lum .lum-proofs__photo img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
#lum .lum-proofs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
#lum .lum-quote { display: flex; flex-direction: column; align-items: flex-start; padding: 31px; background: #fff; border: 1px solid rgba(21, 117, 113, .22); border-radius: 16px; }
#lum .lum-quote img { width: 57.688px !important; height: 42.156px !important; max-width: none !important; }
#lum .lum-quote blockquote { max-width: 548px; margin-top: 18px; font: italic 400 20px/30px var(--inter); letter-spacing: -.2px; color: var(--navy); }
#lum .lum-quote figcaption { margin-top: 29px; color: var(--navy); }
#lum .lum-quote figcaption b { display: block; font: 500 16px/28px var(--inter); letter-spacing: -.32px; }
#lum .lum-quote figcaption span { display: block; font: 400 14px/22px var(--inter); letter-spacing: -.322px; opacity: .7; }

/* ---------- SEÇÃO 06 — O que você recebe ---------- */
#lum .lum-get { background: linear-gradient(to bottom, #12255f, #0b183b 53.883%); overflow: hidden; }
#lum .lum-get__glow { position: absolute !important; max-width: none !important; mix-blend-mode: screen; pointer-events: none; }
#lum .lum-get__glow--1 { left: calc(50% - 809px) !important; top: -980px !important; opacity: 0.4; width: 1939.57px !important; height: 1414.57px !important; }
#lum .lum-get__glow--2 { left: calc(50% - 618px) !important; top: -980px !important; opacity: 1; width: 1748.33px !important; height: 1300.74px !important; }
#lum .lum-get__grid { display: flex; align-items: stretch; gap: 24px; margin-top: 48px; }
#lum .lum-get__col { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
#lum .lum-gcard { display: flex; flex-direction: column; gap: 24px; padding: 23px; background: #12255f; border: 1px solid rgba(227, 227, 227, .13); border-radius: 16px; }
#lum .lum-gcard--grow { flex: 1 1 auto; }
#lum .lum-gcard img { width: 56px !important; height: 56px !important; max-width: none !important; }
#lum .lum-gcard p { font: 500 24px/32px var(--inter); letter-spacing: -.48px; color: #fff; }
#lum .lum-get__photo { position: relative; flex: 1 1 0; min-width: 0; min-height: 320px; border-radius: 16px; overflow: hidden; }
#lum .lum-get__photo img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
#lum .lum-risk { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 24px; padding: 31px; background: #12255f; border: 1px solid rgba(255, 255, 255, .25); border-radius: 16px; }
#lum .lum-risk h3 { font: 500 48px/60px var(--inter); letter-spacing: -1.5px; color: #f8f9fb; }
#lum .lum-risk__box { flex: 0 1 733px; min-width: 0; padding: 31px; background: #0a1843; border: 1px solid rgba(255, 255, 255, .12); border-radius: 11px; }
#lum .lum-risk__box p { max-width: 650px; font: 400 20px/24.667px var(--inter); color: #fff; opacity: .8; }
#lum .lum-risk__box u { font-weight: 600; text-decoration: underline; text-underline-position: from-font; }

/* ---------- SEÇÃO 07 — Faixa animada ---------- */
#lum .lum-marquee { height: 66px; display: flex; align-items: center; overflow: hidden; background: linear-gradient(to right, #12255f, #1b5aac); }
#lum .lum-marquee__track { display: flex; align-items: center; flex: none; animation: lum-marquee 40s linear infinite; }
#lum .lum-marquee__track > * { flex: none; margin-right: 19px; }
#lum .lum-marquee__track span { font: 600 18.372px/29.396px var(--inter); color: #fff; text-transform: uppercase; white-space: nowrap; }
#lum .lum-marquee__track i { width: 15px; height: 15px; border-radius: 50%; background: #f8f8f6; }
@keyframes lum-marquee { to { transform: translateX(-50%); } }

/* ---------- SEÇÃO 08 — FAQ ---------- */
#lum .lum-faq { padding: 80px var(--px) 148px; background: #fff; }
#lum .lum-faq__in { display: flex; align-items: flex-start; gap: 48px; }
#lum .lum-faq__left { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 80px; }
#lum .lum-faq__title { font: 500 64px/77px var(--inter); letter-spacing: -1.5px; color: #09203c; }
#lum .lum-faq__card { position: relative; display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border-radius: 24px; background: var(--navy); overflow: hidden; }
#lum .lum-faq__mark { position: absolute !important; right: -225px !important; bottom: -210px !important; width: 422px !important; height: 421px !important; max-width: none !important; pointer-events: none; }
#lum .lum-faq__avatar { position: relative; display: block; width: 106px; height: 106px; margin: -5px; border: 5px solid var(--cyan); border-radius: 50%; overflow: hidden; }
#lum .lum-faq__avatar img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; }
#lum .lum-faq__call { position: relative; margin-top: 16px; font: 500 32px/39px var(--inter); letter-spacing: -1.5px; color: #fff; }
#lum .lum-faq__call span { color: var(--cyan); }
#lum .lum-faq__card .lum-btn { position: relative; margin-top: 47px; }
#lum .lum-faq__list { flex: 0 1 738px; min-width: 0; display: flex; flex-direction: column; gap: 17px; }
#lum .lum-acc { display: block; padding: 23px; background: #fafafa; border: 1px solid #e2e2e2; border-radius: 18px; overflow: hidden; }
#lum .lum-acc summary {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer;
  font: 500 22px/1.4 var(--inter); color: #08080c;
}
#lum .lum-acc summary::-webkit-details-marker { display: none; }
#lum .lum-acc summary::marker { content: ''; }
#lum .lum-acc summary::after { content: ''; flex: none; width: 24px; height: 24px; background: url('img/s08-icone-seta-baixo.svg') center / 24px no-repeat; }
#lum .lum-acc p { margin-top: 16px; font: 400 20px/1.6 'Manrope', var(--inter); color: #fff; }
#lum .lum-acc[open] { background: var(--navy); border-color: var(--navy); }
#lum .lum-acc[open] summary { color: #fff; }
#lum .lum-acc[open] summary::after { background-image: url('img/s08-icone-seta-cima.svg'); }

/* ---------- SEÇÃO 09 — CTA final ---------- */
#lum .lum-cta { position: relative; min-height: 578px; padding: 140px var(--px) 100px; overflow: hidden; background: linear-gradient(to bottom, #fff, #18bfca); }
#lum .lum-cta__sky { position: absolute; inset: 0; opacity: .3; mix-blend-mode: luminosity; pointer-events: none; }
#lum .lum-cta__sky img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: fill !important; }
#lum .lum-cta__sky::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, #fff, rgba(255, 255, 255, 0)); }
#lum .lum-cta__cloud { position: absolute !important; max-width: none !important; pointer-events: none; }
#lum .lum-cta__cloud--l { left: -17px !important; top: 234px !important; width: 658px !important; height: 351px !important; }
#lum .lum-cta__cloud--r { right: 0 !important; top: 191px !important; width: 463px !important; height: 247px !important; transform: scaleX(-1); }
#lum .lum-cta__in { position: relative; z-index: 1; max-width: 887px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center; }
#lum .lum-cta__text { display: flex; flex-direction: column; align-items: center; gap: 20px; min-height: 208px; }
#lum .lum-cta__title { max-width: 856px; font: 600 56px/1.1 'Geist', var(--inter); letter-spacing: -2.24px; color: var(--navy); }
#lum .lum-cta__text p { max-width: 647px; font: 400 16px/24px var(--inter); color: #3d3d3d; }

/* ---------- SEÇÃO 10 — Rodapé ---------- */
#lum .lum-foot { display: flex; flex-direction: column; gap: 10px; padding: 60px var(--px) 10px; background: var(--navy); border-top: 1px solid rgba(159, 192, 198, .22); color: #fff; }
#lum .lum-foot__top, #lum .lum-foot__bottom { width: 100%; max-width: 1280px; margin: 0 auto; }
#lum .lum-foot__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 30px; border-bottom: 1px solid rgba(159, 192, 198, .22); }
#lum .lum-foot__cols { display: flex; align-items: flex-start; justify-content: flex-end; gap: 89px; }
#lum .lum-foot__col h3 { margin-bottom: 5.9px; font: 600 16px/22.1px 'DM Sans', var(--inter); color: #fff; }
#lum .lum-foot__col ul { display: flex; flex-direction: column; gap: 6px; }
#lum .lum-foot__col li { font: 400 13px/23px var(--inter); color: #fff; white-space: nowrap; }
#lum .lum-foot__col li:first-child:not(:has(a)) { line-height: 16px; }
#lum .lum-foot__col li.lum-dm { font-family: 'DM Sans', var(--inter); }
#lum .lum-foot__col a:hover, #lum .lum-foot__col a:focus-visible { color: var(--cyan); }
#lum .lum-foot__bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 151px; }
#lum .lum-foot__bottom p { font: 400 12px/19.2px var(--inter); color: #fff; }
#lum .lum-foot__bottom .lum-foot__by { display: flex; align-items: center; gap: 10px; color: #9fc0c6; opacity: .85; }
#lum .lum-foot__by img { width: 57px !important; height: 32.07px !important; max-width: none !important; object-fit: cover; opacity: .9; }

/* ---------- Responsivo ---------- */
@media (max-width: 1279px) {
  #lum { --px: 40px; }
  #lum .lum-hero { padding-right: var(--px); }
  #lum .lum-h1 { font-size: clamp(48px, 5.2vw, 64px); line-height: 1.17; letter-spacing: -3.5px; }
  #lum .lum-hero__copy { flex-basis: 440px; }
  #lum .lum-hero__detail { gap: 56px; }
  #lum .lum-sim__card span { font-size: 12px; }
  #lum .lum-sim__card--pay span { font-size: 14px; }
  #lum .lum-steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 75px; }
  #lum .lum-steps__list::before, #lum .lum-steps__list::after { display: none; }
  /* card estreito: só o anel interno (raio 178) cabe inteiro, então todos os avatares vão para ele */
  #lum .lum-count__face--1 { --x: 128px; --y: -124px; }
  #lum .lum-count__face--2 { --x: 126px; --y: 126px; }
  #lum .lum-count__face--3 { --x: 81px; --y: -159px; }
  #lum .lum-count__face--4 { --x: -124px; --y: -128px; }
  #lum .lum-count__face--5 { --x: -119px; --y: 132px; }
  #lum .lum-count__face--6 { --x: -76px; --y: -161px; }
  #lum .lum-risk h3 { font-size: 36px; line-height: 44px; }
  #lum .lum-faq__title { font-size: 52px; line-height: 62px; }
  #lum .lum-faq__left { flex: 0 0 40%; }
  #lum .lum-faq__list { flex: 1 1 0; }
  #lum .lum-foot__cols { gap: 56px; }
}

@media (max-width: 1023px) {
  #lum .lum-sec { padding-top: 72px; padding-bottom: 72px; }
  #lum .lum-h2 { font-size: 34px; line-height: 41px; letter-spacing: -1.2px; }

  #lum .lum-hero { min-height: 0; padding: 56px var(--px) 64px; }
  #lum .lum-hero__shade { width: 100%; background: linear-gradient(to bottom, rgba(9, 32, 60, .55), rgba(9, 32, 60, .85)); }
  #lum .lum-hero__in { flex-direction: column; align-items: stretch; gap: 48px; }
  #lum .lum-hero__copy, #lum .lum-sim { flex: none; width: 100%; }
  #lum .lum-sim { max-width: 662px; margin: 0 auto; }
  #lum .lum-hero__detail { gap: 40px; }

  #lum .lum-problem__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #lum .lum-problem__photo { min-height: 220px; }
  #lum .lum-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #lum .lum-diff__in { flex-direction: column; gap: 40px; }
  #lum .lum-diff__sticky { position: static; }
  #lum .lum-get__grid { flex-wrap: wrap; }
  #lum .lum-get__col { flex: 1 1 calc(50% - 12px); }
  #lum .lum-get__photo { order: 3; flex: 1 1 100%; min-height: 360px; }
  #lum .lum-gcard--grow { flex: none; }
  #lum .lum-risk { flex-direction: column; align-items: flex-start; }
  #lum .lum-risk__box { flex: none; width: 100%; }
  #lum .lum-faq { padding-bottom: 96px; }
  #lum .lum-faq__in { flex-direction: column; align-items: stretch; }
  #lum .lum-faq__left { flex: none; gap: 40px; }
  #lum .lum-faq__list { flex: none; }
  #lum .lum-faq__title br { display: none; }
  #lum .lum-cta__cloud--l { width: 440px !important; height: 235px !important; top: auto !important; bottom: -20px !important; }
  #lum .lum-cta__cloud--r { width: 320px !important; height: 171px !important; }
  #lum .lum-cta__title { font-size: 44px; letter-spacing: -1.6px; }
}

@media (max-width: 767px) {
  #lum { --px: 20px; }
  #lum .lum-sec { padding-top: 56px; padding-bottom: 56px; }
  #lum .lum-h2 { font-size: 28px; line-height: 34px; letter-spacing: -1px; }
  #lum .lum-h2 br, #lum .lum-cta__text br, #lum .lum-quote br { display: none; }

  #lum .lum-logo { width: 190px !important; height: 64px !important; }
  #lum .lum-h1 { font-size: 42px; line-height: 1.12; letter-spacing: -2.4px; }
  #lum .lum-sim__head { padding: 18px 16px 14px; flex-wrap: wrap; }
  #lum .lum-sim__body { padding: 18px 16px; }
  #lum .lum-seg { display: flex; }
  #lum .lum-seg__opt { flex: 1 1 0; }
  #lum .lum-seg__opt span { min-width: 0; padding: 0 6px; }
  #lum .lum-sim__value-label, #lum .lum-sim__row--hl .lum-sim__row-name b, #lum .lum-sim__row--hl .lum-sim__row-val { font-size: 14px; }
  #lum .lum-sim__value-out { font-size: 24px; }
  #lum .lum-sim__row-name, #lum .lum-sim__row-val { font-size: 13px; }
  #lum .lum-sim__sum { flex-wrap: wrap; }
  #lum .lum-sim__card { flex: 1 1 calc(50% - 5px); }
  #lum .lum-sim__card--pay { flex-basis: 100%; }
  #lum .lum-sim__note { font-size: 12px; line-height: 16px; }

  #lum .lum-problem__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 32px; }
  #lum .lum-pcard { min-height: 0; }
  #lum .lum-problem__banner { padding: 24px; border-radius: 24px; }
  #lum .lum-problem__banner p { font-size: 20px; line-height: 26px; letter-spacing: -.8px; }

  #lum .lum-steps { padding: 72px var(--px) 56px; }
  #lum .lum-steps__list { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 40px; padding: 0 0 0 48px; }
  #lum .lum-steps__list::before { display: block; left: 16px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; }
  #lum .lum-steps__list::after { display: block; left: 15px; top: 0; width: 3px; height: calc(var(--lum-prog, 0) * 100%); }
  #lum .lum-step { gap: 20px; }
  #lum .lum-step::before { left: -49px; top: 23px; }
  #lum .lum-step h3 { font-size: 26px; line-height: 32px; }

  #lum .lum-diff { padding: 56px var(--px); }
  #lum .lum-diff__list { gap: 24px; }
  #lum .lum-diff__list li { gap: 16px; padding-bottom: 24px; }

  #lum .lum-proofs__top, #lum .lum-proofs__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  #lum .lum-proofs__grid { margin-top: 16px; }
  #lum .lum-proofs__photo { height: 240px; }
  #lum .lum-count__num { font-size: 96px; top: 104px; }
  #lum .lum-quote { padding: 23px; }
  #lum .lum-quote blockquote { font-size: 17px; line-height: 26px; }

  #lum .lum-get__grid { margin-top: 32px; gap: 16px; }
  #lum .lum-get__col { flex: 1 1 100%; gap: 16px; }
  #lum .lum-get__photo { min-height: 280px; }
  #lum .lum-gcard p { font-size: 20px; line-height: 28px; }
  #lum .lum-risk, #lum .lum-risk__box { padding: 23px; }
  #lum .lum-risk h3 { font-size: 30px; line-height: 38px; }
  #lum .lum-risk__box p { font-size: 17px; line-height: 24px; }

  #lum .lum-marquee { height: 56px; }
  #lum .lum-marquee__track span { font-size: 15px; }
  #lum .lum-marquee__track i { width: 10px; height: 10px; }

  #lum .lum-faq { padding: 56px var(--px) 72px; }
  #lum .lum-faq__title { font-size: 40px; line-height: 48px; }
  #lum .lum-faq__card { padding: 24px; }
  #lum .lum-faq__call { font-size: 26px; line-height: 32px; letter-spacing: -1px; }
  #lum .lum-faq__card .lum-btn { margin-top: 32px; }
  #lum .lum-acc { padding: 19px; border-radius: 16px; }
  #lum .lum-acc summary { font-size: 18px; }
  #lum .lum-acc p { font-size: 16px; }

  #lum .lum-cta { min-height: 0; padding: 72px var(--px) 150px; }
  #lum .lum-cta__text { min-height: 0; }
  #lum .lum-cta__title { font-size: 32px; letter-spacing: -1.1px; }
  #lum .lum-cta__cloud--l { left: -60px !important; width: 300px !important; height: 160px !important; }
  #lum .lum-cta__cloud--r { top: auto !important; bottom: 60px !important; width: 200px !important; height: 107px !important; }

  #lum .lum-foot { padding-top: 40px; }
  #lum .lum-foot__top { flex-direction: column; gap: 32px; }
  #lum .lum-foot__cols { justify-content: flex-start; flex-wrap: wrap; gap: 32px 48px; }
  #lum .lum-foot__col li { white-space: normal; }
  #lum .lum-foot__bottom { flex-direction: column; align-items: flex-start; justify-content: center; min-height: 0; padding: 24px 0; }
}

#lum .lum-wa-float { position: fixed; right: 24px; bottom: 24px; z-index: 999; width: 60px; height: 60px; border-radius: 50%; background: linear-gradient(to right, #2cd283, #8bffc8); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 20px rgba(0,0,0,.25); transition: transform .2s; }
#lum .lum-wa-float:hover { transform: scale(1.08); }
#lum .lum-wa-float img { width: 30px !important; height: 30px !important; }

@media (prefers-reduced-motion: reduce) {
  #lum .lum-wa-float { transition: none; }
  #lum .lum-marquee__track { animation: none; }
  #lum .lum-btn, #lum .lum-sim__cta { transition: none; }
}
