/* lp.css, página do produto Munivia (munivia.com.br), versão 4 de 07/10/2026: lançamento de produto, em movimento
 * Título grande e curto, uma frase, e um detalhe do sistema em close por vez: nunca a tela inteira.
 * Escura por padrão; o botão de tema troca para a clara só com CSS (.lp:has(#lp-claro:checked)), e o site guarda a
 * escolha. Âmbar só nas tachas e na luz. O layout responde à largura do próprio contêiner, no site e no canvas.
 *
 * Movimento: tudo vem da estrada. As tachas acendem do horizonte para quem chega, as faixas de bordo se desenham, o
 * farol passa pelo título e as placas correm nas duas mãos. Ao rolar, títulos e palcos chegam (animation-timeline:
 * view(), sem script; onde o navegador não tem, o conteúdo já aparece pronto). O botão de pausa no topo e a preferência
 * de menos movimento do aparelho param tudo. */

.lp { --lp-fundo: #000000; --lp-palco: #141518; --lp-texto: #F4F1EA; --lp-texto-2: #9A9EA6; --lp-linha: #26282D; --lp-botao: #F4F1EA; --lp-sobre-botao: #121315;
      --lp-campo: #141518; --lp-estrada: #1E2024; --lp-tacha: #E9A23B; --lp-farol: #FFE2AE; --lp-placa: #1C2E5C; --lp-sobre-placa: #F4F1EA;
      --lp-erro: #FF9F98; --lp-erro-fundo: rgba(255, 110, 99, .12); --lp-ok: #8BD9A5; --lp-curva: cubic-bezier(.2, .7, .1, 1);
      --lp-acao: #E9A23B; --lp-acao-clara: rgba(233, 162, 59, .14); --lp-borda-forte: #6E727A; --lp-superficie-2: #1E2024;
      container-type: inline-size; container-name: lp; min-height: 100%; background: var(--lp-fundo); color: var(--lp-texto); color-scheme: dark;
      font-family: var(--mv-familia-texto); font-size: 17px; line-height: 1.5; -webkit-font-smoothing: antialiased;
      transition: background-color .5s ease, color .5s ease; }
.lp:has(#lp-claro:checked) { --lp-fundo: #F4F1EA; --lp-palco: #FFFFFF; --lp-texto: #121315; --lp-texto-2: #5E626A; --lp-linha: #DDD8CE; --lp-botao: #121315; --lp-sobre-botao: #F4F1EA;
      --lp-campo: #FFFFFF; --lp-estrada: #E4DFD5; --lp-farol: #B86F06; --lp-erro: #A3271F; --lp-erro-fundo: rgba(163, 39, 31, .08); --lp-ok: #1D7442; color-scheme: light;
      --lp-acao: #1C2E5C; --lp-acao-clara: #EEF1F7; --lp-borda-forte: #8A8E96; --lp-superficie-2: #F4F1EA; }
.lp *, .lp *::before, .lp *::after { box-sizing: border-box; }
.lp :focus-visible { outline: 2px solid var(--lp-texto); outline-offset: 3px; }
:where(.lp) a { color: inherit; }
.lp-faixa { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 32px; }
.lp-so-claro { display: none !important; }
.lp:has(#lp-claro:checked) .lp-so-claro { display: block !important; }
.lp:has(#lp-claro:checked) .lp-so-escuro { display: none !important; }
.lp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* botões: arredondados e sóbrios; o segundo é um link com seta; o principal ganha a luz que gira */
.lp-botao { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 26px; border: 0; border-radius: 999px;
            background: var(--lp-botao); color: var(--lp-sobre-botao); font: 600 17px/1 var(--mv-familia-texto); text-decoration: none; white-space: nowrap; cursor: pointer;
            transition: opacity .25s ease, translate .25s var(--lp-curva), background-color .5s ease, color .5s ease; }
.lp-botao:hover { opacity: .9; translate: 0 -1px; }
.lp-botao .mv-icone { width: 18px; height: 18px; }
@property --lp-giro { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.lp-botao--brilho { border: 2px solid transparent;
                    background: linear-gradient(var(--lp-botao), var(--lp-botao)) padding-box,
                                conic-gradient(from var(--lp-giro), transparent 0 60%, var(--lp-tacha) 78%, var(--lp-farol) 85%, transparent 93%) border-box;
                    animation: lp-gira 3.2s linear infinite, lp-aura 3.2s ease-in-out 1.6s infinite; }
@keyframes lp-gira { to { --lp-giro: 360deg; } }
@keyframes lp-aura { 0%, 100% { box-shadow: 0 0 0 0 rgba(233, 162, 59, 0); } 50% { box-shadow: 0 0 36px 2px rgba(233, 162, 59, .28); } }
.lp-link { display: inline-flex; align-items: center; gap: 4px; min-height: 48px; font-size: 17px; font-weight: 500; text-decoration: none; }
.lp-link:hover { text-decoration: underline; text-underline-offset: .2em; }
.lp-link .mv-icone { width: 18px; height: 18px; transition: translate .3s var(--lp-curva); }
.lp-link:hover .mv-icone { translate: 4px 0; }

/* cabeçalho fino, preso no topo, com a régua de progresso da leitura */
.lp-topo { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid var(--lp-linha); view-transition-name: lp-topo;
           background: color-mix(in srgb, var(--lp-fundo) 80%, transparent); -webkit-backdrop-filter: saturate(1.6) blur(18px); backdrop-filter: saturate(1.6) blur(18px);
           transition: background-color .5s ease, border-color .5s ease; }
.lp-topo::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--lp-tacha); transform: scaleX(0); transform-origin: 0 50%; }
.lp-topo .lp-faixa { display: flex; align-items: center; gap: 32px; min-height: 56px; max-width: 1200px; }
.lp-marca { display: flex; align-items: center; margin-right: auto; }
.lp-marca img { display: block; width: 116px; height: auto; }
.lp-nav { display: flex; gap: 26px; }
.lp-nav a { color: var(--lp-texto-2); text-decoration: none; font-size: 14px; transition: color .2s ease; }
.lp-nav a:hover { color: var(--lp-texto); }
.lp-controles { display: flex; align-items: center; gap: 14px; }
.lp-idiomas { display: flex; gap: 10px; font-size: 13px; }
.lp-idiomas a { color: var(--lp-texto-2); text-decoration: none; font-weight: 600; }
.lp-idiomas a:hover, .lp-idiomas a[aria-current] { color: var(--lp-texto); }
.lp-tema, .lp-calma { display: flex; gap: 2px; }
.lp-tema input, .lp-calma input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.lp-tema label, .lp-calma label { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: var(--lp-texto-2); cursor: pointer; }
.lp-tema label:hover, .lp-calma label:hover { color: var(--lp-texto); }
.lp-tema input:checked + label { color: var(--lp-texto); background: var(--lp-palco); }
.lp-tema input:focus-visible + label, .lp-calma input:focus-visible + label { outline: 2px solid var(--lp-texto); outline-offset: 2px; }
.lp-tema .mv-icone, .lp-calma .mv-icone { width: 16px; height: 16px; }
.lp-calma label > span { display: grid; place-items: center; }
.lp-calma__toca { display: none !important; }
.lp-calma input:checked + label { color: var(--lp-texto); background: var(--lp-palco); }
.lp-calma input:checked + label .lp-calma__pausa { display: none !important; }
.lp-calma input:checked + label .lp-calma__toca { display: grid !important; }
.lp-topo .lp-botao { min-height: 32px; padding: 0 16px; font-size: 14px; }
/* menu do celular: a ideia do sistema (a barra vira um cartão solto da borda e o menu abre no mesmo cartão), no desenho
   do site. As seções em letra larga com uma seta fina; idioma, tema e pausa numa linha só, com os ícones do topo; a
   demonstração em pílula só quando a barra não tem espaço para ela */
.lp-menu-celular { display: none; }
.lp-hamb { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--lp-linha); border-radius: 999px; background: transparent; color: var(--lp-texto);
           cursor: pointer; list-style: none; transition: background-color .2s ease, border-color .2s ease; }
.lp-hamb::-webkit-details-marker { display: none; }
.lp-hamb:hover, .lp-menu-celular[open] .lp-hamb { background: color-mix(in srgb, var(--lp-texto) 9%, transparent); border-color: transparent; }
.lp-hamb i, .lp-hamb i::before, .lp-hamb i::after { display: block; width: 18px; height: 1.5px; border-radius: 2px; background: currentColor; }
.lp-hamb i { position: relative; }
.lp-hamb i::before, .lp-hamb i::after { content: ""; position: absolute; left: 0; }
.lp-hamb i::before { top: -5px; }
.lp-hamb i::after { top: 5px; }
.lp-menu-celular__painel { position: absolute; top: 100%; left: -1px; right: -1px; z-index: 2; display: flex; flex-direction: column; gap: 18px; max-height: calc(100vh - 100px);
                           overflow-y: auto; scrollbar-width: none; padding: 6px 22px 22px; border: 1px solid var(--lp-linha); border-top: 0; border-radius: 0 0 20px 20px;
                           background: var(--lp-palco); box-shadow: 0 24px 48px rgba(0, 0, 0, .32); }
.lp-menu-celular__painel::-webkit-scrollbar { display: none; }
.lp-menu-celular[open] .lp-menu-celular__painel { animation: lp-desce .32s var(--lp-curva) both; }
.lp-menu-celular__secoes { display: flex; flex-direction: column; }
.lp-menu-celular__secoes a { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 2px; border-bottom: 1px solid var(--lp-linha);
                             color: var(--lp-texto); text-decoration: none; font: 600 21px/1.2 var(--mv-familia-display); font-stretch: 112%; letter-spacing: -.01em; }
.lp-menu-celular__secoes a::after { content: ""; flex: none; width: 8px; height: 8px; margin-right: 4px; border-top: 1.5px solid var(--lp-texto-2); border-right: 1.5px solid var(--lp-texto-2);
                                    transform: rotate(45deg); transition: translate .25s var(--lp-curva), border-color .25s ease; }
.lp-menu-celular__secoes a:hover::after { translate: 4px 0; border-color: var(--lp-tacha); }
.lp-menu-celular__pe { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lp-menu-celular__pe .lp-idiomas { gap: 4px; font-size: 14px; }
.lp-menu-celular__pe .lp-idiomas a { display: grid; place-items: center; min-width: 40px; height: 36px; border-radius: 999px; }
.lp-menu-celular__pe .lp-idiomas a[aria-current] { background: color-mix(in srgb, var(--lp-texto) 9%, transparent); }
.lp-menu-celular__icones { display: flex; gap: 4px; }
.lp-menu-celular__icones label { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--lp-texto-2); cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.lp-menu-celular__icones label:hover { color: var(--lp-texto); }
.lp-menu-celular__icones .mv-icone { width: 18px; height: 18px; }
.lp-menu-celular__icones label > span:not(.mv-sr) { display: grid; place-items: center; }
.lp:not(:has(#lp-claro:checked)) .lp-menu-celular__icones label[for="lp-escuro"], .lp:has(#lp-claro:checked) .lp-menu-celular__icones label[for="lp-claro"],
.lp:has(#lp-calmo:checked) .lp-menu-celular__icones label[for="lp-calmo"] { background: color-mix(in srgb, var(--lp-texto) 9%, transparent); color: var(--lp-texto); }
.lp:has(#lp-calmo:checked) .lp-menu-celular__icones .lp-calma__pausa { display: none !important; }
.lp:has(#lp-calmo:checked) .lp-menu-celular__icones .lp-calma__toca { display: grid !important; }
.lp-topo .lp-menu-celular__demo { display: none; width: 100%; min-height: 50px; font-size: 16px; }
@keyframes lp-desce { from { opacity: 0; translate: 0 -8px; scale: .98; } }

/* abertura: o nome, o título com o farol, a estrada com as tachas */
.lp-heroi { position: relative; overflow: hidden; padding: 112px 0 0; text-align: center; }
.lp-heroi__nome { margin: 0 0 18px; font: 600 26px/1 var(--mv-familia-display); font-stretch: 125%; color: var(--lp-texto-2); animation: lp-titulo 1.1s var(--lp-curva) both; }
.lp-h1 { margin: 0 auto; font: 700 clamp(32px, 5.2cqi, 74px)/1.04 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.02em; text-wrap: balance; }
.lp-h1 span { display: block; padding-bottom: .04em; color: transparent; -webkit-background-clip: text; background-clip: text;
              background: linear-gradient(100deg, var(--lp-texto) 0 40%, var(--lp-farol) 50%, var(--lp-texto) 60% 100%) 100% 0 / 260% 100% no-repeat;
              -webkit-background-clip: text; background-clip: text;
              animation: lp-linha 1s var(--lp-curva) .15s both, lp-farol 1.9s cubic-bezier(.35, 0, .2, 1) 1.15s both; }
.lp-h1 span + span { animation-delay: .3s, 1.4s; }
.lp-heroi__sub { margin: 28px auto 0; max-width: 34ch; font-size: clamp(18px, 1.8cqi, 24px); line-height: 1.4; color: var(--lp-texto-2); text-wrap: balance;
                 animation: lp-sobe .9s var(--lp-curva) .6s both; }
.lp-heroi__acoes { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 28px; margin-top: 36px; }
.lp-heroi .lp-heroi__acoes { animation: lp-sobe .9s var(--lp-curva) .78s both; }
.lp-heroi__estrada { position: relative; height: 440px; margin-top: 72px; -webkit-mask-image: linear-gradient(to bottom, transparent, #000 38%); mask-image: linear-gradient(to bottom, transparent, #000 38%);
                     transform-origin: 50% 100%; animation: lp-estrada 1.7s var(--lp-curva) .25s both; }
.lp-heroi__estrada svg { position: absolute; left: 50%; bottom: 0; width: 1400px; height: 520px; transform: translateX(-50%); }
.lp-heroi__estrada circle { fill: var(--lp-tacha); filter: drop-shadow(0 0 10px rgba(233, 162, 59, .55)); transform-box: fill-box; transform-origin: center;
                            animation: lp-tacha 3.4s ease-in-out infinite; animation-delay: calc(var(--i, 0) * .14s + 1.1s); }
.lp-estrada__bordo { stroke: var(--lp-texto); stroke-opacity: .3; stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: 0; animation: lp-risca 1.8s cubic-bezier(.3, .6, .2, 1) .45s both; }
@keyframes lp-titulo { from { opacity: 0; letter-spacing: .4em; } to { opacity: 1; letter-spacing: 0; } }
@keyframes lp-linha { from { opacity: 0; translate: 0 .5em; filter: blur(12px); } to { opacity: 1; translate: none; filter: blur(0); } }
@keyframes lp-farol { from { background-position: 100% 0; } to { background-position: 0 0; } }
@keyframes lp-sobe { from { opacity: 0; translate: 0 28px; } to { opacity: 1; translate: none; } }
@keyframes lp-estrada { from { opacity: 0; transform: perspective(700px) rotateX(22deg) scaleY(.72); } to { opacity: 1; transform: none; } }
@keyframes lp-risca { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes lp-tacha { 0%, 100% { opacity: .42; scale: 1; } 10% { opacity: 1; scale: 1.28; } 30% { opacity: .62; scale: 1; } }

/* placas: o que vem no sistema, correndo nas duas mãos; param com o ponteiro ou o foco */
.lp-placas { display: flex; flex-direction: column; gap: 14px; padding: 80px 0 0; overflow: hidden;
             -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.lp-placas__linha { display: flex; width: max-content; }
.lp-placas__trilho { display: flex; gap: 14px; margin: 0; padding: 0 14px 0 0; list-style: none; animation: lp-vai 64s linear infinite; }
.lp-placas__linha--volta .lp-placas__trilho { animation-name: lp-volta; animation-duration: 78s; }
.lp-placas:hover .lp-placas__trilho, .lp-placas:focus-within .lp-placas__trilho { animation-play-state: paused; }
.lp-placa { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 24px; border-radius: 10px; background: var(--lp-placa); color: var(--lp-sobre-placa);
            font: 600 18px/1 var(--mv-familia-texto); white-space: nowrap; box-shadow: inset 0 0 0 2px var(--lp-placa), inset 0 0 0 4px rgba(244, 241, 234, .9); }
.lp-placa--contorno { background: transparent; color: var(--lp-texto-2); box-shadow: inset 0 0 0 1px var(--lp-linha); transition: color .5s ease; }
.lp-placa--contorno::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-tacha); box-shadow: 0 0 10px rgba(233, 162, 59, .6); }
@keyframes lp-vai { to { transform: translateX(-100%); } }
@keyframes lp-volta { from { transform: translateX(-100%); } to { transform: none; } }

/* capítulos: um título curto, uma frase, um detalhe em close */
.lp-cap { padding: 104px 0 0; text-align: center; }
.lp-h2 { margin: 0 auto; max-width: 16ch; font: 700 clamp(34px, 5.2cqi, 72px)/1.05 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.015em; text-wrap: balance; }
.lp-frase { margin: 22px auto 0; max-width: 40ch; font-size: clamp(17px, 1.7cqi, 22px); line-height: 1.45; color: var(--lp-texto-2); text-wrap: balance; }
.lp-palco { position: relative; display: grid; place-items: center; min-height: 400px; margin-top: 48px; padding: 48px 32px; border-radius: 32px; overflow: hidden; view-timeline: --palco block;
            background: radial-gradient(520px circle at var(--mx, 50%) var(--my, -30%), rgba(233, 162, 59, .09), transparent 46%), var(--lp-palco); transition: background-color .5s ease; }
.lp-zoom { zoom: calc(var(--zd, 1.6) * var(--lp-escala, 1)); }
.lp-palco .mv { background: transparent; }

/* detalhes em close */
.lp-fila { display: flex; flex-direction: column; width: 380px; border: 1px solid var(--mv-borda); border-radius: var(--mv-raio-3); background: var(--mv-superficie); text-align: left; }
.lp-fila__linha { display: flex; flex-direction: column; gap: 9px; padding: 14px 16px; border-bottom: 1px solid var(--mv-borda); }
.lp-fila__linha:last-child { border-bottom: 0; }
.lp-fila__topo { display: flex; gap: 10px; align-items: baseline; font-size: 14px; font-weight: 600; }
.lp-fila__topo .mv-cod { font-weight: 400; color: var(--mv-texto-2); font-size: 12px; }
.lp-fila__baixo { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.lp-fila__baixo .mv-prazo-b { min-width: 170px; }
.lp-menu-close { width: 270px; height: auto; text-align: left; border-radius: var(--mv-raio-3); border: 1px solid var(--mv-nav-linha); }
.lp-cores { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.lp-cor { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 168px; padding: 18px 14px; border-radius: var(--mv-raio-3); background: var(--mv-superficie);
          border: 1px solid var(--mv-borda); }
.lp-cor b { font-size: 13px; }
.lp-acess { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 22px; }
.lp-acess .mv-flutuante-a11y { position: relative; }
.lp-acess .mv-flutuante-a11y::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--lp-tacha); opacity: 0; animation: lp-anel 2.6s ease-out infinite; }
.lp-acess .mv-vlibras { position: static; transform: none; border-radius: var(--mv-raio-3); }
.lp-acess .mv-vlibras .mv-icone { transform-origin: 60% 90%; animation: lp-aceno 3s ease-in-out infinite; }
.lp-acess__teclas { display: flex; gap: 6px; }
.lp-acess__teclas .mv-tecla { min-width: 28px; height: 28px; font-size: 13px; animation: lp-tecla 4.8s ease-in-out infinite; }
.lp-acess__teclas .mv-tecla:nth-child(2) { animation-delay: .45s; }
.lp-acess__teclas .mv-tecla:nth-child(3) { animation-delay: .9s; }
.lp-acess__teclas .mv-tecla:nth-child(4) { animation-delay: 1.35s; }
.lp-selo { width: 360px; padding: 18px; border-radius: var(--mv-raio-3); background: var(--mv-superficie); border: 1px solid var(--mv-borda); text-align: left; }
.lp-selo .mv-selo { border-top: 0; padding-top: 0; }
.lp-selo .mv-selo__qr { position: relative; overflow: hidden; }
.lp-selo .mv-selo__qr::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--lp-tacha); box-shadow: 0 0 8px var(--lp-tacha); opacity: 0;
                               animation: lp-varre 3.6s ease-in-out 1s infinite; }
@keyframes lp-anel { 0% { opacity: .9; scale: 1; } 100% { opacity: 0; scale: 1.75; } }
@keyframes lp-aceno { 0%, 60%, 100% { rotate: 0deg; } 70% { rotate: -16deg; } 80% { rotate: 12deg; } 90% { rotate: -8deg; } }
@keyframes lp-tecla { 0%, 14%, 100% { translate: 0 0; background: var(--mv-superficie); color: var(--mv-texto); }
                      5% { translate: 0 3px; background: var(--lp-tacha); color: #121315; } }
@keyframes lp-varre { 0% { top: 0; opacity: 0; } 8% { opacity: 1; } 46% { top: calc(100% - 3px); opacity: 1; } 54%, 100% { top: calc(100% - 3px); opacity: 0; } }

/* e tem mais: grade de peças curtas, com a luz que segue o ponteiro */
.lp-pecas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 60px; text-align: left; }
.lp-peca { display: flex; flex-direction: column; justify-content: space-between; gap: 28px; min-height: 212px; padding: 30px; border-radius: 28px;
           background: radial-gradient(360px circle at var(--mx, 50%) var(--my, -40%), rgba(233, 162, 59, .12), transparent 48%), var(--lp-palco);
           transition: transform .45s var(--lp-curva), background-color .5s ease; }
.lp-peca:hover { transform: translateY(-6px); }
.lp-peca__grande { font: 700 34px/1.05 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.01em; }
.lp-peca__grande .mv-icone { width: 40px; height: 40px; stroke-width: 1.5; }
.lp-peca b { display: block; font-size: 19px; line-height: 1.25; }
.lp-peca span { display: block; margin-top: 6px; font-size: 15px; line-height: 1.45; color: var(--lp-texto-2); }

/* contato */
.lp-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 680px; margin: 52px auto 0; text-align: left; }
.lp-campo { display: flex; flex-direction: column; gap: 6px; }
.lp-campo--largo { grid-column: 1 / -1; }
.lp-form label { font-size: 14px; color: var(--lp-texto-2); transition: color .2s ease; }
.lp-campo:focus-within label { color: var(--lp-texto); }
.lp-form input[type="text"], .lp-form input[type="email"], .lp-form textarea {
  width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--lp-linha); border-radius: 14px; background: var(--lp-campo); color: var(--lp-texto); font: 400 17px/1.4 var(--mv-familia-texto);
  transition: border-color .25s ease, box-shadow .25s ease, background-color .5s ease; }
.lp-form textarea { min-height: 132px; resize: vertical; }
.lp-form input:focus-visible, .lp-form textarea:focus-visible { outline: 2px solid var(--lp-texto); outline-offset: 1px; box-shadow: 0 0 0 6px rgba(233, 162, 59, .14); }
.lp-aceite { grid-column: 1 / -1; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--lp-texto-2) !important; }
.lp-aceite input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--lp-texto); }
.lp-form .lp-botao { grid-column: 1 / -1; justify-self: center; margin-top: 8px; }
.lp-form__resumo { grid-column: 1 / -1; display: flex; gap: 10px; align-items: center; margin: 0; padding: 12px 16px; border-radius: 14px; background: var(--lp-erro-fundo);
                   color: var(--lp-texto); font-size: 15px; font-weight: 600; }
.lp-form__resumo .mv-icone, .lp-campo__erro .mv-icone { flex: none; width: 17px; height: 17px; color: var(--lp-erro); }
.lp-campo__erro { display: flex; gap: 6px; align-items: flex-start; margin: 2px 0 0; font-size: 13px; line-height: 1.45; color: var(--lp-texto); }
.lp-form [aria-invalid="true"] { border-color: var(--lp-erro) !important; box-shadow: 0 0 0 4px var(--lp-erro-fundo); }
.lp-form__ok { display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 560px; margin: 52px auto 0; padding: 44px 28px 36px; border-radius: 28px;
               background: var(--lp-palco); text-align: center; animation: lp-sobe .8s var(--lp-curva) both; }
.lp-form__ok-icone { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: var(--lp-ok); color: var(--lp-fundo); animation: lp-abre 1s var(--lp-curva) .2s both; }
.lp-form__ok-icone .mv-icone { width: 32px; height: 32px; stroke-width: 2.4; }
.lp-form__ok h3 { margin: 8px 0 0; font: 700 30px/1.1 var(--mv-familia-display); font-stretch: 125%; }
.lp-form__ok p { margin: 0; font-size: 16px; color: var(--lp-texto-2); }
/* página não encontrada */
.lp-nf { overflow: hidden; }
.lp-nf__caminhos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 720px; margin: 56px auto 0; padding: 0; list-style: none; text-align: left; }
.lp-nf__caminhos a { display: grid; grid-template-columns: 22px minmax(0, 1fr) 18px; gap: 14px; align-items: center; padding: 18px 20px; border-radius: 18px; background: var(--lp-palco);
                     color: var(--lp-texto); text-decoration: none; font-size: 16px; font-weight: 600; transition: transform .35s var(--lp-curva); }
.lp-nf__caminhos a:hover { transform: translateY(-3px); }
.lp-nf__caminhos .mv-icone { width: 20px; height: 20px; color: var(--lp-texto-2); }
.lp-nf__estrada { height: 300px; margin-top: 72px; }

/* páginas de texto: privacidade e acessibilidade */
.lp-pagina { padding: 104px 0 0; }
.lp-pagina__cab { max-width: 880px; margin: 0 auto; text-align: center; }
.lp-pagina__rotulo { margin: 0 0 18px; font: 600 22px/1 var(--mv-familia-display); font-stretch: 125%; color: var(--lp-texto-2); animation: lp-titulo 1.1s var(--lp-curva) both; }
.lp-pagina h1 { margin: 0; font: 700 clamp(38px, 6cqi, 84px)/1.03 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.02em; text-wrap: balance;
                animation: lp-linha 1s var(--lp-curva) .12s both; }
.lp-pagina__intro { margin: 26px auto 0; max-width: 42ch; font-size: clamp(18px, 1.8cqi, 23px); line-height: 1.45; color: var(--lp-texto-2); text-wrap: balance;
                    animation: lp-sobe .9s var(--lp-curva) .45s both; }
.lp-texto { display: flex; flex-direction: column; max-width: 940px; margin: 96px auto 0; text-align: left; }
.lp-texto section { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; padding: 40px 0; border-top: 1px solid var(--lp-linha); }
.lp-texto h2 { margin: 0; font: 700 24px/1.2 var(--mv-familia-display); font-stretch: 112%; letter-spacing: -.01em; text-wrap: balance; }
.lp-texto ul { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; }
.lp-texto li { position: relative; padding-left: 24px; font-size: 17px; line-height: 1.6; color: var(--lp-texto-2); }
.lp-texto li::before { content: ""; position: absolute; left: 2px; top: .66em; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-tacha); box-shadow: 0 0 8px rgba(233, 162, 59, .45); }
.lp-texto li b { color: var(--lp-texto); font-weight: 600; }
.lp-texto a { text-underline-offset: .18em; }
.lp-data { margin: 40px 0 0; text-align: center; font-size: 14px; color: var(--lp-texto-2); }

/* demonstração: a senha libera; depois, os três caminhos */
.lp-demo__cartao { position: relative; width: min(480px, 100%); margin: 64px auto 0; padding: 36px 32px 30px; border-radius: 32px; text-align: left;
                   background: radial-gradient(420px circle at var(--mx, 50%) var(--my, -30%), rgba(233, 162, 59, .1), transparent 50%), var(--lp-palco);
                   box-shadow: 0 0 0 1px var(--lp-linha); animation: lp-sobe 1s var(--lp-curva) .5s both; }
.lp-demo__cartao--erro { animation: lp-sobe 1s var(--lp-curva) .2s both, lp-treme .5s ease-in-out 1.1s; }
.lp-demo__cadeado { position: relative; display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 24px; border-radius: 50%; background: var(--lp-fundo); color: var(--lp-tacha);
                    box-shadow: 0 0 0 1px var(--lp-linha); }
.lp-demo__cadeado::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; border: 2px solid var(--lp-tacha); opacity: 0; animation: lp-anel 2.8s ease-out 1.4s infinite; }
.lp-demo__cadeado .mv-icone { width: 30px; height: 30px; animation: lp-flutua 4s ease-in-out infinite; }
.lp-demo__form { display: flex; flex-direction: column; gap: 10px; }
.lp-demo__form label { font-size: 14px; font-weight: 600; color: var(--lp-texto); }
.lp-demo__form input[type="password"] { width: 100%; min-height: 58px; padding: 0 18px; border: 1px solid var(--lp-linha); border-radius: 16px; background: var(--lp-campo); color: var(--lp-texto);
                                        font: 500 21px/1 var(--mv-familia-mono); letter-spacing: .14em; transition: border-color .25s ease, box-shadow .25s ease; }
.lp-demo__form input[type="password"]:focus-visible { outline: 2px solid var(--lp-texto); outline-offset: 1px; box-shadow: 0 0 0 7px rgba(233, 162, 59, .16); }
.lp-demo__ajuda { margin: 0; font-size: 13px; line-height: 1.45; color: var(--lp-texto-2); }
.lp-demo__form .lp-botao { width: 100%; margin-top: 12px; }
.lp-demo__erro { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; margin: 0 0 18px; padding: 12px 14px; border-radius: 14px; background: var(--lp-erro-fundo);
                 color: var(--lp-texto); font-size: 14px; line-height: 1.45; }
.lp-demo__erro .mv-icone { width: 18px; height: 18px; margin-top: 1px; color: var(--lp-erro); }
.lp-demo__pede { margin: 22px 0 0; text-align: center; font-size: 14px; color: var(--lp-texto-2); }
.lp-demo__pede a { color: var(--lp-texto); font-weight: 600; }
.lp-demo__inclui-tit { margin: 112px 0 0; text-align: center; font: 700 clamp(26px, 3cqi, 40px)/1.1 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.01em; }
.lp-demo__inclui { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 40px 0 0; padding: 0; list-style: none; text-align: left; }
.lp-demo__inclui li, .lp-demo__caminho { display: flex; flex-direction: column; gap: 12px; padding: 28px; border-radius: 26px;
                                         background: radial-gradient(320px circle at var(--mx, 50%) var(--my, -40%), rgba(233, 162, 59, .1), transparent 48%), var(--lp-palco);
                                         transition: transform .45s var(--lp-curva); }
.lp-demo__inclui li:hover, .lp-demo__caminho:hover { transform: translateY(-5px); }
.lp-demo__inclui .mv-icone, .lp-demo__caminho > .mv-icone { width: 30px; height: 30px; stroke-width: 1.6; color: var(--lp-texto); }
.lp-demo__inclui b, .lp-demo__caminho b { font-size: 19px; line-height: 1.25; }
.lp-demo__inclui span, .lp-demo__caminho p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--lp-texto-2); }
.lp-demo__liberada { display: grid; place-items: center; width: 84px; height: 84px; margin: 0 auto 26px; border-radius: 50%; background: var(--lp-tacha); color: #121315;
                     box-shadow: 0 0 60px rgba(233, 162, 59, .45); animation: lp-abre 1.1s var(--lp-curva) .2s both; }
.lp-demo__liberada .mv-icone { width: 36px; height: 36px; }
.lp-demo__caminhos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 64px 0 0; text-align: left; }
.lp-demo__site { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); overflow: hidden; border-radius: 28px;
                 background: radial-gradient(420px circle at var(--mx, 20%) var(--my, -30%), rgba(233, 162, 59, .12), transparent 50%), var(--lp-palco); }
.lp-demo__site-txt { display: flex; flex-direction: column; gap: 12px; padding: 34px 32px 32px; }
.lp-demo__site-txt > .mv-icone { width: 32px; height: 32px; stroke-width: 1.6; }
.lp-demo__site-txt b { font: 700 28px/1.12 var(--mv-familia-display); font-stretch: 112%; }
.lp-demo__site-txt p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--lp-texto-2); }
.lp-demo__site-txt .lp-botao { align-self: flex-start; margin-top: auto; }
.lp-demo__site-img { position: relative; min-height: 300px; overflow: hidden; }
.lp-demo__site-img img { position: absolute; left: 0; top: 34px; width: 120%; height: auto; border-radius: 14px 0 0 0;
                         box-shadow: 0 0 0 1px var(--lp-linha), -24px 30px 70px rgba(0, 0, 0, .45); transition: translate .6s var(--lp-curva); }
.lp-demo__site:hover .lp-demo__site-img img { translate: -10px -6px; }
.lp-demo__aviso { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 12px; max-width: 780px; margin: 28px auto 0; padding: 14px 18px; border-radius: 16px;
                  background: var(--lp-palco); box-shadow: inset 0 0 0 1px var(--lp-linha); font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); text-align: left; }
.lp-demo__aviso .mv-icone { width: 18px; height: 18px; margin-top: 1px; color: var(--lp-tacha); }
.lp-demo__caminho { justify-content: flex-start; }
.lp-demo__caminho .lp-botao { align-self: flex-start; margin-top: auto; }
.lp-conta { display: flex; flex-direction: column; gap: 6px; margin: 6px 0 12px; padding: 10px 12px 10px 16px; border-radius: 16px; background: var(--lp-fundo); }
.lp-conta div { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; align-items: center; }
.lp-conta dt { font-size: 13px; color: var(--lp-texto-2); }
.lp-conta dd { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; margin: 0; }
.lp-conta code { min-width: 0; overflow-wrap: anywhere; font: 500 14px/1.35 var(--mv-familia-mono); color: var(--lp-texto); user-select: all; }
.lp-copia { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 0; border-radius: 999px; background: var(--lp-palco);
            color: var(--lp-texto); font: 600 13px/1 var(--mv-familia-texto); box-shadow: inset 0 0 0 1px var(--lp-linha); cursor: pointer; transition: box-shadow .2s ease, color .2s ease; }
.lp-copia:hover { box-shadow: inset 0 0 0 1px var(--lp-texto-2); }
.lp-copia[data-feito] { color: var(--lp-ok); box-shadow: inset 0 0 0 1px var(--lp-ok); }
.lp-copia .mv-icone { width: 14px; height: 14px; }
.lp-demo__form input[type="password"][aria-invalid="true"] { border-color: var(--lp-erro); box-shadow: 0 0 0 5px var(--lp-erro-fundo); }
.lp-demo__sair { display: flex; justify-content: center; margin: 40px 0 0; }
.lp-demo__sair button { padding: 8px 12px; border: 0; background: none; color: var(--lp-texto-2); font: 500 15px/1 var(--mv-familia-texto); text-decoration: underline; text-underline-offset: .2em; cursor: pointer; }
.lp-demo__sair button:hover { color: var(--lp-texto); }
@keyframes lp-treme { 0%, 100% { translate: 0 0; } 20% { translate: -10px 0; } 40% { translate: 8px 0; } 60% { translate: -5px 0; } 80% { translate: 3px 0; } }
@keyframes lp-flutua { 0%, 100% { translate: 0 0; } 50% { translate: 0 -4px; } }
@keyframes lp-abre { 0% { opacity: 0; scale: .4; rotate: -40deg; } 60% { opacity: 1; scale: 1.12; rotate: 6deg; } 100% { scale: 1; rotate: 0deg; } }

/* aviso de cookies: só o essencial por padrão; tema e pausa ficam guardados só com permissão */
.lp-cookies { position: fixed; left: 50%; bottom: 24px; z-index: 40; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: center;
              width: min(760px, calc(100% - 32px)); padding: 22px 24px; border-radius: 24px; translate: -50% 0; text-align: left;
              background: color-mix(in srgb, var(--lp-palco) 90%, transparent); -webkit-backdrop-filter: saturate(1.5) blur(20px); backdrop-filter: saturate(1.5) blur(20px);
              box-shadow: 0 0 0 1px var(--lp-linha), 0 24px 64px rgba(0, 0, 0, .45); animation: lp-sobe-aviso .8s var(--lp-curva) .6s both; }
.lp-cookies[hidden] { display: none !important; }
.lp-cookies h2 { margin: 0 0 6px; font: 700 19px/1.2 var(--mv-familia-display); font-stretch: 112%; }
.lp-cookies p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.lp-cookies p a { color: var(--lp-texto); text-underline-offset: .18em; }
.lp-cookies__acoes { display: flex; flex-direction: column; gap: 8px; }
.lp-cookies .lp-botao { min-height: 42px; padding: 0 20px; font-size: 15px; }
.lp-botao--sec { background: transparent; color: var(--lp-texto); box-shadow: inset 0 0 0 1px var(--lp-linha); }
@keyframes lp-sobe-aviso { from { opacity: 0; translate: -50% 40px; } to { opacity: 1; translate: -50% 0; } }

/* rodapé: tudo ao centro; a Munivia é construída por três empresas */
.lp-rodape { margin-top: 112px; padding: 56px 0 48px; border-top: 1px solid var(--lp-linha); font-size: 13px; color: var(--lp-texto-2); text-align: center; transition: border-color .5s ease; }
.lp-rodape .lp-faixa { display: flex; flex-direction: column; align-items: center; gap: 22px; max-width: 1200px; }
.lp-rodape__marca img { display: block; width: 120px; height: auto; }
.lp-rodape__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 30px; font-size: 15px; }
.lp-rodape__links a { text-decoration: none; transition: color .2s ease; }
.lp-rodape__links a:hover, .lp-rodape__links a[aria-current] { color: var(--lp-texto); }
.lp-rodape__links a:hover { text-decoration: underline; text-underline-offset: .2em; }
.lp-rodape__links button { padding: 0; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; transition: color .2s ease; }
.lp-rodape__links button:hover { color: var(--lp-texto); text-decoration: underline; text-underline-offset: .2em; }
.lp-rodape .lp-idiomas { justify-content: center; gap: 18px; font-size: 14px; }
.lp-construido { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 14px; padding-top: 30px; border-top: 1px solid var(--lp-linha); width: min(560px, 100%); }
.lp-construido p { margin: 0; font-size: 13px; }
.lp-construido ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 48px; margin: 0; padding: 0; list-style: none; }
.lp-construido a { display: block; padding: 6px; border-radius: 8px; color: var(--lp-texto-2); transition: color .3s ease, translate .3s var(--lp-curva); }
.lp-construido a:hover { color: var(--lp-texto); translate: 0 -3px; }
.lp-construido__logo { display: block; height: var(--h, 28px); aspect-ratio: var(--p, 2); background: currentColor;
                       -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; }
.lp-rodape__base { margin: 6px 0 0; padding-top: 22px; border-top: 1px solid var(--lp-linha); width: min(560px, 100%); font-size: 13px; letter-spacing: .01em; }

/* /idv: o manual da marca numa página só (o formato do manual do PremiaAki). Sumário fixo à esquerda, com busca, as
   seções numeradas, o kit e os tokens; à direita a capa, «Para quem é», «O que tem aqui», as doze seções e «O que mudou».
   Clara por padrão (é documento de consulta), com o mesmo botão de tema do site. */
.lp { --idv-acento: #E9A23B; }
.lp:has(#lp-claro:checked) { --idv-acento: #93601F; }
.idv-corpo { display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 56px; width: min(1376px, 100%); margin: 0 auto; padding: 40px 32px 120px; }
.idv-conteudo { min-width: 0; }
.idv-corpo img { max-width: 100%; height: auto; }
.idv-sumario { position: sticky; top: 88px; align-self: start; display: flex; flex-direction: column; gap: 16px; max-height: calc(100vh - 108px); overflow-y: auto;
               padding: 0 6px 12px 0; scrollbar-width: thin; }
.idv-busca { position: relative; display: flex; align-items: center; }
.idv-busca .mv-icone { position: absolute; left: 11px; width: 16px; height: 16px; color: var(--lp-texto-2); pointer-events: none; }
.idv-busca input { width: 100%; min-height: 40px; padding: 0 40px 0 36px; border: 1px solid var(--lp-borda-forte); border-radius: 4px; background: var(--lp-campo); color: var(--lp-texto);
                   font: 400 14px/1 var(--mv-familia-texto); outline: none; transition: border-color .15s ease, box-shadow .15s ease; }
.idv-busca input:hover { border-color: var(--lp-texto-2); }
.idv-busca input:focus-visible { border-color: var(--lp-acao); box-shadow: 0 0 0 3px var(--lp-acao-clara); }
.idv-busca input::placeholder { color: var(--lp-texto-2); }
.idv-busca input::-webkit-search-cancel-button { display: none; }
.idv-busca kbd { position: absolute; right: 8px; padding: 1px 6px; border: 1px solid var(--lp-linha); border-radius: 2px; color: var(--lp-texto-2); font: 500 11px/1.5 var(--mv-familia-mono); }
.idv-sum__dobra > summary { display: none; }
.idv-sumario__rotulo { margin: 4px 10px 6px; font: 600 13px/1.3 var(--mv-familia-texto); color: var(--lp-texto-2); }
.idv-sum__lista, .idv-sum__subs { margin: 0; padding: 0; list-style: none; }
.idv-sum__sec { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: baseline; gap: 2px; min-height: 36px; padding: 8px 10px; border-radius: 4px; color: var(--lp-texto);
                font-size: 15px; font-weight: 500; line-height: 1.3; text-decoration: none; }
.idv-sum__sec span:first-child { font: 600 13px/1 var(--mv-familia-texto); font-variant-numeric: tabular-nums; color: var(--lp-texto-2); }
.idv-sum__sec:hover { background: color-mix(in srgb, var(--lp-texto) 6%, transparent); }
.idv-sum__sec[aria-current="true"] { background: var(--lp-palco); box-shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 0 0 1px var(--lp-linha); font-weight: 600; }
.idv-sum__sec[aria-current="true"] span:first-child { color: var(--lp-acao); }
.idv-sum__subs { display: none; margin: 2px 0 8px 38px; border-left: 1px solid var(--lp-linha); }
.idv-sum__lista > li[data-aberto] > .idv-sum__subs, .idv-sumario[data-busca] .idv-sum__subs { display: block; }
.idv-sum__subs a { display: block; padding: 5px 10px 5px 12px; margin-left: -1px; border-left: 2px solid transparent; color: var(--lp-texto-2); font-size: 14px; line-height: 1.35; text-decoration: none; }
.idv-sum__subs a:hover { color: var(--lp-texto); }
.idv-sum__subs a[aria-current="true"] { border-left-color: var(--lp-acao); color: var(--lp-texto); font-weight: 600; }
.idv-sumario__vazio { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-sumario__pe { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding-top: 16px; border-top: 1px solid var(--lp-linha); }
.idv-sumario__pe .lp-botao { min-height: 40px; padding: 0 16px; border-radius: 4px; background: var(--lp-palco); color: var(--lp-texto); box-shadow: inset 0 0 0 1px var(--lp-borda-forte);
                            font-size: 14px; }
.idv-sumario__tokens { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 0; border-radius: 4px; background: none;
                       color: var(--lp-texto); font: 600 14px/1 var(--mv-familia-texto); cursor: pointer; }
.idv-sumario__tokens:hover { background: color-mix(in srgb, var(--lp-texto) 6%, transparent); }
.idv-sumario__tokens .mv-icone { width: 16px; height: 16px; }
.idv-versao-nota { margin: 0; font-size: 13px; color: var(--lp-texto-2); text-align: center; }
.idv-versao-nota a { color: var(--lp-texto); font-weight: 600; }
/* capa: a placa azul, com a estrada saindo pela borda */
.idv-capa { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 32px; padding: 56px 56px 52px; border-radius: 8px;
            background: var(--lp-placa); color: #F4F1EA; }
.idv-capa__texto { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; min-width: 0; }
.idv-capa__rotulo { margin: 0; font: 600 14px/1.3 var(--mv-familia-texto); color: #E9A23B; }
.idv-capa__titulo { margin: 0; max-width: 15ch; font: 800 clamp(40px, 5cqi, 72px)/1.02 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.02em; text-wrap: balance; outline: none; }
.idv-capa__lead { margin: 0; max-width: 58ch; font-size: 18px; line-height: 1.6; color: rgba(244, 241, 234, .86); }
.idv-capa__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.idv-capa .lp-botao { min-height: 44px; padding: 0 18px; border-radius: 4px; background: #F4F1EA; color: #121315; font-size: 15px; }
.idv-capa .lp-botao--sec { background: transparent; color: #F4F1EA; box-shadow: inset 0 0 0 1px rgba(244, 241, 234, .6); }
.idv-capa__nota { margin: 0; font-size: 14px; line-height: 1.5; color: rgba(244, 241, 234, .78); }
.idv-capa__nota a { color: #F4F1EA; text-underline-offset: .2em; }
.idv-capa__estrada { align-self: end; justify-self: end; width: 168px; }
.idv-capa__estrada img { display: block; width: 100%; height: auto; }
/* blocos de abertura: para quem é, o que tem aqui e o que mudou */
.idv-bloco { padding-top: 72px; scroll-margin-top: 96px; }
.idv-bloco > h2 { margin: 0 0 22px; font: 800 28px/1.1 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.01em; }
.idv-cartoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.idv-cartoes--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.idv-cartao { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; border: 1px solid var(--lp-linha); border-radius: 8px; background: var(--lp-palco); }
.idv-cartao b { font-size: 17px; line-height: 1.3; }
.idv-cartao p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--lp-texto-2); }
.idv-mapa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 12px; margin: 0; padding: 0; list-style: none; }
.idv-mapa > li { display: flex; min-width: 0; }
.idv-mapa a { flex: 1; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-content: start; gap: 6px 10px; padding: 18px 20px; border: 1px solid var(--lp-linha); border-radius: 8px;
              background: var(--lp-palco); color: var(--lp-texto); text-decoration: none; transition: border-color .2s ease, translate .2s var(--lp-curva); }
.idv-mapa a:hover { border-color: var(--lp-texto-2); translate: 0 -2px; }
.idv-mapa .idv-num { grid-row: span 2; padding-top: 5px; }
.idv-mapa b { font-size: 17px; line-height: 1.3; }
.idv-mapa__itens { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.45; color: var(--lp-texto-2); }
/* seções numeradas */
.idv-sec { padding-top: 96px; scroll-margin-top: 96px; }
.idv-sec--continua { padding-top: 0; }
.idv-sec__cab { display: flex; align-items: center; gap: 16px; padding-bottom: 16px; border-bottom: 2px solid var(--lp-texto); }
.idv-num { font: 600 15px/1 var(--mv-familia-texto); font-variant-numeric: tabular-nums; color: var(--lp-texto-2); }
.idv-sec__cab h2 { flex: 1; min-width: 0; margin: 0; font: 800 clamp(30px, 3.4cqi, 46px)/1.05 var(--mv-familia-display); font-stretch: 125%; letter-spacing: -.015em; text-wrap: balance; }
.idv-link { flex: none; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--lp-texto-2); cursor: pointer;
            transition: color .2s ease, background-color .2s ease; }
.idv-link:hover { color: var(--lp-texto); background: color-mix(in srgb, var(--lp-texto) 7%, transparent); }
.idv-link .mv-icone { width: 18px; height: 18px; }
.idv-sec__intro { margin: 18px 0 0; max-width: 66ch; font-size: 18px; line-height: 1.55; color: var(--lp-texto-2); }
.idv-sub { padding-top: 56px; scroll-margin-top: 96px; }
.idv-sub > h3 { margin: 0 0 6px; font: 700 22px/1.25 var(--mv-familia-display); font-stretch: 112%; letter-spacing: -.005em; }
.idv-sub__intro { margin: 0 0 24px; max-width: 70ch; font-size: 16px; line-height: 1.6; color: var(--lp-texto-2); }
.idv-sub > h3 + :not(.idv-sub__intro) { margin-top: 18px; }
/* voltar ao topo e o aviso de «copiado» */
.idv-topo { position: fixed; right: 24px; bottom: 24px; z-index: 40; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 8px; background: var(--lp-palco);
            color: var(--lp-texto); box-shadow: inset 0 0 0 1px var(--lp-linha), 0 10px 28px rgba(0, 0, 0, .16); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.idv-topo[data-visivel] { opacity: 1; pointer-events: auto; }
.idv-topo .mv-icone { width: 20px; height: 20px; }
.idv-aviso { position: fixed; left: 50%; bottom: 28px; z-index: 60; translate: -50% 12px; padding: 12px 18px; border-radius: 8px; background: var(--lp-texto); color: var(--lp-fundo);
             font-size: 15px; font-weight: 600; box-shadow: 0 12px 32px rgba(0, 0, 0, .22); opacity: 0; pointer-events: none; transition: opacity .2s ease, translate .2s var(--lp-curva); }
.idv-aviso[data-visivel] { opacity: 1; translate: -50% 0; }
.idv-fig { display: flex; flex-direction: column; gap: 12px; margin: 0; min-width: 0; }
.idv-fig figcaption, .idv-nota { font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-nota { margin: 20px 0 0; }
.idv-palco { display: grid; place-items: center; min-width: 0; padding: 36px; border-radius: 8px; background: #121315; box-shadow: inset 0 0 0 1px rgba(244, 241, 234, .07); overflow: hidden; }
.idv-palco img { display: block; max-width: 100%; height: auto; }
.idv-palco--largo { padding: 32px 40px; }
.idv-palco--passo { aspect-ratio: 3 / 2; padding: 18px; border-radius: 8px; }
.idv-palco--passo img { max-height: 100%; }
.idv-palco--foto { padding: 0; }
.idv-palco--foto img { width: 100%; height: 100%; object-fit: cover; }
.idv-palco--baixo { height: 240px; }
.idv-palco--ideia { gap: 36px; padding: 48px 40px; }
.idv-ideia__linha { display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: center; gap: 20px; width: 100%; color: #8A8E96; font-size: 13px; font-weight: 600; }
.idv-apagado { opacity: .4; }
.idv-dupla { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.idv-dupla--larga { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.idv-grade-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 40px; margin-top: 32px; }
.idv-grade-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 40px; }
.idv-grade-3 p { margin: 6px 0 0; font-size: 15px; line-height: 1.55; color: var(--lp-texto-2); }
.idv-grade-3 b { font-size: 17px; }
.idv-pilha { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.idv-pontos { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 0; list-style: none; }
.idv-pontos li { position: relative; padding-left: 24px; font-size: 16px; line-height: 1.6; color: var(--lp-texto-2); }
.idv-pontos li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 6px; height: 6px; background: var(--lp-texto); }
.idv-pontos b { color: var(--lp-texto); }
.idv-pontos--grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 36px; margin-bottom: 40px; }
.idv-unidade { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: center; margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--lp-linha); }
.idv-unidade__1u { font: 800 96px/.8 var(--mv-familia-display); font-stretch: 125%; color: var(--lp-tacha); }
.idv-unidade p { margin: 0; max-width: 72ch; font-size: 16px; line-height: 1.6; color: var(--lp-texto-2); }
.idv-passos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.idv-passos li { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.idv-passos--letra { margin-top: 28px; }
.idv-passo__txt { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; padding-top: 12px; border-top: 1px solid var(--lp-linha); }
.idv-passo__txt b { display: block; font-size: 15px; }
.idv-passo__txt > div > span { display: block; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-marcador { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 4px; background: var(--lp-tacha); color: #121315;
                font: 700 12px/1 var(--mv-familia-mono); font-variant-numeric: tabular-nums; }
.idv-quadro { display: flex; flex-direction: column; margin: 0; border-top: 1px solid var(--lp-texto); }
.idv-quadro div { display: grid; grid-template-columns: minmax(110px, .7fr) minmax(0, 1.3fr); gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--lp-linha); font-size: 14px; }
.idv-quadro dt { color: var(--lp-texto-2); }
.idv-quadro dd { margin: 0; }
.idv-quadro--mono dd { font-family: var(--mv-familia-mono); font-size: 13px; }
.idv-tabela { display: flex; flex-direction: column; margin-top: 28px; border-top: 1px solid var(--lp-texto); }
.idv-tabela > div { display: grid; grid-template-columns: 140px 120px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--lp-linha); font-size: 15px; color: var(--lp-texto-2); }
.idv-tabela b { color: var(--lp-texto); }
.idv-tabela__cab { font-size: 12px !important; font-weight: 600; }
.idv-tabela--escala > div { grid-template-columns: 120px 150px 64px 130px minmax(0, 1fr); }
.idv-tabela--usos > div { grid-template-columns: 160px 150px minmax(0, 1fr); }
.idv-tabela--tokens > div { grid-template-columns: 230px 240px minmax(0, 1fr); }
.idv-tabela--voz > div { grid-template-columns: 200px minmax(0, 1fr) minmax(0, 1fr); }
.idv-voz__bom { color: var(--lp-texto); font-size: 17px; }
.idv-mono { font-family: var(--mv-familia-mono); font-size: 13px; }
.idv-letras__abas { display: inline-flex; gap: 4px; margin: 0 0 28px; padding: 4px; border: 0; border-radius: 999px; background: var(--lp-palco); box-shadow: inset 0 0 0 1px var(--lp-linha); }
.idv-letras__abas input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
.idv-letras__abas label { display: grid; place-items: center; min-width: 64px; height: 44px; padding: 0 18px; border-radius: 999px; color: var(--lp-texto-2); cursor: pointer;
                          font: 800 22px/1 var(--mv-familia-display); font-stretch: 125%; transition: color .2s ease, background-color .3s ease; }
.idv-letras__abas input:checked + label { background: var(--lp-botao); color: var(--lp-sobre-botao); }
.idv-letras__abas input:focus-visible + label { outline: 2px solid var(--lp-texto); outline-offset: 2px; }
.idv-letras:has(#idv-l-m:checked) .idv-letra:not([data-l="m"]), .idv-letras:has(#idv-l-u:checked) .idv-letra:not([data-l="u"]),
.idv-letras:has(#idv-l-n:checked) .idv-letra:not([data-l="n"]), .idv-letras:has(#idv-l-a:checked) .idv-letra:not([data-l="a"]) { display: none; }
.idv-letra { animation: lp-sobe .6s var(--lp-curva) both; }
.idv-letra__topo { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.idv-letra__lado { display: flex; flex-direction: column; gap: 22px; }
.idv-letra__intro { margin: 0; font-size: 18px; line-height: 1.5; }
.idv-detalhes { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.idv-detalhes li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; }
.idv-detalhes p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--lp-texto-2); }
.idv-detalhes b { color: var(--lp-texto); font-weight: 600; }
.idv-versoes { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 24px 20px; }
.idv-versao { grid-column: span 2; display: flex; flex-direction: column; gap: 12px; margin: 0; min-width: 0; }
.idv-versao--grande { grid-column: span 10; }
.idv-versao--grande:nth-child(2), .idv-versao--grande:nth-child(3) { grid-column: span 5; }
.idv-versao--grande:first-child { grid-column: span 10; }
.idv-versao__fundo { display: grid; place-items: center; min-height: 128px; padding: 24px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .22); overflow: hidden; }
.idv-versao--grande .idv-versao__fundo { min-height: 200px; }
.idv-versao__fundo img { display: block; width: min(320px, 86%); height: auto; }
.idv-versao figcaption, .idv-caso figcaption { display: flex; flex-direction: column; gap: 3px; font-size: 14px; line-height: 1.45; color: var(--lp-texto-2); }
.idv-versao figcaption b { color: var(--lp-texto); font-size: 15px; }
.idv-versao code { font: 400 12px/1.4 var(--mv-familia-mono); color: var(--lp-texto-2); opacity: .8; }
.idv-simbolos { display: grid; grid-template-columns: 160px 160px minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 28px; }
.idv-simbolos .idv-versao__fundo { min-height: 100px; }
.idv-simbolos img { width: 64px; }
.idv-simbolos p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-simbolos b { color: var(--lp-texto); }
.idv-palco--reducao { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 18px 28px; }
.idv-reducao__linha { display: grid; grid-template-columns: 70px minmax(0, 1fr); align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid rgba(244, 241, 234, .1); color: #8A8E96;
                      font: 400 13px/1 var(--mv-familia-mono); }
.idv-reducao__linha:last-child { border-bottom: 0; }
.idv-reducao__linha img { max-width: none; }
.idv-casos, .idv-erros { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px 18px; }
.idv-erros { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.idv-caso { display: flex; flex-direction: column; gap: 10px; margin: 0; min-width: 0; }
.idv-caso .idv-versao__fundo { min-height: 116px; padding: 18px; }
.idv-caso .idv-versao__fundo img { width: min(220px, 84%); }
.idv-versao__fundo--erro { min-height: 150px !important; }
.idv-sinal { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; }
.idv-sinal .mv-icone { width: 14px; height: 14px; }
.idv-sinal--sim { color: var(--lp-ok); }
.idv-sinal--nao { color: var(--lp-erro); }
.idv-cores { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.idv-cor { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.idv-cor__amostra { display: flex; flex-direction: column; justify-content: space-between; min-height: 200px; padding: 20px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .22); }
.idv-cor__amostra b { font: 700 24px/1 var(--mv-familia-display); font-stretch: 125%; }
.idv-cor__amostra span { font: 500 14px/1 var(--mv-familia-mono); opacity: .82; }
.idv-cor p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-copia { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; min-height: 36px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--lp-palco);
             color: var(--lp-texto); font: 500 13px/1 var(--mv-familia-texto); box-shadow: inset 0 0 0 1px var(--lp-linha); cursor: pointer; }
.idv-copia:hover { box-shadow: inset 0 0 0 1px var(--lp-texto-2); }
.idv-copia .mv-icone { width: 15px; height: 15px; }
.idv-apoio { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--lp-linha); }
.idv-cor--apoio { gap: 8px; font-size: 14px; }
.idv-cor--apoio .idv-cor__amostra { min-height: 72px; padding: 0; border-radius: 8px; }
.idv-cor--apoio span { color: var(--lp-texto-2); line-height: 1.5; }
.idv-proporcao { display: flex; flex-direction: column; gap: 12px; margin-top: 36px; }
.idv-proporcao__barra { display: flex; height: 26px; overflow: hidden; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .3); }
.idv-proporcao p { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 10px 0 0; font: 400 13px/1.4 var(--mv-familia-mono); color: var(--lp-texto-2); }
.idv-fams { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.idv-fam { display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 8px; background: var(--lp-palco); }
.idv-fam__aa { font-size: 96px; line-height: 1; }
.idv-fam b { font-size: 19px; }
.idv-fam p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-fam__amostra { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--lp-linha); font-size: 17px; line-height: 1.5; }
.idv-fam--display .idv-fam__aa, .idv-fam--display .idv-fam__amostra { font-family: var(--mv-familia-display); font-stretch: 125%; font-weight: 800; }
.idv-fam--display .idv-fam__amostra { font-size: 22px; font-weight: 700; line-height: 1.2; }
.idv-fam--texto .idv-fam__aa { font-family: var(--mv-familia-texto); font-weight: 700; }
.idv-fam--mono .idv-fam__aa, .idv-fam--mono .idv-fam__amostra { font-family: var(--mv-familia-mono); font-weight: 500; }
.idv-fam--mono .idv-fam__amostra { font-size: 15px; }
.idv-icones { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.idv-palco--icones { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 28px; padding: 44px; background: #25272C; }
.idv-icone--g { width: 200px !important; }
.idv-icone--m { width: 88px !important; }
.idv-fav--48 { width: 48px !important; } .idv-fav--32 { width: 32px !important; } .idv-fav--16 { width: 16px !important; image-rendering: pixelated; }
.idv-faixa { display: flex; gap: 0; align-items: center; height: 72px; padding: 0 24px; border-radius: 8px; background: #121315; }
.idv-faixa span { flex: 1; height: 6px; }
.idv-faixa span.cheio { background: #F4F1EA; }
.idv-temas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.idv-temas--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 20px; }
.idv-mini { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 8px; box-shadow: inset 0 0 0 1px var(--mv-borda); }
.idv-mini__cab { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--mv-texto); }
.idv-mini__linha { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.idv-mini .mv-prazo-b { min-width: 150px; }
.idv-comps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.idv-comp { display: flex; flex-direction: column; gap: 12px; margin: 0; min-width: 0; }
.idv-comp__palco { display: flex; flex-direction: column; justify-content: center; min-height: 168px; padding: 26px; border-radius: 8px; background: var(--lp-palco); }
.idv-comp__palco .mv { background: transparent; }
.idv-comp figcaption { font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-comp figcaption b { display: block; color: var(--lp-texto); font-size: 15px; }
.idv-comp__fila { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.idv-comp__prazos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
.idv-comp__prazos .mv-prazo-b { min-width: 0; width: 100%; display: flex; }
.idv-telas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
.idv-tela { display: flex; flex-direction: column; margin: 0; min-width: 0; }
.idv-tela--grande { grid-column: 1 / -1; }
.idv-navegador { display: flex; gap: 6px; padding: 12px 14px; border-radius: 8px 8px 0 0; background: var(--lp-palco); box-shadow: inset 0 0 0 1px var(--lp-linha); }
.idv-navegador span { width: 10px; height: 10px; border-radius: 50%; background: var(--lp-linha); }
.idv-tela img { display: block; width: 100%; height: auto; border-radius: 0 0 8px 8px; box-shadow: 0 0 0 1px var(--lp-linha); }
.idv-tela figcaption, .idv-celular figcaption { margin-top: 12px; font-size: 14px; color: var(--lp-texto-2); }
.idv-celulares { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.idv-celular { display: flex; flex-direction: column; align-items: center; margin: 0; min-width: 0; text-align: center; }
.idv-celular__moldura { width: min(260px, 100%); padding: 10px; border-radius: 40px; background: #0B0B0C; box-shadow: 0 0 0 1px var(--lp-linha), 0 30px 60px rgba(0, 0, 0, .35); }
.idv-celular__moldura img { display: block; width: 100%; height: auto; border-radius: 30px; }
/* menu flutuante: três celulares e as regras ao lado */
.idv-flutuante { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.idv-celulares--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
/* a demonstração passo a passo: o texto à esquerda, as telas à direita */
.idv-fluxo { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--lp-texto); }
.idv-fluxo__passo { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 48px; padding: 40px 0; border-bottom: 1px solid var(--lp-linha); }
.idv-fluxo__texto { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.idv-fluxo__texto b { margin-top: 4px; font-size: 17px; line-height: 1.3; }
.idv-fluxo__texto p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--lp-texto-2); }
.idv-fluxo__fotos { display: flex; align-items: flex-start; gap: 24px; min-width: 0; }
.idv-fluxo__fotos .idv-tela { flex: 1 1 0; }
.idv-fluxo__fotos .idv-celular { flex: 0 0 168px; }
/* catálogo de erros e as regras */
.idv-tabela--erros { margin-top: 48px; }
.idv-tabela--erros > div { grid-template-columns: 200px 200px minmax(0, 1fr) 96px; font-size: 14px; }
.idv-tabela--erros > div > * { min-width: 0; overflow-wrap: anywhere; }
.idv-tabela__cod { font: 500 13px/1.5 var(--mv-familia-mono); color: var(--lp-texto); }
.idv-pontos--2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 40px; margin-top: 36px; }
/* estados do site: as quatro telas e o celular ao lado */
.idv-site-estados { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 32px; align-items: start; }
/* cores de estado e contraste */
.idv-estados-cor { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.idv-estado-cor { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.idv-estado-cor__amostra { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 0 16px; border: 1px solid; border-radius: 8px; }
.idv-estado-cor__amostra .mv-icone { width: 20px; height: 20px; }
.idv-estado-cor .mv { background: none; }
.idv-estado-cor p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-estado-cor .idv-mono { font-size: 12px; color: var(--lp-texto-2); }
.idv-tabela--contraste > div { grid-template-columns: 56px minmax(0, 1fr) 96px 150px; align-items: center; }
.idv-aa { display: grid; place-items: center; width: 44px; height: 32px; border-radius: 8px; box-shadow: inset 0 0 0 1px rgba(128, 128, 128, .25); font: 700 15px/1 var(--mv-familia-texto); }
.idv-tabela__fraco { font-size: 13px; color: var(--lp-texto-2); }
.idv-selo { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font: 600 12px/1 var(--mv-familia-mono); white-space: nowrap; }
.idv-selo--ok { background: color-mix(in srgb, var(--lp-ok) 18%, transparent); color: var(--lp-ok); }
.idv-selo--meio { background: color-mix(in srgb, var(--idv-acento) 18%, transparent); color: var(--idv-acento); }
.idv-selo--nao { background: var(--lp-erro-fundo); color: var(--lp-erro); }
/* grade, espaços e formas */
.idv-esquemas { display: grid; grid-template-columns: 1.3fr 1.3fr .7fr; gap: 20px; align-items: end; }
.idv-esquema { display: flex; flex-direction: column; gap: 12px; margin: 0; min-width: 0; }
.idv-esquema figcaption { display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.5; color: var(--lp-texto-2); }
.idv-esquema figcaption b { color: var(--lp-texto); font-size: 15px; }
.idv-esquema__tela { display: grid; gap: 6px; padding: 8px; border: 1px solid var(--lp-linha); border-radius: 8px; background: var(--lp-palco); }
.idv-esquema__tela i { display: grid; place-items: center; min-width: 0; border-radius: 6px; background: color-mix(in srgb, var(--lp-texto) 8%, transparent); color: var(--lp-texto-2);
                       font: 500 11px/1.2 var(--mv-familia-mono); font-style: normal; text-align: center; }
.idv-esquema__tela--painel { grid-template: 18px 1fr / 64px 1fr 72px; height: 200px; }
.idv-esquema__tela--painel .idv-esq-menu { grid-row: 1 / 3; background: color-mix(in srgb, var(--idv-acento) 22%, transparent); }
.idv-esquema__tela--painel .idv-esq-barra { grid-column: 2 / 4; }
.idv-esquema__tela--portal { grid-template-rows: 30px 1fr; height: 200px; }
.idv-esquema__tela--portal .idv-esq-miolo { margin: 0 14%; background: color-mix(in srgb, var(--idv-acento) 22%, transparent); }
.idv-esquema__tela--cel { grid-template-rows: 26px 1fr; width: 112px; height: 200px; justify-self: center; border-radius: 18px; }
.idv-esquema__tela--cel .idv-esq-cartao { border-radius: 8px; background: color-mix(in srgb, var(--idv-acento) 22%, transparent); }
.idv-espacos { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 18px; margin-bottom: 28px; }
.idv-espaco { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.idv-espaco i { display: block; min-width: 2px; min-height: 2px; border-radius: 2px; background: var(--idv-acento); }
.idv-espaco b { font-size: 13px; }
.idv-espaco span { font-size: 11px; color: var(--lp-texto-2); }
.idv-formas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.idv-formas--sombra { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.idv-forma { display: flex; flex-direction: column; gap: 12px; margin: 0; min-width: 0; }
.idv-forma i { display: block; height: 96px; border: 1px solid var(--lp-linha); background: var(--lp-palco); }
.idv-formas--sombra .idv-forma i { margin: 8px; border-color: transparent; border-radius: 8px; background: #FFFFFF; }
.idv-forma figcaption { display: flex; flex-direction: column; gap: 3px; font-size: 13px; line-height: 1.45; color: var(--lp-texto-2); }
.idv-forma figcaption b { color: var(--lp-texto); font-size: 12px; }
/* ícones */
.idv-icones-grade { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--lp-linha); border-radius: 8px; background: var(--lp-linha); }
.idv-icone-amostra { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 8px 14px; background: var(--lp-palco); }
.idv-icone-amostra .mv-icone { width: 24px; height: 24px; }
.idv-icone-amostra span { max-width: 100%; overflow: hidden; font-size: 11px; color: var(--lp-texto-2); white-space: nowrap; text-overflow: ellipsis; }
.idv-tamanhos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.idv-tamanho { display: flex; flex-direction: column; gap: 6px; padding: 16px; border: 1px solid var(--lp-linha); border-radius: 8px; background: var(--lp-palco); }
.idv-tamanho > span:first-child { display: grid; place-items: center; height: 44px !important; width: auto !important; }
.idv-tamanho:nth-child(1) .mv-icone { width: 16px; height: 16px; }
.idv-tamanho:nth-child(2) .mv-icone { width: 20px; height: 20px; }
.idv-tamanho:nth-child(3) .mv-icone, .idv-tamanho:nth-child(4) .mv-icone { width: 24px; height: 24px; }
.idv-tamanho:nth-child(4) > span:first-child { width: 44px !important; margin: 0 auto; border-radius: 10px; box-shadow: inset 0 0 0 1.5px var(--idv-acento); }
.idv-tamanho b { font-size: 13px; text-align: center; }
.idv-tamanho > span:last-child { font-size: 13px; line-height: 1.4; color: var(--lp-texto-2); text-align: center; }
.idv-og img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 0 0 1px var(--lp-linha); }
/* teclado, foco e o palco claro */
.idv-palco--claro { background: #FAF8F4; box-shadow: inset 0 0 0 1px var(--lp-linha); }
.idv-foco-amostra { outline: 2px solid #1C2E5C; outline-offset: 2px; }
.idv-teclas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; align-content: start; }
.idv-teclas div { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--lp-texto-2); }
.idv-teclas kbd { flex: none; display: grid; place-items: center; min-width: 40px; height: 36px; padding: 0 10px; border: 1px solid var(--lp-linha); border-bottom-width: 3px; border-radius: 8px;
                  background: var(--lp-palco); color: var(--lp-texto); font: 600 14px/1 var(--mv-familia-mono); }
.idv-grade-2--topo { margin-top: 0; }
.idv-arquivos { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.idv-arquivos ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; width: 100%; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--lp-texto); }
.idv-arquivos li a { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--lp-linha); color: var(--lp-texto);
                     text-decoration: none; }
.idv-arquivos li a:hover b { text-decoration: underline; text-underline-offset: .18em; }
.idv-arquivos li .mv-icone { width: 20px; height: 20px; color: var(--lp-texto-2); }
.idv-arquivos li span { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--lp-texto-2); }
.idv-arquivos li b { font: 500 14px/1.4 var(--mv-familia-mono); color: var(--lp-texto); }
@container lp (max-width: 1080px) {
  .idv-corpo { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .idv-sumario { position: static; max-height: none; overflow: visible; padding: 0; }
  .idv-sum__dobra { border: 1px solid var(--lp-borda-forte); border-radius: 4px; background: var(--lp-palco); }
  .idv-sum__dobra > summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 14px; cursor: pointer; list-style: none;
                              font: 600 15px/1 var(--mv-familia-texto); color: var(--lp-texto); }
  .idv-sum__dobra > summary::-webkit-details-marker { display: none; }
  .idv-sum__dobra > summary::after { content: ""; width: 7px; height: 7px; margin: 0 4px 4px 0; border-right: 1.5px solid var(--lp-texto-2); border-bottom: 1.5px solid var(--lp-texto-2);
                                     transform: rotate(45deg); transition: transform .2s ease; }
  .idv-sum__dobra[open] > summary::after { margin-bottom: 0; transform: rotate(-135deg); }
  .idv-sum__dobra[open] > summary { border-bottom: 1px solid var(--lp-linha); }
  .idv-sum__dobra .idv-sumario__rotulo { display: none; }
  .idv-sum__lista { padding: 0 8px 10px; }
  .idv-sumario__pe { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
}
@container lp (max-width: 980px) {
  .idv-dupla, .idv-dupla--larga, .idv-letra__topo, .idv-icones { grid-template-columns: minmax(0, 1fr); }
  .idv-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idv-casos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idv-cores, .idv-celulares { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idv-apoio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idv-fams, .idv-pontos--grade, .idv-temas--3, .idv-flutuante, .idv-site-estados, .idv-pontos--2 { grid-template-columns: minmax(0, 1fr); }
  .idv-cartoes { grid-template-columns: minmax(0, 1fr); }
  .idv-estados-cor { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idv-formas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idv-capa { grid-template-columns: minmax(0, 1fr); }
  .idv-capa__estrada { display: none; }
  .idv-fluxo__passo { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .idv-tabela--erros > div { grid-template-columns: 170px minmax(0, 1fr) 80px; }
  .idv-tabela--erros > div > :nth-child(2) { display: none; }
  .idv-site-estados > .idv-celular { justify-self: center; width: min(260px, 100%); }
  .idv-versao { grid-column: span 5; }
}
@container lp (max-width: 600px) {
  .idv-corpo { padding: 20px 16px 96px; }
  .idv-capa { padding: 32px 24px 28px; border-radius: 8px; }
  .idv-capa__lead { font-size: 16px; }
  .idv-sec { padding-top: 72px; }
  .idv-sec__intro { font-size: 16px; }
  .idv-sub { padding-top: 44px; }
  .idv-mapa, .idv-cartoes, .idv-cartoes--2, .idv-esquemas, .idv-teclas { grid-template-columns: minmax(0, 1fr); }
  .idv-esquema__tela--cel { justify-self: start; }
  .idv-icones-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .idv-tamanhos, .idv-formas, .idv-formas--sombra, .idv-estados-cor { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idv-tabela--contraste > div { grid-template-columns: 52px minmax(0, 1fr) 84px; }
  .idv-tabela--contraste > div > :nth-child(4) { grid-column: 2 / -1; }
  .idv-tabela--escala > div { grid-template-columns: 110px minmax(0, 1fr); }
  .idv-tabela--usos > div, .idv-tabela--tokens > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .idv-tabela--usos > div > :nth-child(3), .idv-tabela--tokens > div > :nth-child(3) { grid-column: 1 / -1; }
  .idv-tabela--escala > div > :nth-child(n+3) { grid-column: 2; }
  .idv-topo { right: 16px; bottom: 16px; }
  .idv-palco { padding: 22px; border-radius: 8px; }
  .idv-passos, .idv-grade-2, .idv-grade-3, .idv-temas, .idv-comps, .idv-telas, .idv-arquivos ul, .idv-erros { grid-template-columns: minmax(0, 1fr); }
  .idv-casos, .idv-celulares, .idv-cores { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .idv-fluxo__fotos { flex-wrap: wrap; }
  .idv-fluxo__fotos .idv-tela { flex-basis: 100%; }
  .idv-fluxo__fotos .idv-celular { flex: 1 1 calc(50% - 12px); }
  .idv-tabela--erros > div { grid-template-columns: minmax(0, 1fr) 72px; }
  .idv-tabela--erros > div > :nth-child(3) { grid-column: 1 / -1; grid-row: 2; }
  .idv-apoio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idv-versoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idv-versao, .idv-versao--grande:nth-child(2), .idv-versao--grande:nth-child(3) { grid-column: span 1; }
  .idv-versao--grande:first-child { grid-column: 1 / -1; }
  .idv-simbolos { grid-template-columns: 1fr 1fr; }
  .idv-simbolos p { grid-column: 1 / -1; }
  .idv-unidade { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .idv-unidade__1u { font-size: 72px; }
  .idv-tabela > div, .idv-tabela--escala > div, .idv-tabela--voz > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .idv-tabela__cab { display: none !important; }
  .idv-cor__amostra { min-height: 140px; }
  .idv-fam__aa { font-size: 64px; }
  .idv-reducao__linha img { max-width: 100%; }
}

/* larguras */
@container lp (max-width: 980px) {
  .lp-nav, .lp-controles > .lp-idiomas, .lp-controles > .lp-tema > label, .lp-controles > .lp-calma > label { display: none; }
  .lp-menu-celular { display: block; }
  .lp-topo { top: 10px; margin: 10px 10px 0; border: 1px solid var(--lp-linha); border-radius: 20px; background: color-mix(in srgb, var(--lp-palco) 88%, transparent);
             box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }
  .lp-topo::after { left: 20px; right: 20px; bottom: -1px; }
  .lp-topo:has(.lp-menu-celular[open]) { border-radius: 20px 20px 0 0; background: var(--lp-palco); -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: none; }
  .lp-topo:has(.lp-menu-celular[open])::after { opacity: 0; }
  .lp-topo .lp-faixa { min-height: 64px; padding: 0 10px 0 20px; gap: 10px; }
  .lp-controles { gap: 8px; }
  .lp-controles > .lp-botao { min-height: 40px; padding: 0 18px; font-size: 14px; }
  .lp-pecas, .lp-demo__inclui { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-demo__caminhos { grid-template-columns: minmax(0, 1fr); max-width: 600px; margin-left: auto; margin-right: auto; }
  .lp-demo__site { grid-template-columns: minmax(0, 1fr); }
  .lp-demo__site-img { min-height: 220px; }
  .lp-demo__site-img img { left: 24px; width: 110%; }
  .lp-palco { --lp-escala: .85; }
  .lp-texto section { grid-template-columns: 200px minmax(0, 1fr); gap: 24px; }
}
@container lp (max-width: 600px) {
  .lp-faixa { padding: 0 20px; }
  .lp-topo .lp-faixa { min-height: 60px; padding: 0 8px 0 18px; gap: 6px; }
  .lp-marca img { width: 100px; }
  .lp-controles > .lp-botao { display: none; }
  .lp-topo .lp-menu-celular__demo { display: inline-flex; }
  .lp-menu-celular__painel { padding: 4px 18px 18px; }
  .lp-menu-celular__secoes a { font-size: 20px; }
  .lp-heroi { padding-top: 64px; }
  .lp-heroi__nome { font-size: 20px; margin-bottom: 14px; }
  .lp-heroi__acoes { flex-direction: column; gap: 4px; }
  .lp-heroi__estrada { height: 220px; margin-top: 44px; }
  .lp-heroi__estrada svg { width: 760px; height: 280px; }
  .lp-placas { gap: 10px; padding-top: 64px; }
  .lp-placa { height: 44px; padding: 0 18px; font-size: 15px; }
  .lp-cap { padding-top: 96px; }
  .lp-palco { min-height: 0; margin-top: 36px; padding: 40px 16px; border-radius: 24px; }
  .lp-palco { --lp-escala: .52; }
  .lp-cores .lp-cor { width: 140px; }
  .lp-pecas, .lp-demo__inclui { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 36px; }
  .lp-peca { min-height: 0; gap: 18px; padding: 24px; border-radius: 22px; }
  .lp-peca__grande { font-size: 28px; }
  .lp-form { grid-template-columns: minmax(0, 1fr); margin-top: 36px; }
  .lp-form .lp-botao { width: 100%; }
  .lp-pagina { padding-top: 64px; }
  .lp-pagina__rotulo { font-size: 18px; }
  .lp-texto { margin-top: 56px; }
  .lp-texto section { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 30px 0; }
  .lp-texto h2 { font-size: 21px; }
  .lp-texto li { font-size: 16px; }
  .lp-demo__cartao { margin-top: 40px; padding: 28px 20px 24px; border-radius: 26px; }
  .lp-demo__inclui-tit { margin-top: 80px; }
  .lp-demo__inclui li, .lp-demo__caminho { padding: 22px; border-radius: 22px; }
  .lp-demo__caminhos { margin-top: 48px; gap: 12px; }
  .lp-demo__caminho .lp-botao, .lp-demo__site-txt .lp-botao { align-self: stretch; }
  .lp-demo__site-txt { padding: 24px 22px 22px; }
  .lp-demo__site-txt b { font-size: 23px; }
  .lp-demo__site-img { min-height: 170px; }
  .lp-nf__caminhos { grid-template-columns: minmax(0, 1fr); margin-top: 40px; }
  .lp-copia { width: 34px; min-height: 34px; padding: 0; justify-content: center; }
  .lp-copia span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .lp-conta div { grid-template-columns: 46px minmax(0, 1fr); }
  .lp-nf__estrada { height: 200px; margin-top: 48px; }
  .lp-form__ok { margin-top: 36px; padding: 32px 20px 28px; }
  .lp-rodape { margin-top: 96px; padding-top: 44px; }
  .lp-construido ul { gap: 14px 22px; }
  .lp-cookies { grid-template-columns: minmax(0, 1fr); gap: 14px; bottom: 12px; width: calc(100% - 24px); padding: 18px; border-radius: 20px; }
  .lp-cookies .lp-botao { width: 100%; }
  .lp-construido__logo { height: calc(var(--h, 28px) * .82); }
}

/* ao rolar: títulos, palcos, peças e textos chegam conforme entram na tela (só onde o navegador tem linha do tempo de rolagem) */
@supports (animation-timeline: view()) {
  .lp-topo::after { animation: lp-progresso linear both; animation-timeline: scroll(root block); }
  .lp-cap .lp-h2, .lp-demo__inclui-tit { animation: lp-revela linear both; animation-timeline: view(); animation-range: entry 10% entry 100%; }
  .lp-cap .lp-frase { animation: lp-revela linear both; animation-timeline: view(); animation-range: entry 25% entry 100%; }
  .lp-palco { animation: lp-palco linear both; animation-timeline: view(); animation-range: entry 0% entry 100%; }
  .lp-palco .lp-zoom { animation: lp-camera linear both; animation-timeline: --palco; animation-range: entry 0% entry 100%; }
  .lp-fila__linha, .lp-menu-close .mv-menu__grupo li { animation: lp-entra linear both; animation-timeline: --palco; animation-range: entry 30% entry 70%; }
  .lp-fila__linha:nth-child(2), .lp-menu-close .mv-menu__grupo li:nth-child(2) { animation-range: entry 40% entry 78%; }
  .lp-fila__linha:nth-child(3), .lp-menu-close .mv-menu__grupo li:nth-child(3) { animation-range: entry 50% entry 86%; }
  .lp-menu-close .mv-menu__grupo li:nth-child(4) { animation-range: entry 58% entry 92%; }
  .lp-menu-close .mv-menu__grupo li:nth-child(5) { animation-range: entry 64% entry 96%; }
  .lp-menu-close .mv-menu__grupo li:nth-child(6) { animation-range: entry 70% entry 100%; }
  .lp-fila .mv-prazo-b__trilho i { transform-origin: 0 50%; animation: lp-enche linear both; animation-timeline: --palco; animation-range: entry 55% entry 100%; }
  .lp-cores > .mv { animation: lp-carta-meio linear both; animation-timeline: --palco; animation-range: entry 25% entry 100%; }
  .lp-cores > .mv:first-child { animation-name: lp-carta-esq; }
  .lp-cores > .mv:last-child { animation-name: lp-carta-dir; }
  .lp-selo .mv-selo__qr { animation: lp-imprime linear both; animation-timeline: --palco; animation-range: entry 35% entry 100%; }
  .lp-peca, .lp-demo__inclui li, .lp-demo__caminho, .lp-texto section, .lp-form { animation: lp-revela-peca linear both; animation-timeline: view(); animation-range: entry 0% entry 100%; }
}
@keyframes lp-progresso { to { transform: scaleX(1); } }
@keyframes lp-revela { from { opacity: 0; translate: 0 52px; filter: blur(8px); } to { opacity: 1; translate: none; filter: blur(0); } }
@keyframes lp-revela-peca { from { opacity: 0; translate: 0 64px; scale: .94; } to { opacity: 1; translate: none; scale: none; } }
@keyframes lp-palco { from { opacity: .15; scale: .84; border-radius: 72px; } to { opacity: 1; scale: none; border-radius: 32px; } }
@keyframes lp-camera { from { scale: 1.22; } to { scale: none; } }
@keyframes lp-entra { from { opacity: 0; translate: 48px 0; } to { opacity: 1; translate: none; } }
@keyframes lp-enche { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes lp-carta-esq { from { translate: 115% 0; rotate: -10deg; opacity: 0; } to { translate: none; rotate: none; opacity: 1; } }
@keyframes lp-carta-dir { from { translate: -115% 0; rotate: 10deg; opacity: 0; } to { translate: none; rotate: none; opacity: 1; } }
@keyframes lp-carta-meio { from { scale: .8; opacity: 0; } to { scale: none; opacity: 1; } }
@keyframes lp-imprime { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0); } }

/* troca de página sem piscar, onde o navegador permite */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .28s ease both lp-vt-sai; }
::view-transition-new(root) { animation: .5s var(--lp-curva, ease) both lp-vt-entra; }
@keyframes lp-vt-sai { to { opacity: 0; } }
@keyframes lp-vt-entra { from { opacity: 0; translate: 0 20px; } }

/* pausa: o botão do topo ou a preferência do aparelho param todo movimento, inclusive as placas e as tachas */
.lp:has(#lp-calmo:checked) *, .lp:has(#lp-calmo:checked) *::before, .lp:has(#lp-calmo:checked) *::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .lp *, .lp *::before, .lp *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  @view-transition { navigation: none; }
}

/* faixa de aviso no topo: fina, texto centrado, sem gradiente/brilho/barra lateral */
.lp-aviso {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: .35rem .75rem;
  font-size: .875rem;
  line-height: 1.4;
  text-align: center;
  background: var(--lp-placa, #1e293b);
  color: var(--lp-sobre-placa, #f8fafc);
}
.lp-aviso--info {
  background: var(--lp-acao-clara, #e0f2fe);
  color: var(--lp-texto, #0f172a);
}
.lp-aviso--atencao {
  background: var(--lp-farol, #facc15);
  color: var(--lp-texto, #0f172a);
}
.lp-aviso__link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .2em;
}
.lp-aviso__link:hover,
.lp-aviso__link:focus-visible {
  opacity: .85;
}

/* campo isca do formulário: fora da tela e invisível para leitores de tela */
.lp-form input[name="site"] {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  aria-hidden: true;
}

/* Fallback sem JS para formulário de contato */
.lp-form__alvo { display: none; }
.lp-form__alvo:target { display: block; }
.lp-form__alvo:target ~ .lp-form { display: none; }
#contato-erro:target ~ .lp-form { display: block; }
.lp-demo__registro { font-size: 14px; opacity: 0.8; margin-top: 12px; display: flex; align-items: flex-start; gap: 8px; }
.lp-demo__registro span { line-height: 1.5; }
.lp-demo__saudacao { font-size: 18px; font-weight: 600; margin-bottom: 16px; }
