/* A tela de inscricao do Circuito In Move - /eventos/circuito-in-move/inscricao/.

   Recomposta em 2026-09-22 sobre a referencia "inmove-tela-de-inscricao":
   cabecalho branco, heroi com as bolhas rosa e lima, cartao escuro do encontro
   com os tres destaques a esquerda, formulario a direita, os quatro selos e a
   faixa de fecho. As regras do FORMULARIO (campos, chips, avisos, erros) sao
   as de antes: o fluxo nao mudou, mudou a moldura.

   Identidade restrita ao escopo `.im-registration`. Os literais sao permitidos
   aqui: sidecar do In Move, fora do `app.css`.

   CONTRASTE. A referencia escreve a manuscrita em lima sobre branco (1,5:1). Aqui
   a manuscrita sobre fundo claro vai em roxo, e o lima fica para o que esta
   sobre o roxo escuro - o mesmo criterio da pagina do evento. */
@font-face {
  font-family: "Yellowtail";
  src: url("../../fonts/yellowtail-latin.5394bcfe7a18.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
.im-registration {
  --im-purple: #7c2495;
  --im-deep: #2c0b35;
  --im-lime: #c6dc5a;
  --im-lime-luz: #d3ff4e;
  --im-pink: #dc6ede;
  --im-pink-luz: #f36bf1;
  --im-paper: #fbf5fc;
  --im-lilas: #f6eef8;
  --im-ink: #140f16;
  --im-muted: #6b5b70;
  --im-line: #e7dce9;
  --cor-texto: var(--im-ink);
  --cor-texto-suave: var(--im-muted);
  --cor-borda-forte: #8c7793;
  --cor-foco: var(--im-purple);
  --cor-erro: #b42318;
  --cor-erro-fundo: #fff4f2;
  --cor-erro-borda: #e5aaa3;
  --marca: var(--im-purple);
  --marca-luz: var(--im-purple);
  /* O token da raiz ja foi calculado com a cor do evento; aqui o botao usa roxo fixo. */
  --marca-ativa: color-mix(in srgb, var(--im-purple) 94%, var(--carvao-950));
  --cor-sobre-marca: #fff;
  color: var(--im-ink);
  background: var(--im-paper);
  color-scheme: light;
  --im-white: #fff;
  --im-on-deep-muted: #d6c4dc;
  --im-on-deep-line: #67496f;
  --im-highlight: #f5eafa;
  --im-hover: #621b76;
  --im-autofill: #f4ecf7;
  --im-shadow: rgb(44 11 53 / 6%);
}
.im-registration *, .im-registration *::before, .im-registration *::after { box-sizing: border-box; }
.im-registration a { color: var(--im-purple); }
.im-registration :focus-visible { outline: 3px solid var(--im-purple); outline-offset: 5px; }
.im-registration .skip-link,
.im-registration .skip-link:hover,
.im-registration .skip-link:focus-visible { color: var(--im-deep); background: var(--im-white); }
.im-reg-container { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.im-script { font-family: "Yellowtail", cursive; font-weight: 400; letter-spacing: normal; }

/* CABECALHO
   Roxo escuro desde 2026-09-23, como o da area privada: o branco sumia contra o
   lilas da pagina (pedido do Lucas). Links em branco, chamada em lima. */
.im-reg-header { position: relative; z-index: 3; background: var(--im-deep); border-bottom: 1px solid var(--im-on-deep-line); }
.im-reg-header__inner { min-height: 84px; display: flex; align-items: center; gap: 32px; }
.im-reg-logo { display: block; flex: none; width: 96px; padding: 8px 0; border-radius: 6px; }
.im-reg-logo .im-wordmark { display: block; width: 100%; height: auto; }
.im-reg-logo img { display: block; width: 100%; height: auto; }
.im-reg-nav { display: flex; flex-wrap: wrap; gap: 4px 28px; margin-inline: auto; }
.im-registration .im-reg-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--im-white); font-size: 15px; font-weight: 500; text-decoration: none; }
.im-registration .im-reg-nav a:hover { color: var(--im-lime-luz); text-decoration: underline; text-underline-offset: 5px; }
.im-registration .im-reg-header__cta { display: inline-flex; align-items: center; gap: 22px; flex: none; min-height: 50px; padding: 12px 24px; border: 1px solid transparent; border-radius: 14px; background: var(--im-lime-luz); color: var(--im-ink); font-size: 15px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; text-decoration: none; }
.im-registration .im-reg-header__cta:hover { background: var(--im-white); color: var(--im-ink); }
.im-reg-header :focus-visible { outline-color: var(--im-lime-luz); }

/* HEROI COM AS BOLHAS */
.im-reg-main { width: 100%; max-width: none; padding: 0 0 72px; margin: 0; }
.im-reg-hero { position: relative; isolation: isolate; overflow: hidden; padding-block: 44px 24px; }
.im-reg-blob { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.im-reg-blob--rosa { left: -6%; top: -30%; width: 34vw; height: 34vw; max-width: 520px; max-height: 520px; background: var(--im-pink-luz); opacity: .9; }
.im-reg-blob--lima { left: 34%; top: 40%; width: 24vw; height: 24vw; max-width: 380px; max-height: 380px; background: var(--im-lime-luz); }
.im-reg-blob--rosa-2 { right: -4%; top: -20%; width: 26vw; height: 26vw; max-width: 400px; max-height: 400px; background: var(--im-pink-luz); opacity: .85; }
.im-reg-blob--lima-2 { right: 18%; top: -18%; width: 14vw; height: 14vw; max-width: 220px; max-height: 220px; background: var(--im-lime-luz); }
.im-reg-hero__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) auto minmax(0, .9fr); align-items: start; gap: 24px; }
.im-reg-hero__copy { width: fit-content; max-width: 30rem; padding: 44px 52px 40px; border-radius: 44px 72px 56px 64px / 52px 44px 68px 48px; background: var(--im-purple); color: var(--im-white); }
.im-reg-hero__copy h1 { margin: 0; font-size: clamp(32px, 3.4vw, 46px); line-height: 1.05; letter-spacing: -.035em; font-weight: 800; }
.im-reg-hero__lead { margin: 10px 0 0; color: var(--im-lime-luz); font-size: clamp(22px, 2.4vw, 32px); font-weight: 700; line-height: 1.1; letter-spacing: -.03em; }
.im-reg-hero__slogan { margin: 14px 0 0; font-size: 15px; }
.im-reg-hero__script { align-self: start; margin: 12px 0 0; color: var(--im-purple); font-size: clamp(26px, 2.6vw, 34px); line-height: 1.05; text-align: center; rotate: -10deg; }
.im-reg-hero__aside { display: grid; justify-items: end; gap: 28px; }
/* Pilula branca OPACA: sobre a bolha rosa, o roxo do hover ficava em 4,2:1
   (o axe mede contra o fundo misturado). No branco, o roxo escuro do hover
   fecha 9,9:1. */
.im-registration .im-reg-back { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding: 4px 12px; border-radius: 10px; background: var(--im-white); color: var(--im-deep); font-size: 14px; font-weight: 600; text-decoration: none; }
.im-reg-back span { font-size: 22px; }
.im-registration .im-reg-back:hover { color: var(--im-hover); text-decoration: underline; text-underline-offset: 5px; }
/* Em `--im-deep`, e nao no roxo: sobre a bolha rosa o roxo fica em 3,6:1. */
.im-reg-hero__words { margin: 0; color: var(--im-deep); font-family: var(--fonte-mono); font-size: 14px; font-weight: 700; letter-spacing: .08em; line-height: 1.5; text-align: left; text-transform: uppercase; }

/* A GRADE: O CARTAO E O FORMULARIO */
.im-reg-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 340px minmax(0, 1fr); align-items: start; gap: 24px; margin-top: -8px; }
.im-reg-aside { display: grid; gap: 28px; }
.im-reg-summary { background: var(--im-deep); color: var(--im-white); border-radius: 20px; padding: 28px; border: 2px solid var(--im-purple); overflow: hidden; }
.im-reg-summary__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: var(--im-lime-luz); }
.im-reg-label { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.im-reg-summary h2 { margin: 12px 0 22px; color: var(--im-white); font-size: 27px; font-weight: 750; line-height: 1.14; letter-spacing: -.025em; }
.im-reg-facts { display: grid; gap: 16px; margin: 0; }
.im-reg-facts > dl { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; margin: 0; }
.im-reg-facts dt { display: contents; color: var(--im-on-deep-muted); font-size: 12px; line-height: 1.4; }
.im-reg-facts dt svg { grid-row: 1 / span 2; width: 24px; height: 24px; fill: none; stroke: var(--im-lime-luz); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.im-reg-facts dd { grid-column: 2; margin: 0; font-size: 15px; font-weight: 550; line-height: 1.5; overflow-wrap: anywhere; }
.im-reg-price { display: grid; gap: 6px; border-top: 1px solid var(--im-on-deep-line); padding-top: 20px; margin-top: 24px; }
.im-reg-price > span { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--im-on-deep-muted); }
.im-reg-price strong { color: var(--im-lime-luz); font-size: 36px; line-height: 1.1; font-weight: 800; letter-spacing: -.04em; }
.im-registration .im-reg-summary__link { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 52px; margin-top: 22px; padding: 12px 20px; border-radius: 12px; background: var(--im-lime-luz); color: var(--im-ink); font-size: 14px; font-weight: 700; text-decoration: none; }
.im-registration .im-reg-summary__link:hover { background: #d9e670; color: var(--im-ink); }
.im-reg-summary :focus-visible { outline-color: var(--im-lime); }
.im-reg-destaques { display: grid; gap: 22px; margin: 0; padding: 0 4px; list-style: none; }
.im-reg-destaques li { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 18px; }
.im-reg-destaques p { margin: 0; color: var(--im-muted); font-size: 14px; line-height: 1.5; }
.im-reg-destaques strong { display: block; color: var(--im-deep); font-size: 15px; }
.im-reg-destaque__icone { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; color: var(--im-purple); }
.im-reg-destaque__icone--rosa { background: var(--im-pink-luz); }
.im-reg-destaque__icone--lima { background: var(--im-lime-luz); }
.im-reg-destaque__icone svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.im-reg-content { min-width: 0; display: grid; gap: 24px; }

/* O CARTAO DO FORMULARIO */
.im-reg-content .cartao { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px 20px; background: var(--im-white); color: var(--im-ink); border: 1px solid var(--im-line); border-radius: 24px; padding: clamp(26px, 3vw, 40px); box-shadow: 0 10px 36px var(--im-shadow); scroll-margin-top: 24px; }
.im-reg-content .cartao > * { grid-column: 1 / -1; }
.im-reg-content .cartao::before, .im-reg-content .cartao::after { content: none; }
.im-reg-content .cartao > h2 { grid-column: 1; color: var(--im-purple); font-size: clamp(24px, 2.2vw, 30px); line-height: 1.2; letter-spacing: -.025em; margin: 0; }
.im-reg-content .cartao > h2 + p.texto-pequeno { grid-column: 2; justify-self: end; margin: 0; padding-left: 28px; color: var(--im-muted); font-size: 14px; font-weight: 600; white-space: nowrap; background: url("../../img/in-move/icone-pessoas.40d368d8814f.svg") left center / 20px 20px no-repeat; }
.im-reg-content .cartao h3 { font-size: 17px; line-height: 1.5; margin: 0 0 8px; }
.im-reg-content .cartao p { margin-block: 0; }
.im-reg-content .cartao.im-reg-status { display: flex; flex-direction: column; min-height: 510px; padding-top: 40px; align-items: flex-start; gap: 0; }
.im-reg-status__icon { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 18px; background: var(--im-highlight); color: var(--im-purple); margin-bottom: 28px; }
.im-registration .im-reg-eyebrow { margin: 0 0 14px; color: var(--im-purple); font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
.im-reg-content .im-reg-status h2 { font-size: clamp(28px, 2.7vw, 36px); max-width: 530px; line-height: 1.15; font-weight: 720; text-wrap: balance; }
.im-reg-content .im-reg-status .im-reg-status__message { margin-top: 22px; max-width: 500px; font-size: 16px; line-height: 1.8; color: var(--im-muted); }
.im-reg-status__actions { width: 100%; border-top: 1px solid var(--im-line); padding-top: 28px; margin-top: 32px; }
.im-registration .botao--principal { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 56px; padding: 15px 23px; background: var(--im-purple); color: var(--im-white); border: 1px solid var(--im-purple); border-radius: 12px; font-size: 16px; line-height: 1.5; font-weight: 700; letter-spacing: 0; text-transform: none; text-decoration: none; box-shadow: none; transform: none; transition: background-color .18s, border-color .18s; }
.im-registration .botao--principal:hover { background: var(--im-hover); border-color: var(--im-hover); }
.im-registration .botao--principal:disabled { cursor: wait; opacity: .65; }
.im-registration form button.botao--principal::after { content: "→"; font-size: 1.2em; line-height: 1; }

/* Os campos em duas colunas, como na referencia: nome e e-mail, telefone e
   nascimento. O que nao e campo simples (a camiseta, os avisos, o botao e a
   nota) atravessa as duas. */
.im-reg-content form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 0 20px; margin-top: 8px; }
.im-reg-content form > :is(fieldset, .aviso, details, button, p) { grid-column: 1 / -1; }
.im-registration .campo { margin-bottom: 20px; }
.im-registration .campo > label, .im-registration .campo__legenda { color: var(--im-deep); font-size: 14px; font-weight: 650; }
.im-registration .campo input:not([type="radio"]):not([type="checkbox"]), .im-registration .campo select, .im-registration .campo textarea { min-height: 50px; padding: 12px 14px; background: var(--im-white); color: var(--im-ink); border: 1px solid var(--cor-borda-forte); border-radius: 10px; font-size: 16px; line-height: 1.5; }
.im-registration .campo input::placeholder, .im-registration .campo textarea::placeholder { color: var(--im-muted); }
.im-registration .campo input:focus, .im-registration .campo select:focus, .im-registration .campo textarea:focus { border-color: var(--im-purple); outline: 2px solid var(--im-purple); outline-offset: 2px; box-shadow: none; }
.im-registration .campo input:autofill, .im-registration .campo input:-webkit-autofill { -webkit-text-fill-color: var(--im-ink); box-shadow: 0 0 0 100px var(--im-autofill) inset; }
.im-registration .campo--invalido input { border-color: var(--cor-erro) !important; }
.im-registration .campo__ajuda, .im-registration .texto-suave { color: var(--im-muted); }
/* O aceite dos Termos, centralizado acima do botao (Lucas, 25/09). */
.im-registration .inscricao-aceite { text-align: center; }
.im-registration .campo__ajuda { font-size: 13px; line-height: 1.6; }
/* As modelagens lado a lado: "Feminino" e "Masculino" como duas colunas de chips. */
.im-registration fieldset.campo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.im-registration fieldset.campo > :is(.campo__ajuda, div, .opcoes) { grid-column: 1 / -1; }
.im-registration fieldset.campo > .modelagem { margin: 4px 0 0; }
.im-registration .opcao { min-width: 56px; min-height: 46px; border-radius: 10px; border-color: var(--cor-borda-forte); color: var(--im-deep); font-weight: 600; }
.im-registration .opcao:hover { background: var(--im-highlight); border-color: var(--im-purple); }
.im-registration .opcao:has(input:checked) { background: var(--im-purple); border-color: var(--im-purple); color: var(--im-white); }
.im-registration .opcao:has(input:focus-visible) { outline: 3px solid var(--im-purple); outline-offset: 3px; }
/* O ingresso (inteira ou meia, 26/09) na pele do In Move: cartao branco, roxo
   no marcado, lilas de fundo. A estrutura e a do `app.css`. */
.im-registration .ingresso__opcao { border-radius: 14px; background: var(--im-white); padding: 16px 20px; }
.im-registration .ingresso__opcao:hover { border-color: var(--im-purple); }
.im-registration .ingresso__opcao:has(input:checked) { border-color: var(--im-purple); box-shadow: inset 0 0 0 1px var(--im-purple); background: var(--im-lilas); }
.im-registration .ingresso__opcao:has(input:checked)::before { border-color: var(--im-purple); }
.im-registration .ingresso__opcao:has(input:focus-visible) { outline: 3px solid var(--im-purple); outline-offset: 3px; }
.im-registration .ingresso__nome { color: var(--im-deep); }
.im-registration .ingresso__valor { color: var(--im-purple); font-size: 19px; }
.im-registration .ingresso__nota { color: var(--im-muted); font-size: 13px; }
.im-registration .ingresso__categoria .campo { margin-bottom: 0; }
.im-registration .aviso { margin-block: 4px 18px; background: var(--im-highlight); color: var(--im-deep); border: 1px solid var(--im-line); border-radius: 12px; padding: 18px 20px; }
.im-registration .aviso--erro { color: var(--cor-erro); background: var(--cor-erro-fundo); border-color: var(--cor-erro-borda); }
.im-registration .aviso--erro:focus { outline: 3px solid var(--cor-erro); outline-offset: 3px; }
.im-registration .aviso::before { content: none; }
.im-registration form > .texto-pequeno:last-child { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; font-size: 13px; line-height: 1.65; }
.im-registration form > .texto-pequeno:last-child::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: 2px; background: url("../../img/in-move/icone-cadeado.b82004181e02.svg") center / contain no-repeat; }
.im-registration .lista-de-numeros__item { background: var(--im-paper); border-color: var(--im-line); }
.im-registration #meia-entrada { font-size: 14px; line-height: 1.7; }
.im-registration #meia-entrada h2 { font-size: 23px; }
.im-registration #meia-entrada h3 { margin-top: 16px; }
.im-reg-content .im-reg-disclosure { display: block; }
.im-reg-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 44px; cursor: pointer; list-style: none; }
.im-reg-disclosure > summary::-webkit-details-marker { display: none; }
.im-reg-content .im-reg-disclosure > summary :is(h2, h3) { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--im-purple); font-size: 16px; line-height: 1.4; }
.im-reg-content .im-reg-disclosure > summary h3::before { content: ""; flex: none; width: 22px; height: 22px; background: url("../../img/in-move/icone-escudo.571d114ea426.svg") center / contain no-repeat; }
.im-reg-disclosure > summary::after { content: "+"; flex: 0 0 auto; color: var(--im-purple); font-size: 26px; line-height: 1; }
.im-reg-disclosure[open] > summary::after { content: "−"; }
.im-reg-disclosure > summary:hover { color: var(--im-hover); }
.im-reg-disclosure__content { display: grid; gap: 16px; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--im-line); }
.im-reg-content > p:last-child { margin: 0; font-size: 14px; }

/* OS SELOS E A FAIXA */
.im-reg-selos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0 8px; list-style: none; }
.im-reg-selos li { display: flex; align-items: center; gap: 12px; color: var(--im-muted); font-size: 13px; line-height: 1.4; }
.im-reg-selos svg { flex: none; width: 30px; height: 30px; fill: none; stroke: var(--im-purple); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.im-reg-faixa { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 22px 32px; border-radius: 22px; background: var(--im-white); border: 1px solid var(--im-line); box-shadow: 0 10px 36px var(--im-shadow); }
.im-reg-faixa__frase { display: flex; align-items: center; gap: 18px; }
.im-reg-faixa__icone { display: grid; place-items: center; flex: none; width: 60px; height: 60px; border-radius: 50%; background: var(--im-lime-luz); color: var(--im-purple); }
.im-reg-faixa__icone svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.im-reg-faixa__frase p { margin: 0; max-width: 22rem; color: var(--im-deep); font-size: 17px; font-weight: 600; line-height: 1.35; }
.im-reg-faixa__frase .im-script { color: var(--im-purple); font-size: 1.5em; font-weight: 400; }
.im-reg-faixa__marca { display: flex; align-items: center; gap: 22px; padding-left: 28px; border-left: 1px solid var(--im-line); }
.im-reg-faixa__marca .im-wordmark { width: 96px; height: auto; flex: none; }
.im-reg-faixa__marca p { margin: 0; color: var(--im-purple); font-family: var(--fonte-mono); font-size: 11px; font-weight: 700; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }

/* REFLUXO */
@media (min-width: 1700px) {
  .im-reg-container { width: min(1360px, calc(100% - 128px)); }
  .im-reg-layout { grid-template-columns: 380px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 1100px) {
  .im-reg-container { width: calc(100% - 48px); }
  .im-reg-hero__inner { grid-template-columns: minmax(0, 1fr) auto; }
  .im-reg-hero__aside { grid-column: 1 / -1; grid-template-columns: 1fr auto; justify-items: start; align-items: center; }
  .im-reg-layout { grid-template-columns: 300px minmax(0, 1fr); gap: 20px; }
  .im-reg-summary { padding: 24px; }
  .im-reg-selos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .im-reg-container { width: calc(100% - 40px); }
  .im-reg-header__inner { flex-wrap: wrap; gap: 8px 16px; padding-block: 10px; min-height: 0; }
  .im-reg-logo { width: 84px; }
  .im-reg-nav { order: 3; width: 100%; gap: 0 18px; }
  .im-registration .im-reg-nav a { font-size: 14px; min-height: 40px; }
  .im-registration .im-reg-header__cta { margin-left: auto; min-height: 44px; padding: 10px 16px; font-size: 14px; }
  .im-reg-main { padding-bottom: 48px; }
  .im-reg-hero { padding-block: 28px 16px; }
  .im-reg-hero__inner { grid-template-columns: minmax(0, 1fr); }
  .im-reg-hero__copy { max-width: none; padding: 32px 28px 28px; border-radius: 28px 40px 36px 30px / 30px 34px 40px 28px; }
  .im-reg-hero__script { justify-self: start; margin: 8px 0 0 12px; text-align: left; rotate: -5deg; }
  .im-reg-hero__aside { grid-template-columns: minmax(0, 1fr); }
  .im-reg-blob--rosa { width: 70vw; height: 70vw; left: -30%; top: -20%; }
  .im-reg-blob--lima { width: 40vw; height: 40vw; left: auto; right: -10%; top: 30%; }
  .im-reg-blob--rosa-2, .im-reg-blob--lima-2 { display: none; }
  .im-reg-layout { display: flex; flex-direction: column; gap: 24px; }
  .im-reg-aside, .im-reg-content, .im-reg-summary { width: 100%; }
  .im-reg-content .cartao { padding: 24px 20px; border-radius: 20px; }
  .im-reg-content .cartao > h2 + p.texto-pequeno { grid-column: 1 / -1; justify-self: start; white-space: normal; }
  .im-reg-content form, .im-registration fieldset.campo { grid-template-columns: minmax(0, 1fr); }
  .im-reg-content .cartao.im-reg-status { min-height: 0; padding: 26px; }
  .im-reg-status__icon { width: 52px; height: 52px; border-radius: 14px; margin-bottom: 24px; }
  .im-reg-content .im-reg-status h2 { font-size: 27px; text-wrap: initial; overflow-wrap: anywhere; }
  .im-reg-content .im-reg-status .im-reg-status__message { font-size: 15px; line-height: 1.75; }
  .im-reg-status__actions { margin-top: 26px; padding-top: 24px; }
  .im-reg-status__actions .botao { width: 100%; gap: 16px; padding-inline: 16px; }
  .im-reg-price { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .im-reg-price strong { font-size: 30px; white-space: nowrap; }
  .im-reg-selos { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .im-reg-faixa { grid-template-columns: minmax(0, 1fr); padding: 22px; }
  .im-reg-faixa__marca { padding-left: 0; padding-top: 18px; border-left: 0; border-top: 1px solid var(--im-line); }
}
@media (prefers-reduced-motion: reduce) {
  .im-registration *, .im-registration *::before, .im-registration *::after { transition: none; animation: none; scroll-behavior: auto; }
}
@media (forced-colors: active) {
  .im-reg-blob { display: none; }
  .im-reg-hero__copy, .im-reg-summary, .im-reg-content .cartao, .im-reg-faixa, .im-reg-destaque__icone, .im-reg-faixa__icone { background: Canvas; color: CanvasText; border: 1px solid CanvasText; }
  .im-reg-hero__lead, .im-reg-price strong, .im-reg-summary__top, .im-reg-hero__script, .im-reg-hero__words { color: CanvasText; }
  .im-registration .im-reg-summary__link, .im-registration .im-reg-header__cta { border: 1px solid ButtonText; color: LinkText; }
}

/* A PAGINA PREENCHE A JANELA (Lucas, 2026-09-25). Em tela alta, a inscricao, a
   area privada e os fluxos por e-mail acabavam antes do fim da janela e
   sobrava uma faixa lilas embaixo do rodape. O corpo vira coluna da altura da
   janela e o `<main>` estica: o rodape fica sempre no fim. */
body.im-registration { display: flex; flex-direction: column; min-height: 100svh; }
body.im-registration > main { flex: 1 0 auto; }
