/* Card War — landing page (index.html). Usa tokens, .btn e .reveal de estilo.css. */
body { background: var(--cw-bg); }

/* topo */
.lp-topo { position: fixed; inset: 0 0 auto; z-index: 50; display: flex; align-items: center; gap: 24px; height: 72px; padding: 0 clamp(16px, 3vw, 36px); transition: background .3s, box-shadow .3s; }
.lp-topo.is-rolou { background: rgba(17,19,24,.88); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 1px 0 var(--cw-line); }
.lp-topo__marca { display: inline-flex; }
.lp-topo__marca img { display: block; width: 124px; height: auto; filter: drop-shadow(0 1px 0 rgba(19,32,10,.55)) drop-shadow(0 4px 10px rgba(19,32,10,.45)); }
.lp-topo__nav { display: flex; gap: 6px; margin: 0 auto; }
.lp-topo__nav a { padding: 8px 14px; border-radius: 999px; color: #13200A; font-weight: 700; text-decoration: none; transition: background .2s; }
.lp-topo__nav a:hover { background: rgba(19,32,10,.08); }
.lp-topo.is-rolou .lp-topo__nav a { color: #D5D9DD; }
.lp-topo.is-rolou .lp-topo__nav a:hover { background: rgba(255,255,255,.07); color: #fff; }
.lp-topo__acoes { display: flex; align-items: center; gap: 8px; }
.lp-topo__entrar { display: none; }
.lp-topo:not(.is-rolou) .btn--ghost { background: rgba(255,255,255,.35); border-color: rgba(19,32,10,.15); color: #13200A; box-shadow: 0 4px 0 rgba(19,32,10,.15); }
.lp-topo:not(.is-rolou) .btn--lime { background: #13200A; color: var(--cw-lime); box-shadow: 0 4px 0 #000; }
.lp-topo__menu { display: none; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 12px; background: #13200A; color: var(--cw-lime); cursor: pointer; }
.lp-topo__menu .ico { width: 22px; height: 22px; }

/* hero */
.lp-hero { padding: 12px 12px 0; }
.lp-hero__painel { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: end; min-height: min(860px, calc(100vh - 92px)); padding: 120px clamp(24px, 6vw, 96px) 0; border-radius: 40px;
  background: radial-gradient(70% 70% at 85% 90%, #C8F58A, transparent 70%), var(--cw-lime); color: #13200A; }
.lp-hero__txt { align-self: center; padding-bottom: 64px; position: relative; z-index: 1; }
.lp-hero__kicker { font-weight: 800; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: #2F4A10; margin-bottom: 18px; }
.lp-hero__titulo { font-size: clamp(54px, 8.6vw, 136px); line-height: .9; letter-spacing: -.055em; font-weight: 900; text-transform: uppercase; }
.lp-hero__apoio { margin-top: 24px; max-width: 34ch; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5; color: #24360D; }
.lp-hero__ctas { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 34px; }
.lp-bt-grande { display: inline-flex; align-items: center; gap: 12px; padding: 22px 38px; border-radius: 999px; background: #F8F9F6; color: #13200A; font-size: clamp(18px, 1.6vw, 22px); font-weight: 800; text-decoration: none;
  box-shadow: 0 7px 0 rgba(19,32,10,.25); transition: transform .2s var(--cw-ease), box-shadow .2s; }
.lp-bt-grande .ico { width: 22px; height: 22px; transition: transform .25s var(--cw-ease); }
.lp-bt-grande:hover { transform: translateY(-2px); box-shadow: 0 9px 0 rgba(19,32,10,.25); }
.lp-bt-grande:hover .ico { transform: translateX(4px); }
.lp-bt-grande:active { transform: translateY(4px); box-shadow: 0 3px 0 rgba(19,32,10,.25); }
.lp-bt-grande--escuro { background: var(--cw-lime); box-shadow: 0 7px 0 var(--cw-lime-strong); }
.lp-bt-grande--escuro:hover { box-shadow: 0 9px 0 var(--cw-lime-strong); }
.lp-hero__link { font-weight: 800; color: #13200A; text-underline-offset: 4px; }
.lp-hero__nota { display: flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 14px; font-weight: 600; color: #2F4A10; }
/* Major: ilustração limpa, disco escuro atrás para destacar do verde, sombra e flutuação leve */
.lp-hero__major { position: relative; align-self: end; justify-self: end; width: min(500px, 100%); margin-bottom: -6%; }
.lp-hero__major::before { content: ""; position: absolute; left: 6%; right: 2%; top: 14%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 45%, #3E5A17, #2A3F0E 70%); box-shadow: 0 0 0 18px rgba(42,63,14,.12); }
.lp-hero__major img { position: relative; display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 22px rgba(19,32,10,.45)) drop-shadow(0 2px 0 rgba(19,32,10,.35)); animation: lp-flutua 6s ease-in-out infinite; }
@keyframes lp-flutua { 50% { transform: translateY(-10px) rotate(-1deg); } }

/* faixa de público */
.lp-faixa { display: flex; align-items: center; gap: 16px; padding: 18px clamp(16px, 4vw, 48px); overflow: hidden; }
.lp-faixa__rot { flex: none; font-size: 14px; font-weight: 700; color: var(--cw-muted); }
.lp-faixa__trilho { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.lp-faixa__lista { list-style: none; margin: 0; padding: 0 12px 0 0; display: flex; gap: 12px; flex: none; animation: lp-faixa 38s linear infinite; }
.lp-faixa__trilho:hover .lp-faixa__lista { animation-play-state: paused; }
.lp-faixa__lista li { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 999px; background: var(--cw-surface); border: 1px solid var(--cw-line); color: #fff; font-weight: 700; white-space: nowrap; }
.lp-faixa__lista .ico { color: var(--cw-lime); }
@keyframes lp-faixa { to { transform: translateX(-100%); } }

/* cabeçalho de seção */
.lp-sec { padding: clamp(80px, 10vw, 140px) clamp(16px, 4vw, 48px) 0; max-width: 1320px; margin: 0 auto; }
.lp-cab { display: grid; justify-items: center; gap: 14px; text-align: center; margin-bottom: clamp(36px, 5vw, 60px); }
.lp-cab__ico { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 24px; background: rgba(166,240,67,.12); color: var(--cw-lime); transform: rotate(-6deg); }
.lp-cab__ico .ico { width: 40px; height: 40px; }
.lp-cab h2 { font-size: clamp(36px, 5.2vw, 68px); line-height: 1; letter-spacing: -.045em; font-weight: 900; max-width: 18ch; text-wrap: balance; }
.lp-cab p { color: var(--cw-muted); font-size: 18px; max-width: 58ch; }

/* vídeo de apresentação */
.lp-video { max-width: 1080px; margin: 0 auto; border-radius: clamp(16px, 2.4vw, 28px); overflow: hidden; border: 1px solid rgba(166,240,67,.25); background: #0B1206; box-shadow: 0 30px 80px -30px rgba(166,240,67,.35), 0 12px 40px rgba(0,0,0,.5); }
.lp-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #0B1206; }

/* destaques (flashcards e questões): texto + exemplo */
.lp-dest { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: center; margin-bottom: clamp(56px, 7vw, 96px); }
.lp-dest--inv .lp-dest__txt { order: 2; }
.lp-dest__tag { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; font-weight: 800; font-size: 14px; color: #13200A; }
.lp-dest__tag--lime { background: #B9F06B; } .lp-dest__tag--azul { background: #9CC2FF; }
.lp-dest h3 { margin: 18px 0 14px; font-size: clamp(32px, 3.8vw, 52px); line-height: 1; letter-spacing: -.045em; font-weight: 900; text-wrap: balance; }
.lp-dest__txt > p { color: #C9CED3; font-size: 18px; line-height: 1.55; max-width: 46ch; }
.lp-dest__lista { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 14px; }
.lp-dest__lista li { position: relative; padding-left: 34px; color: #C9CED3; line-height: 1.5; }
.lp-dest__lista li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 7px; background: rgba(166,240,67,.15) no-repeat center / 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A6F043' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.lp-dest__lista b { color: #fff; }
.lp-dest__demo { display: grid; gap: 14px; padding: clamp(20px, 3vw, 32px); border-radius: 32px; color: #13200A; box-shadow: inset 0 -6px 0 rgba(0,0,0,.08); }
.lp-dest__demo--lime { background: #B9F06B; } .lp-dest__demo--azul { background: #9CC2FF; }
.lp-dest__passo { font-weight: 800; font-size: 14px; color: rgba(19,32,10,.75); min-height: 1.3em; }
.lp-dest__demo button { font: inherit; cursor: pointer; }

/* flashcard */
.lp-fc { width: 100%; height: 150px; padding: 0; border: 0; background: none; perspective: 900px; }
.lp-fc--g { height: 200px; }
.lp-fc__in { position: relative; display: block; height: 100%; transition: transform .55s var(--cw-ease); transform-style: preserve-3d; }
.lp-fc.is-virado .lp-fc__in { transform: rotateY(180deg); }
.lp-fc.is-sai { animation: lp-sai .8s var(--cw-ease) forwards; }
@keyframes lp-sai { 0% { opacity: 1; } 60% { opacity: 0; transform: translateY(40px) scale(.92); } 100% { opacity: 0; transform: translateY(40px) scale(.92); } }
.lp-fc__f { position: absolute; inset: 0; display: grid; place-content: center; gap: 8px; padding: 18px 22px; border-radius: 20px; background: #fff; color: #13200A; font-weight: 800; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.3; text-align: center; backface-visibility: hidden; -webkit-backface-visibility: hidden; box-shadow: 0 6px 0 rgba(19,32,10,.15); }
.lp-fc__f small { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #4E7F14; }
.lp-fc__f em { font-style: normal; font-size: 13px; font-weight: 600; color: #6D756F; }
.lp-fc__f--v { transform: rotateY(180deg); background: #13200A; color: #fff; }
.lp-fc__f--v small { color: var(--cw-lime); }
.lp-avs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.lp-avs button { display: grid; gap: 1px; min-height: 52px; border: 0; border-radius: 14px; color: #fff; font-weight: 800; font-size: 14px; box-shadow: 0 4px 0 rgba(0,0,0,.22); transition: transform .15s, opacity .2s; }
.lp-avs button small { font-size: 11px; font-weight: 600; opacity: .85; }
.lp-avs button:nth-child(1) { background: #C2373B; } .lp-avs button:nth-child(2) { background: #A8790C; } .lp-avs button:nth-child(3) { background: #2E6FD6; } .lp-avs button:nth-child(4) { background: #4A8A12; }
.lp-avs button:hover:not(:disabled) { transform: translateY(-2px); }
.lp-avs button:disabled { opacity: .45; cursor: default; }
.lp-avs button.is-on { opacity: 1; outline: 3px solid #13200A; outline-offset: 2px; }
.lp-agenda { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.lp-agenda li { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 4px; min-height: 64px; padding: 8px; border-radius: 14px; background: rgba(255,255,255,.55); border: 2px dashed rgba(19,32,10,.18); }
.lp-agenda li span { width: 100%; font-size: 12px; font-weight: 800; color: rgba(19,32,10,.7); }
.lp-agenda__c { width: 22px; height: 16px; border-radius: 4px; background: #fff; box-shadow: 0 2px 0 rgba(19,32,10,.25); animation: lp-entra .45s var(--cw-ease) both; }
.lp-agenda li.is-pulsa { animation: lp-pula .5s var(--cw-ease); border-color: #13200A; }

/* questão */
.lp-q__tag { display: block; margin-bottom: 6px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #1F4EA0; }
.lp-q__en { font-weight: 800; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.35; }
.lp-q__alts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lp-q__alts li { display: flex; gap: 6px; transition: opacity .25s; }
.lp-q__op { flex: 1; display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 14px; border: 2px solid transparent; border-radius: 14px; background: #fff; color: #13200A; font-weight: 700; text-align: left; transition: border-color .2s, background .2s, transform .15s; }
.lp-q__op b { width: 26px; height: 26px; flex: none; display: grid; place-items: center; border-radius: 8px; background: #E9EEF8; font-size: 13px; }
.lp-q__op:hover:not(:disabled) { transform: translateX(2px); }
.lp-q__op.is-sel { border-color: #13200A; }
.lp-q__op.is-ok { background: #4A8A12; color: #fff; } .lp-q__op.is-ok b { background: rgba(255,255,255,.25); }
.lp-q__op.is-erro { background: #C2373B; color: #fff; } .lp-q__op.is-erro b { background: rgba(255,255,255,.25); }
.lp-q__op:disabled { cursor: default; }
.lp-q__tes { width: 46px; flex: none; display: grid; place-items: center; border: 0; border-radius: 14px; background: rgba(255,255,255,.55); color: #13200A; transition: background .2s, transform .15s; }
.lp-q__tes:hover:not(:disabled) { background: #fff; transform: rotate(-8deg); }
.lp-q__tes:disabled { opacity: .4; cursor: default; }
.lp-q__alts li.is-cortada .lp-q__op { opacity: .45; text-decoration: line-through; background: rgba(255,255,255,.4); }
.lp-q__alts li.is-cortada .lp-q__tes { background: #13200A; color: #fff; }
.lp-q__fim { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.lp-q__resp { min-height: 48px; padding: 0 26px; border: 0; border-radius: 14px; background: #13200A; color: #fff; font-weight: 800; transition: transform .15s, opacity .2s; }
.lp-q__resp:hover:not(:disabled) { transform: translateY(-2px); }
.lp-q__resp:disabled { opacity: .4; cursor: default; }
.lp-q__caderno { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; }
.lp-q__caderno.is-pulsa { animation: lp-pula .5s var(--cw-ease); }
.lp-q__com { padding: 12px 14px; border-radius: 14px; background: #fff; line-height: 1.5; animation: lp-entra .3s var(--cw-ease) both; }

/* cards (resumos, simulados, matérias, IA) */
.lp-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.lp-card { display: flex; flex-direction: column; gap: 10px; min-height: 440px; padding: 30px 28px 28px; border-radius: 32px; color: #13200A; box-shadow: inset 0 -6px 0 rgba(0,0,0,.08); transition: transform .3s var(--cw-ease); }
.lp-card:hover { transform: translateY(-4px); }
.lp-card h3 { font-size: clamp(26px, 2.4vw, 34px); line-height: 1.02; letter-spacing: -.035em; font-weight: 900; }
.lp-card > p { color: rgba(19,32,10,.72); line-height: 1.45; max-width: 40ch; }
.lp-card--roxo { background: #CDB2FF; } .lp-card--amarelo { background: #FFD66E; } .lp-card--rosa { background: #FFB3C7; }
.lp-card--oliva { background: #2F3A1D; color: #fff; } .lp-card--oliva > p { color: rgba(255,255,255,.75); }
.lp-demo { margin-top: auto; display: grid; gap: 12px; padding: 18px; border-radius: 22px; background: rgba(255,255,255,.6); }
.lp-card--oliva .lp-demo { background: rgba(0,0,0,.25); }
.lp-demo button { font: inherit; cursor: pointer; }
.lp-bt-demo { white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border: 0; border-radius: 14px; background: #13200A; color: #fff; font-weight: 800; transition: transform .15s; }
.lp-bt-demo:hover { transform: translateY(-2px); }
/* resumo → flashcards */
.lp-res { position: relative; }
.lp-res__doc { display: grid; gap: 12px; padding: 16px; border-radius: 18px; background: #fff; box-shadow: 0 5px 0 rgba(19,32,10,.12); }
.lp-res__cab { display: flex; align-items: center; gap: 10px; }
.lp-res__ico { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 12px; background: #EEE6FF; color: #6B3FD1; }
.lp-res__ico .ico { width: 20px; height: 20px; }
.lp-res__cab strong { display: block; font-size: 17px; font-weight: 900; letter-spacing: -.02em; line-height: 1.15; }
.lp-res__cab small { font-size: 12px; font-weight: 700; color: #6D756F; }
.lp-res__top { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.lp-res__top li { display: grid; grid-template-columns: 58px 1fr; align-items: baseline; gap: 8px; padding: 8px 10px; border-radius: 12px; background: #F6F2FF; font-size: 14px; line-height: 1.35; }
.lp-res__top b { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #6B3FD1; }
.lp-res__top mark { padding: 0 3px; border-radius: 4px; background: #E3D6FF; color: inherit; font-weight: 700; }
.lp-res__cards { list-style: none; margin: 0; padding: 0; display: none; gap: 8px; }
.lp-res__cards li { display: grid; gap: 2px; padding: 12px 14px; border-radius: 14px; background: #fff; font-weight: 800; line-height: 1.3; box-shadow: 0 4px 0 rgba(19,32,10,.14); animation: lp-entra .45s var(--cw-ease) both; animation-delay: calc(var(--i) * 110ms); }
.lp-res__cards small { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #6B3FD1; }
.lp-res.is-cards .lp-res__doc { display: none; }
.lp-res.is-cards .lp-res__cards { display: grid; }
/* simulado */
.lp-sim__topo { display: flex; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 800; }
.lp-sim__topo b { padding: 2px 10px; border-radius: 8px; background: #13200A; color: #FFD66E; font-variant-numeric: tabular-nums; }
.lp-sim__folha { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; counter-reset: q; }
.lp-sim__folha li { counter-increment: q; display: grid; justify-items: center; gap: 4px; padding: 10px 0; border-radius: 12px; background: #fff; font-weight: 800; transition: background .3s, color .3s; }
.lp-sim__folha li::before { content: counter(q); font-size: 11px; color: rgba(19,32,10,.5); }
.lp-sim.is-feito .lp-sim__folha li.ok { background: #4A8A12; color: #fff; }
.lp-sim.is-feito .lp-sim__folha li.erro { background: #C2373B; color: #fff; }
.lp-sim.is-feito .lp-sim__folha li::before { color: rgba(255,255,255,.7); }
.lp-sim__folha li:nth-child(2) { transition-delay: 60ms; } .lp-sim__folha li:nth-child(3) { transition-delay: 120ms; } .lp-sim__folha li:nth-child(4) { transition-delay: 180ms; } .lp-sim__folha li:nth-child(5) { transition-delay: 240ms; }
.lp-sim__nota { font-size: 14px; font-weight: 600; animation: lp-entra .35s var(--cw-ease) both; }
.lp-sim__nota b { font-size: 22px; margin-right: 4px; }
/* matérias */
.lp-mat__abas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border-radius: 14px; background: rgba(19,32,10,.08); }
.lp-mat__abas button { min-height: 38px; border: 0; border-radius: 10px; background: transparent; color: #13200A; font-weight: 800; font-size: 14px; transition: background .2s; }
.lp-mat__abas button[aria-selected="true"] { background: #fff; box-shadow: 0 2px 0 rgba(19,32,10,.15); }
.lp-mat__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lp-mat__lista li { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 10px; padding: 10px 14px; border-radius: 14px; background: #fff; font-weight: 700; animation: lp-entra .3s var(--cw-ease) both; }
.lp-mat__lista li:nth-child(2) { animation-delay: 60ms; } .lp-mat__lista li:nth-child(3) { animation-delay: 120ms; }
.lp-mat__lista b { color: #3F7A0C; }
.lp-mat__lista i { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: #F1E3E8; overflow: hidden; }
.lp-mat__lista s { display: block; height: 100%; width: var(--v); border-radius: inherit; background: #4A8A12; animation: lp-barra .7s var(--cw-ease) both; }
.lp-mat__lista .baixo b { color: #A8540C; }
.lp-mat__lista .baixo s { background: #E08A1E; }
.lp-mat__lista em { grid-column: 1 / -1; justify-self: start; margin-top: -2px; padding: 2px 8px; border-radius: 6px; background: #FFE2A8; color: #7A4A00; font-style: normal; font-size: 11px; font-weight: 800; }
@keyframes lp-barra { from { width: 0; } }
/* IA */
.lp-ia__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lp-ia__chips button { min-height: 36px; padding: 0 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: transparent; color: #fff; font-weight: 700; font-size: 13px; transition: background .2s, color .2s, border-color .2s; }
.lp-ia__chips button:hover { border-color: var(--cw-lime); }
.lp-ia__chips button[aria-pressed="true"] { background: var(--cw-lime); border-color: var(--cw-lime); color: #13200A; }
.lp-ia__saida { min-height: 230px; }
.lp-ia__gerando { display: flex; align-items: center; gap: 8px; color: #fff; font-size: 14px; font-weight: 700; }
.lp-ia__gerando span { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255,255,255,.3); border-top-color: var(--cw-lime); animation: lp-gira .7s linear infinite; }
/* IA: saídas em formato de tela do app */
.lp-ia__saida > * { animation: lp-entra .35s var(--cw-ease) both; }
.ia-tag { display: inline-block; padding: 3px 8px; border-radius: 6px; background: #E6F5D0; color: #3F7A0C; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ia-tag--azul { background: #E1ECFF; color: #1F4EA0; }
.lp-ia__saida mark { padding: 0 3px; border-radius: 4px; background: #E6F5D0; color: inherit; font-weight: 700; }
.ia-x, .ia-r, .ia-a, .ia-qs { display: grid; gap: 8px; color: #13200A; font-size: 14px; line-height: 1.45; }
.ia-x__q, .ia-r, .ia-a, .ia-qs__c { padding: 12px 14px; border-radius: 16px; background: #fff; }
.ia-x__q p { margin: 6px 0 8px; font-weight: 800; }
.ia-x__alts { display: grid; gap: 4px; }
.ia-x__alts span { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 10px; font-weight: 700; font-size: 13px; }
.ia-x__alts .ico { width: 16px; height: 16px; flex: none; }
.ia-x__alts .erro { background: #FDE7E7; color: #A3262A; text-decoration: line-through; }
.ia-x__alts .ok { background: #E2F3D2; color: #2F6A0B; }
.ia-x__exp { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 16px; background: #E9F9D3; }
.ia-x__ico { width: 30px; height: 30px; flex: none; display: grid; place-items: center; border-radius: 10px; background: #13200A; color: var(--cw-lime); }
.ia-x__ico .ico { width: 16px; height: 16px; }
.ia-x__exp b { display: block; margin-bottom: 2px; }
.ia-r__cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.ia-r__pdf { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: #6D756F; }
.ia-r__pdf .ico { width: 15px; height: 15px; color: #6B3FD1; }
.ia-r h4, .ia-a h4 { font-size: 18px; font-weight: 900; letter-spacing: -.02em; }
.ia-r__sec { display: grid; grid-template-columns: 52px 1fr; gap: 8px; align-items: baseline; padding: 6px 0 6px 10px; border-left: 3px solid var(--c); }
.ia-r__sec b { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--c); }
.ia-a__prog { display: flex; align-items: center; gap: 5px; }
.ia-a__prog span { width: 26px; height: 6px; border-radius: 6px; background: #E3E8DD; }
.ia-a__prog span.on { background: #4A8A12; }
.ia-a__prog small { margin-left: auto; font-size: 12px; font-weight: 700; color: #6D756F; }
.ia-a p { color: #3D4440; }
.ia-a__quiz { display: grid; gap: 8px; padding: 10px 12px; border-radius: 12px; background: #F1F4EC; font-weight: 700; }
.ia-a__quiz div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.ia-a__quiz button { min-height: 36px; border: 0; border-radius: 10px; background: #fff; color: #13200A; font-weight: 800; box-shadow: 0 2px 0 rgba(19,32,10,.15); }
.ia-a__quiz button:disabled { opacity: .5; cursor: default; }
.ia-a__quiz.is-ok { background: #E2F3D2; color: #2F6A0B; }
.ia-a__quiz.is-erro { background: #FFF1D6; color: #7A4A00; }
.ia-qs__c p { margin: 6px 0; font-weight: 800; }
.ia-qs__gab { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 800; color: #2F6A0B; }
.ia-qs__gab .ico { width: 14px; height: 14px; }
.ia-qs__alts { display: flex; gap: 4px; flex-wrap: wrap; }
.ia-qs__alts span { padding: 4px 8px; border-radius: 8px; background: #F1F4EC; font-size: 12px; font-weight: 700; }
.ia-qs__alts .ok { background: #E2F3D2; color: #2F6A0B; }
.ia-qs__mais { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.75); }
@keyframes lp-entra { from { opacity: 0; transform: translateY(8px); } }
@keyframes lp-pula { 40% { transform: translateY(-4px) scale(1.04); } }
@keyframes lp-gira { to { transform: rotate(360deg); } }

/* números */
.lp-num { padding: clamp(80px, 10vw, 130px) clamp(16px, 4vw, 48px) 0; }
.lp-num ul { list-style: none; margin: 0 auto; padding: 0; max-width: 1200px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; text-align: center; }
.lp-num b { display: block; font-size: clamp(54px, 7vw, 96px); line-height: 1; letter-spacing: -.05em; font-weight: 900; color: var(--cw-lime); }
.lp-num span { display: block; margin-top: 8px; font-weight: 700; color: #D5D9DD; }

/* planos */
.lp-planos { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1140px; align-items: stretch; }
.lp-plano { position: relative; display: flex; flex-direction: column; gap: 18px; padding: 10px 10px 22px; border-radius: 34px; background: var(--cw-surface); border: 1px solid var(--cw-line); transition: transform .3s var(--cw-ease), box-shadow .3s; }
.lp-plano:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(0,0,0,.35); }
.lp-plano__cab { padding: 22px 20px 20px; border-radius: 26px; color: #13200A; }
.lp-plano--free .lp-plano__cab { background: #F1F4EC; }
.lp-plano--plus .lp-plano__cab { background: #9CC2FF; }
.lp-plano--max .lp-plano__cab { background: linear-gradient(135deg, #C8F58A, var(--cw-lime)); }
.lp-plano h3 { font-size: 28px; font-weight: 900; letter-spacing: -.03em; }
.lp-plano__desc { font-weight: 700; color: rgba(19,32,10,.65); }
.lp-plano__preco { margin-top: 18px; display: flex; align-items: baseline; gap: 4px; }
.lp-plano__preco b { font-size: 44px; font-weight: 900; letter-spacing: -.045em; line-height: 1; }
.lp-plano__preco span { font-weight: 700; color: rgba(19,32,10,.65); }
.lp-plano ul { list-style: none; margin: 0; padding: 0 14px; display: grid; gap: 12px; flex: 1; }
.lp-plano ul li { display: flex; gap: 10px; align-items: flex-start; color: #D5D9DD; line-height: 1.4; }
.lp-plano ul .ico { flex: none; width: 20px; height: 20px; margin-top: 1px; color: var(--cw-lime); }
.lp-plano > .btn { width: auto; margin: 0 14px; }
.lp-plano--max { border-color: rgba(166,240,67,.5); box-shadow: 0 0 0 4px rgba(166,240,67,.08); }
.lp-plano__selo { position: absolute; z-index: 1; top: 22px; right: 22px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: #13200A; color: var(--cw-lime); font-size: 12px; font-weight: 800; }
.lp-plano__selo .ico { width: 14px; height: 14px; }

/* perguntas */
.lp-faq { max-width: 860px; margin: 0 auto; }
.lp-faq details { border-bottom: 1px solid var(--cw-line); }
.lp-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 4px; font-size: clamp(17px, 1.6vw, 20px); font-weight: 800; cursor: pointer; list-style: none; }
.lp-faq summary::-webkit-details-marker { display: none; }
.lp-faq summary::after { content: "+"; flex: none; font-size: 28px; font-weight: 400; line-height: 1; transition: transform .25s var(--cw-ease); }
.lp-faq details[open] summary::after { transform: rotate(45deg); }
.lp-faq details p { padding: 0 4px 24px; color: #C9CED3; line-height: 1.6; max-width: 70ch; animation: lp-entra .3s var(--cw-ease) both; }

/* CTA final */
.lp-final { padding: clamp(80px, 10vw, 140px) 12px 12px; }
.lp-final__painel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: 24px; max-width: 1320px; margin: 0 auto; padding: clamp(36px, 5vw, 64px) clamp(24px, 6vw, 80px); border-radius: 40px; background: radial-gradient(60% 80% at 80% 60%, rgba(166,240,67,.18), transparent 70%), #1A1F17; border: 1px solid rgba(166,240,67,.2); overflow: hidden; }
.lp-final h2 { font-size: clamp(40px, 5.6vw, 76px); line-height: .95; letter-spacing: -.05em; font-weight: 900; }
.lp-final p { margin: 18px 0 30px; color: #C9CED3; font-size: 18px; }
.lp-final__major { width: min(440px, 100%); justify-self: center; aspect-ratio: 1; filter: drop-shadow(0 24px 30px rgba(0,0,0,.45)); }

/* rodapé */
.lp-rodape { margin: 12px; padding: 44px clamp(24px, 5vw, 64px) 28px; border-radius: 40px; background: var(--cw-lime); color: #13200A; }
.lp-rodape__in { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.lp-rodape__logo { display: inline-flex; }
.lp-rodape__logo img { display: block; width: 150px; height: auto; filter: drop-shadow(0 1px 0 rgba(19,32,10,.55)) drop-shadow(0 5px 12px rgba(19,32,10,.45)); }
.lp-rodape__in p { margin-top: 12px; font-weight: 700; }
.lp-rodape nav { display: flex; gap: 6px 22px; flex-wrap: wrap; }
.lp-rodape nav a { color: #13200A; font-weight: 800; text-decoration: none; }
.lp-rodape nav a:hover { text-decoration: underline; }
.lp-rodape__copy { margin-top: 32px; font-size: 13px; font-weight: 600; color: #2F4A10; }

/* entrada em cascata dos grupos */
.js .reveal--grupo { opacity: 1; transform: none; }
.js .reveal--grupo:not(.is-visible) > * { opacity: 0; }
.js .reveal--grupo.is-visible > * { animation: lp-grupo .6s var(--cw-ease) backwards; animation-delay: calc(var(--i, 0) * 80ms); }
@keyframes lp-grupo { from { opacity: 0; transform: translateY(22px); } }

/* responsivo */
@media (max-width: 1100px) {
  .lp-num ul { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
}
@media (max-width: 960px) {
  .lp-dest { grid-template-columns: 1fr; }
  .lp-dest--inv .lp-dest__txt { order: 0; }
  .lp-planos { grid-template-columns: 1fr; max-width: 520px; }
}
@media (max-width: 860px) {
  .lp-topo__nav { position: absolute; top: 72px; left: 12px; right: 12px; display: none; flex-direction: column; padding: 10px; border-radius: 20px; background: #13200A; }
  .lp-topo.is-menu .lp-topo__nav { display: flex; }
  .lp-topo__nav a, .lp-topo.is-rolou .lp-topo__nav a { color: #fff; padding: 14px 16px; }
  .lp-topo__menu { display: grid; }
  .lp-topo__nav .lp-topo__entrar { display: flex; justify-content: center; margin-top: 6px; border: 1.5px solid rgba(166,240,67,.55); border-radius: 14px; color: var(--cw-lime); font-weight: 800; }
  .lp-topo__nav .lp-topo__entrar:hover { background: rgba(166,240,67,.1); }
  .lp-topo__acoes { margin-left: auto; }
  .lp-so-desk { display: none; }
  .lp-hero__painel { grid-template-columns: 1fr; padding: 110px 22px 0; border-radius: 30px; min-height: 0; }
  .lp-hero__txt { padding-bottom: 8px; }
  .lp-hero__major { justify-self: center; width: min(300px, 74vw); margin: 10px 0 -12%; }
  .lp-final__painel { grid-template-columns: 1fr; text-align: center; border-radius: 30px; }
  .lp-final__major { width: min(260px, 66vw); }
}
@media (max-width: 720px) {
  .lp-cards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin-inline: -16px; padding: 0 16px 10px; scrollbar-width: none; }
  .lp-cards::-webkit-scrollbar { display: none; }
  .lp-card { flex: 0 0 88%; scroll-snap-align: center; min-height: 460px; border-radius: 28px; padding: 26px 20px 20px; }
  .lp-card:hover { transform: none; }
  .lp-dest__demo { border-radius: 26px; }
  .lp-fc--g { height: 180px; }
  .lp-avs button { font-size: 13px; }
  .lp-agenda li span { font-size: 11px; }
  .lp-faixa { flex-direction: column; align-items: flex-start; gap: 10px; }
  .lp-faixa__trilho { width: 100%; }
  .lp-bt-grande { width: 100%; justify-content: center; padding: 20px 24px; }
  .lp-hero__ctas { gap: 14px; }
  .lp-hero__link { margin-inline: auto; }
  .lp-rodape { border-radius: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-faixa__lista, .lp-hero__major img { animation: none; }
  .lp-faixa__trilho { overflow-x: auto; }
  .lp-card, .lp-fc__in, .lp-bt-grande, .lp-plano { transition: none; }
  .lp-fc.is-sai, .lp-agenda__c, .lp-agenda li.is-pulsa, .lp-q__com, .lp-res__cards li, .lp-sim__nota, .lp-mat__lista li, .lp-mat__lista s, .lp-ia__saida > *, .lp-faq details p, .lp-q__caderno.is-pulsa { animation: none; }
  .js .reveal--grupo > * { animation: none !important; opacity: 1 !important; }
}
