/* Base do card de cadastro (movida de pages.css para ser autocontida) */
.signup-card__eyebrow-logo{display:block;width:clamp(112px,14vw,150px);height:auto;margin:0 auto}
.forms{padding:110px 20px;display:grid;justify-items:center;background:#f7f7fb}.signup-card{width:min(960px,94vw);min-height:590px;padding:46px 72px 40px;background:#fff;box-shadow:0 20px 64px rgba(25,33,61,.12)}.signup-card__header{text-align:center;margin-bottom:38px}.signup-card__eyebrow{margin:0 0 7px;color:var(--red);font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.signup-card__header h2{margin:0;color:var(--red);font-size:38px;font-weight:400}.signup-card__header>p:last-child{margin:10px auto 0;max-width:560px;color:#6b7280;line-height:1.5}.signup-panels{max-width:650px;min-height:255px;margin:auto}.signup-panel{min-width:0;margin:0;padding:0;border:0;animation:signup-panel-in .45s cubic-bezier(.22,1,.36,1)}.signup-panel[hidden]{display:none}.signup-panel legend{margin:0 0 22px;padding:0;color:#29343d;font-size:22px;font-weight:500}.field{display:grid;gap:7px;margin-bottom:18px}.field[hidden]{display:none}.field label{color:#514f6e;font-size:12px;font-weight:500}.field__control{position:relative}.field input,.field select{width:100%;height:48px;padding:0 44px 0 14px;border:1px solid #cfd4dc;border-radius:8px;outline:0;background:#fff;color:#29343d;font:15px Outfit;transition:border-color .18s,box-shadow .18s,background .18s}.field input::placeholder{color:#98a4ae}.field input:hover,.field select:hover{border-color:#a94a49}.field input:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 4px #f3d6d6}.field__status{position:absolute;right:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);border-radius:50%;opacity:0}.field__message{min-height:15px;color:#98a4ae;font-size:11px}.field.is-filled input,.field.is-filled select{background:#fffafa}.field.is-valid input,.field.is-valid select{border-color:#2fc06f;background:#f4fcf7}.field.is-valid .field__status{opacity:1;background:#2fc06f}.field.is-valid .field__status::after{content:"";position:absolute;left:5px;top:3px;width:5px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.field.is-error input,.field.is-error select{border-color:#ff6692;background:#fff6f8;box-shadow:0 0 0 3px rgba(255,102,146,.13)}.field.is-error .field__message{color:#d82b61}.field.is-error .field__status{opacity:1;background:#ff6692}.field.is-error .field__status::before,.field.is-error .field__status::after{content:"";position:absolute;left:8px;top:4px;width:2px;height:10px;background:#fff}.field.is-error .field__status::before{transform:rotate(45deg)}.field.is-error .field__status::after{transform:rotate(-45deg)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pending-fields{min-height:235px;display:grid;place-content:center;text-align:center;color:#6b7280}.pending-fields>span{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:#f3d6d6;color:var(--red);font-weight:500}.pending-fields h3{margin:0 0 8px;color:#29343d;font-size:24px;font-weight:500}.pending-fields p{max-width:390px;margin:0;line-height:1.5}.signup-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:28px;padding-top:24px;border-top:1px solid #e5e7eb}.signup-actions[hidden]{display:none}.signup-button{min-width:150px;min-height:48px;padding:12px 28px;border-radius:999px;font:500 15px Outfit;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,color .18s}.signup-button:not(:disabled):hover{transform:translateY(-2px)}.signup-button:focus-visible{outline:3px solid #d2ae6d;outline-offset:3px}.signup-button--next{margin-left:auto;border:1px solid var(--red);background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(135,19,18,.18)}.signup-button--next:not(:disabled):hover{background:#7f0f0f;box-shadow:0 12px 28px rgba(135,19,18,.24)}.signup-button--next:disabled{border-color:#d6dae0;background:#e5e7eb;color:#98a4ae;box-shadow:none;cursor:not-allowed}.signup-button--back{border:1px solid var(--red);background:#fff;color:var(--red)}.signup-button--back:hover{background:#fff6f6}.signup-button[hidden]{visibility:hidden}.signup-panel:focus-within legend{color:var(--red)}.signup-legal-note{margin:14px 0 0;color:#98a4ae;font-size:12px;text-align:center}@keyframes signup-panel-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(max-width:767px){.forms{padding:64px 16px}.signup-card{width:100%;min-height:0;padding:32px 20px 24px}.signup-card__header{margin-bottom:30px}.signup-card__header h2{font-size:32px}.signup-panels{min-height:315px}.field-row{grid-template-columns:1fr}.signup-actions{flex-direction:column-reverse;align-items:stretch}.signup-button{min-width:0;width:100%}}
.signup-api-message{max-width:650px;margin:18px auto 0;padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.45;text-align:center}.signup-api-message[hidden]{display:none}.signup-api-message.is-info{border:1px solid #c7d8ef;background:#f3f7fc;color:#35506f}.signup-api-message.is-error{border:1px solid #f3b8c9;background:#fff6f8;color:#a71949}.signup-api-message.is-ticket{position:relative;max-width:610px;margin:-4px auto 30px;padding:13px 18px 13px 48px;border:1px solid #ead5d3;border-radius:10px;background:#fffafa;color:#64413f;font-size:13px;font-weight:400;line-height:1.5;box-shadow:0 6px 18px rgba(135,19,18,.06);text-align:left}.signup-api-message.is-ticket::before{content:"Cadastro localizado";display:block;margin-bottom:2px;color:#8c2522;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.signup-api-message.is-ticket::after{content:"\2713";position:absolute;left:17px;top:16px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#f4dfdd;color:#8c2522;font-size:12px;font-weight:700}
@media(max-width:767px){.signup-api-message.is-ticket{margin:-2px auto 24px;padding:12px 14px 12px 44px}.signup-api-message.is-ticket::after{left:14px;top:15px}}

/* Complementos do cadastro em etapas, preservando a base visual de pages.css. */
.schedule-page{overflow-x:clip}
@media (min-width:768px){
  .forms{padding-top:64px}
}
.store-badge--pending{
  cursor:not-allowed;
  color:#4f5963;
  background:#f7f7fb;
}
.store-badge--pending small{color:#6b7280}
/* Cinema do cadastro: hero + cortina pinados juntos e animados via GSAP
   ScrollTrigger (js/cadastro-cinema.js) — cópia da mecânica real do
   site-tiix (.sched-cinema/.steps-track em js/motion.js): o título do hero
   dá lugar ao título dos passos na mesma célula do grid, o hero encolhe pra
   50vh (piso 380px) enquanto a cortina cresce de 0 até preencher o resto da
   tela, e os passos numerados correm horizontal via xPercent conforme o
   scroll. Em mobile/reduced-motion o pin nem entra: tudo fica estático,
   empilhado. */
.cadastro-cinema{position:relative;overflow:hidden;display:flex;flex-direction:column}
@media (min-width:1024px){
  .cadastro-cinema{height:100vh;height:100svh}
  /* Permite que o CTA da hero atravesse visualmente a divisão e aterrisse
     sobre o CTA do quarto passo sem liberar overflow fora do palco. */
  .audience-hero{z-index:3;overflow:visible}
}

.audience-hero{
  position:relative;
  height:100vh;
  height:100svh;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  background:#fff;
}
.audience-hero__photo{
  flex:0 0 100%;
  overflow:hidden;
  display:flex;
  align-items:center;
  /* Reserva a altura do topbar (108px, overlay transparente) acima da foto —
     sem isso a cabeça das pessoas fica colada/cortada embaixo do header. */
  padding-top:108px;
  transition:flex-basis 1.1s cubic-bezier(.22,1,.36,1);
}
.audience-hero.is-revealed .audience-hero__photo{flex-basis:57%}
/* object-position sobe o enquadramento pra perto do topo: em telas largas e
   baixas (notebook comum, ~1600x870) o corte por altura cortava a cabeça das
   pessoas (o crop de "50% 50%" padrão soma corte igual em cima e embaixo,
   mas os rostos ficam perto do topo da foto original). */
.audience-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
/* no estado encolhido (foto vira 50% de largura, mesma altura) o recorte fica
   bem mais estreito/alto — 15% ainda cortava o topo do gorro. Sobe mais o
   enquadramento só nesse estado (pedido do Lucas 2026-07-28). */
.audience-hero.is-revealed .audience-hero__photo img{object-position:50% 2%}
/* Abertura: zoom de 20% (10% por lado) via transform — não altera a altura do box, então o hero
   permanece fixo em 100vh (não "foge" pra baixo empurrando o conteúdo abaixo dele). */
.audience-hero:not(.is-revealed) .audience-hero__photo img{transform:scale(1.2)}
.audience-hero__content{
  flex:1 1 0;
  min-width:0;
  /* padding-bottom maior que o top (72 vs clamp 56-110): em telas curtas o
     hero encolhido (HERO_COMPACT_MIN em js/cadastro-cinema.js) deixava o
     botão "Criar cadastro" quase colado na cortina vermelha — como o
     conteúdo é centralizado (justify-content:center), aumentar só o
     respiro de baixo empurra o bloco pra cima e garante distância mínima
     da cortina em qualquer altura de viewport. */
  padding:clamp(56px,7vw,110px) clamp(40px,9vw,130px) 72px 64px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
}
.slide-in-left{
  opacity:0;
  transform:translateX(-48px);
  transition:opacity .65s ease,transform .65s cubic-bezier(.22,1,.36,1);
  transition-delay:var(--mo-delay,0ms);
}
.slide-in-left.is-visible{opacity:1;transform:translateX(0)}
@media (prefers-reduced-motion:reduce){
  .audience-hero__photo{transition:none}
  .slide-in-left{transition:none}
}
.audience-choice__eyebrow{
  margin:0 0 12px;
  color:var(--red);
  font-size:13px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
/* Duas h1 (a original e a "dos passos") ocupam a mesma célula do grid —
   o GSAP troca uma pela outra deslizando na mesma linha, mesma fonte. */
.audience-hero__titles{display:grid}
.audience-hero__titles>*{grid-area:1 / 1}
@media (min-width:1024px){
  .audience-choice__eyebrow{margin-bottom:24px}
  .audience-hero__titles{height:151px;margin-bottom:32px;grid-template-rows:151px;align-items:center}
}
.audience-hero__content h1{
  max-width:22ch;
  margin:0;
  color:var(--red);
  font-size:clamp(36px,4vw,52px);
  font-weight:400;
  line-height:1.08;
}
@media (min-width:1024px){
  .audience-hero__content h1{font-size:46px}
  .audience-hero__content #audience-title{font-size:35px}
}
.audience-hero__logo{
  height:1.22em;
  width:auto;
  display:inline-block;
  vertical-align:baseline;
  transform:translateY(.22em);
}
.audience-hero__title--steps{opacity:0;pointer-events:none}
.audience-hero__content>p:not(.audience-choice__eyebrow){
  max-width:46ch;
  margin:18px 0 28px;
  color:var(--red);
  font-size:clamp(19px,1.8vw,22px);
  line-height:1.55;
}
@media (min-width:1024px){.audience-hero__content>p:not(.audience-choice__eyebrow){margin:0 0 28px}}
.audience-hero__content .pill{width:190px;min-width:190px;align-self:flex-start}

/* Cortina do cadastro: em desktop começa com height:0 (o GSAP cresce ela);
   o #signup-form real fica oculto (hidden) até o clique em "Começar" mover
   ele pro overlay modal (ver signup-modal.js). */
.cadastro-curtain{
  position:relative;
  z-index:2;
  padding:56px clamp(24px,6vw,64px);
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--red);
}
@media (min-width:1024px){
  .cadastro-curtain{box-sizing:border-box;overflow:hidden;padding-block:0}
}

.cadastro-explainer{width:100%;color:#fff}
.cadastro-explainer__title{
  max-width:1280px;
  margin:0 auto 8px;
  padding:0 clamp(24px,6vw,152px);
  color:#fff;
  font-size:clamp(24px,2.4vw,30px);
  font-weight:500;
  line-height:1.2;
}
@media (min-width:1024px){
  /* No desktop quem anuncia "quatro etapas" é o título do hero (swap) —
     este título só existe pro fallback estático mobile. */
  .cadastro-explainer__title{display:none}
}
.cadastro-explainer__viewport{overflow:hidden}
.cadastro-explainer__track{
  display:flex;
  will-change:transform;
  list-style:none;
  margin:0;
  padding:0;
}
/* Layout idêntico ao .next-step do site-tiix: grid 1fr 1fr, número enorme e
   fino na coluna esquerda, nome+descrição alinhados à esquerda na direita —
   nada centralizado, nada empilhado (isso só existe no fallback mobile). */
.cadastro-explainer__item{
  position:relative;
  flex:0 0 100%;
  min-width:100%;
  min-height:280px;
  box-sizing:border-box;
}
/* O número fica onde sempre esteve (recuo próprio, independente do texto);
   só o CONTEÚDO (nome+descrição) alinha com a coluna do hero acima — pedido
   do Lucas 2026-07-28: "o alinhamento é só da descrição, o número continua
   onde tava". */
.cadastro-explainer__num{
  position:absolute;
  left:clamp(24px,6vw,152px);
  top:50%;
  transform:translateY(-50%);
  display:block;
  color:#fff;
  opacity:.85;
  font-size:clamp(100px,15vw,220px);
  font-weight:200;
  letter-spacing:-.05em;
  line-height:1.09;
}
.cadastro-explainer__content{
  /* -clamp(24px,6vw,64px) cancela o padding horizontal do próprio
     .cadastro-curtain (que já desloca o item pra dentro) — sem isso o
     conteúdo ficava 64px além do previsto. O eixo começa nos mesmos 57%
     ocupados pela foto da hero; os números mantêm seu recuo independente. */
  margin-left:calc(57vw + 64px - clamp(24px,6vw,64px));
  padding-right:clamp(24px,6vw,152px);
  box-sizing:border-box;
}
.cadastro-explainer__name{margin:0 0 16px;color:#fff;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-1px}
.cadastro-explainer__desc{margin:0;max-width:46ch;color:rgba(255,255,255,.78);font-size:clamp(17px,1.4vw,20px);line-height:1.55}
.cadastro-explainer__item--cta .cadastro-explainer__cta{
  width:176px;
  min-width:176px;
  margin-top:20px;
  border-color:#fff;
  background:transparent;
  color:#fff;
  font-family:inherit;
  font-size:inherit;
}
.cadastro-explainer__item--cta .cadastro-explainer__cta:hover{
  border-color:#fff;
  background:#fff;
  color:var(--red);
}
/* Mesmo formato e largura do "Criar cadastro", com as cores invertidas para
   o fundo vinho da etapa final. */

@media (max-width:1023px){
  .cadastro-explainer__track{flex-direction:column}
  .cadastro-explainer__item{
    min-height:0;
    max-width:100%;
    padding:24px 0;
    border-top:1px solid rgba(255,255,255,.16);
  }
  .cadastro-explainer__item:first-child{border-top:0;padding-top:0}
  .cadastro-explainer__num{
    position:static;
    transform:none;
    font-size:clamp(56px,14vw,88px);
  }
  .cadastro-explainer__content{margin-left:0;padding-right:0}
}
@media (prefers-reduced-motion:reduce){
  .cadastro-explainer__track{flex-direction:column}
}

/* Bloco compacto e secundário: conhecer o site TIIX (paciente), preserva o anchor #baixar */
.app-download{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  padding:72px clamp(40px,9vw,130px);
  background:var(--red);
  overflow:hidden;
}
.app-download__copy{max-width:44ch}
.app-download__eyebrow{
  margin:0 0 8px;
  color:#fff;
  opacity:.78;
  font-size:13px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.app-download__copy h2{
  margin:0 0 26px;
  color:#fff;
  font-size:clamp(22px,2.4vw,28px);
  font-weight:500;
  line-height:1.3;
}
.app-download__cta{
  width:auto;
  border-color:#fff;
  background:#fff;
  color:var(--red);
}
.app-download__cta:hover{background:#f3d6d6}

.device-mock{
  position:relative;
  flex:0 0 auto;
  width:min(460px,46vw);
}
.device-mock__laptop{
  position:relative;
  padding:14px 14px 0;
  border-radius:14px 14px 0 0;
  background:#1c1c1e;
  box-shadow:0 24px 48px rgba(0,0,0,.28);
}
.device-mock__screen{
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:3px;
  background:#000;
  container-type:inline-size;
}
.device-mock__screen img{width:100%;height:100%;object-fit:cover;object-position:top}
.device-mock__screen iframe{
  width:1440px;
  height:900px;
  border:0;
  pointer-events:none;
  transform-origin:top left;
  transform:scale(calc(100cqw / 1440px));
}
.device-mock__base{
  height:14px;
  border-radius:0 0 10px 10px;
  background:linear-gradient(#3a3a3c,#232325);
}
.device-mock__base::after{
  content:"";
  display:block;
  width:26%;
  height:5px;
  margin:0 auto;
  border-radius:0 0 6px 6px;
  background:#141416;
}
@media (max-width:767px){
  .app-download{flex-direction:column;align-items:flex-start;padding:48px 24px}
  .app-download__cta{width:100%;text-align:center}
  .device-mock{width:100%}
}
.field input::placeholder{color:#6b7280}
.field__message{color:#6b7280;font-size:12px;line-height:1.35}
.field input[readonly]{cursor:default}
.field select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#6b7280 50%),linear-gradient(135deg,#6b7280 50%,transparent 50%);
  background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px;
  background-repeat:no-repeat;
  background-size:5px 5px,5px 5px;
}
/* Toggle "olhinho" de mostrar/ocultar senha — empurra o status (check/erro)
   mais pra dentro pra não sobrepor o botão */
.field__control--password input{padding-right:76px}
.field__control--password .field__status{right:47px}
.field__toggle{position:absolute;right:8px;top:50%;width:32px;height:32px;transform:translateY(-50%);display:grid;place-items:center;border:0;border-radius:6px;background:none;color:#6b7280;cursor:pointer;transition:color .18s,background .18s}
.field__toggle:hover{color:#29343d;background:#f1f2f5}
.field__toggle:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.field__toggle-icon{width:20px;height:20px}
.field__toggle-icon[hidden]{display:none}
.field--consent{margin-top:8px}
.signup-consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:#29343d!important;
  font-size:14px!important;
  line-height:1.45;
  cursor:pointer;
}
.signup-consent input{
  width:22px;
  height:22px;
  min-width:22px;
  margin:0;
  padding:0;
  accent-color:var(--red);
}
.field--consent.is-error .signup-consent{color:#b4234c!important}
.signup-result{
  min-height:430px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  text-align:center;
}
.signup-result:focus{outline:0}
.signup-result[hidden]{display:none}
.signup-result>span{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#2fc06f;
  font-size:30px;
}
.signup-result h3{margin:8px 0 0;color:var(--red);font-size:34px;font-weight:500}
.signup-result p{max-width:560px;margin:0;color:#5f6872;font-size:16px;line-height:1.55}
.signup-ticket-redirect{width:min(520px,100%);margin-top:8px;padding:16px 18px;border:1px solid #ead5d3;border-radius:14px;background:#fffafa;color:#5f6872}
.signup-ticket-redirect[hidden]{display:none}
.signup-ticket-redirect p{font-size:14px}
.signup-ticket-redirect strong{display:inline-grid;min-width:28px;min-height:28px;margin:0 3px;place-items:center;border-radius:50%;background:#871312;color:#fff;font-size:14px;font-weight:600}
.signup-ticket-redirect a{display:inline-flex;margin-top:12px;color:#871312;font-size:14px;font-weight:600;text-decoration:none;text-underline-offset:3px}
.signup-ticket-redirect a:hover{text-decoration:underline}
.signup-ticket-redirect a:focus-visible{outline:3px solid #d2ae6d;outline-offset:3px;border-radius:3px}
/* Confirmação "Cadastro concluído" como popup sobre a página (entra com delay via JS) */
/* (o JS move o .signup-result pro <body> ao abrir — clip-path/transform da
   cortina e do GSAP quebram position:fixed de descendentes) */
.signup-result.is-popup{position:fixed;inset:0;z-index:140;min-height:0;padding:24px;display:grid;place-items:center;background:rgba(24,8,8,.55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:signup-popup-backdrop .3s ease;font-family:Outfit,sans-serif}
.signup-result__box{display:grid;place-items:center;gap:14px;width:min(720px,100%);max-height:min(92vh,92dvh);overflow-y:auto;overscroll-behavior:contain;padding:46px 40px;border-radius:24px;background:#fff;box-shadow:0 20px 64px rgba(25,33,61,.25);animation:signup-fade-up .45s cubic-bezier(.22,1,.36,1)}
@keyframes signup-popup-backdrop{from{opacity:0}to{opacity:1}}
@media (max-width:767px){.signup-result.is-popup{padding:12px}.signup-result__box{padding:32px 20px}}
@media (prefers-reduced-motion:reduce){.signup-result.is-popup,.signup-result__box{animation:none}}

.signup-card.is-complete>.signup-card__header,
.signup-card.is-complete>.signup-panels,
.signup-card.is-complete>.signup-actions,
.signup-card.is-complete>.signup-legal-note{display:none}

/* Etapa 0 — escolha minimalista entre cadastro profissional × empresa */
.account-type-choice{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}
.account-type-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:132px;padding:28px 20px;border:1px solid #d7dce3;border-radius:16px;background:#fff;color:#29343d;text-align:center;cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}
.account-type-option strong{font-size:18px;font-weight:600}
.account-type-option small{color:#6b7280;font-size:13px}
.account-type-option:hover{border-color:#a94a49;transform:translateY(-2px)}
.account-type-option:focus-visible{outline:3px solid #d2ae6d;outline-offset:2px}
.account-type-option.is-selected{border-color:var(--red);background:#fff6f6;box-shadow:0 0 0 4px #f3d6d6}
.signup-note{margin:-6px 0 18px;color:#6b7280;font-size:13px;line-height:1.5}

@media (max-width:767px){
  .audience-hero{position:static;flex-direction:column;height:auto}
  .audience-hero.is-compact{height:auto}
  .audience-hero__photo,.audience-hero.is-revealed .audience-hero__photo{flex-basis:auto;height:52vh;min-height:340px;padding:82px 0 0}
  .audience-hero__photo img{border-radius:0}
  .audience-hero__content{padding:44px 24px 54px;text-align:center}
  .audience-hero__content .pill{top:auto;width:100%}
  .cadastro-explainer__item--cta .cadastro-explainer__cta{width:100%;min-width:0}
  .audience-hero__content>p:not(.audience-choice__eyebrow){font-size:16px}
  .slide-in-left{opacity:1;transform:none;transition:none}
  .signup-panels{min-height:430px}
  .signup-result{min-height:500px}
  .account-type-choice{grid-template-columns:1fr}
}

/* Modal overlay do cadastro profissional */
.signup-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px}
.signup-overlay[hidden]{display:none}
.signup-overlay__backdrop{position:absolute;inset:0;background:rgba(24,8,8,.55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .26s ease}
.signup-overlay.is-open .signup-overlay__backdrop{opacity:1}
.signup-overlay__dialog{position:relative;max-height:min(92vh,92dvh);overflow-y:auto;opacity:0;transform:translateY(26px) scale(.98);transition:opacity .26s ease,transform .32s cubic-bezier(.22,1,.36,1);overscroll-behavior:contain}
.signup-overlay.is-open .signup-overlay__dialog{opacity:1;transform:none}
.signup-overlay .signup-card{margin:0}
.signup-overlay__close{position:absolute;top:18px;right:18px;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(135,19,18,.18);border-radius:50%;background:#fff;color:var(--red);font-size:24px;line-height:1;cursor:pointer;transition:background .18s,transform .18s}
.signup-overlay__close:hover{background:#fff6f6;transform:rotate(90deg)}
.signup-overlay__close:focus-visible{outline:3px solid #d2ae6d;outline-offset:2px}
body.signup-modal-open{overflow:hidden}
body.terms-modal-open{overflow:hidden}
@media(max-width:767px){
  .signup-overlay{padding:12px}
  .signup-overlay__dialog{max-height:min(94vh,94dvh)}
}
@media (prefers-reduced-motion:reduce){
  .signup-overlay__backdrop,.signup-overlay__dialog{transition:none}
}

/* Termos de uso — segundo modal, aberto por cima do cadastro sem perder os dados. */
.signup-consent a{color:var(--red);font-weight:500;text-underline-offset:3px}
.signup-consent a:hover{text-decoration-thickness:2px}
.signup-consent a:focus-visible{outline:2px solid #d2ae6d;outline-offset:3px;border-radius:2px}
.terms-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:24px;font-family:Outfit,sans-serif}
.terms-overlay[hidden]{display:none}
.terms-overlay__backdrop{position:absolute;inset:0;background:rgba(24,8,8,.68);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);opacity:0;transition:opacity .22s ease}
.terms-overlay.is-open .terms-overlay__backdrop{opacity:1}
.terms-overlay__dialog{position:relative;width:min(820px,100%);max-height:min(92vh,92dvh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(25,10,10,.34);opacity:0;transform:translateY(20px) scale(.985);transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.terms-overlay.is-open .terms-overlay__dialog{opacity:1;transform:none}
.terms-overlay__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px 22px;border-bottom:1px solid #e5e7eb}
.terms-overlay__header p{margin:0 0 5px;color:var(--red);font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}
.terms-overlay__header h2{margin:0;color:#29343d;font-size:clamp(24px,3vw,32px);font-weight:500;line-height:1.15}
.terms-overlay__header small{display:block;margin-top:7px;color:#6b7280;font-size:12px}
.terms-overlay__close{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(135,19,18,.18);border-radius:50%;background:#fff;color:var(--red);font-size:24px;line-height:1;cursor:pointer}
.terms-overlay__close:hover{background:#fff6f6}
.terms-overlay__close:focus-visible{outline:3px solid #d2ae6d;outline-offset:2px}
.terms-overlay__content{overflow-y:auto;overscroll-behavior:contain;padding:26px 32px;color:#4f5963;font-size:14px;line-height:1.62;scrollbar-color:#b9bec5 transparent}
.terms-overlay__content>p:first-child{margin-top:0}
.terms-overlay__content p{margin:0 0 12px}
.terms-overlay__content section{padding:18px 0 8px;border-top:1px solid #eceef1}
.terms-overlay__content h3{margin:0 0 10px;color:#29343d;font-size:17px;font-weight:600}
.terms-overlay__content footer{margin-top:18px;padding:20px;border-radius:12px;background:#f7f7fb;color:#29343d}
.terms-overlay__actions{display:flex;justify-content:flex-end;gap:12px;padding:18px 32px;border-top:1px solid #e5e7eb;background:#fff}
.terms-overlay__actions .signup-button{min-width:160px}
.terms-overlay__reject{width:auto;border:1px solid var(--red);background:#fff;color:var(--red);text-transform:none}
.terms-overlay__reject:hover{background:#fff6f6}
@media(max-width:767px){
  .terms-overlay{padding:10px}
  .terms-overlay__dialog{max-height:min(96vh,96dvh);border-radius:20px}
  .terms-overlay__header{padding:20px 18px 16px}
  .terms-overlay__content{padding:20px 18px;font-size:13px}
  .terms-overlay__actions{padding:14px 18px;flex-direction:column-reverse}
  .terms-overlay__actions .signup-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .terms-overlay__backdrop,.terms-overlay__dialog{transition:none}
}

/* Próximos passos após concluir o cadastro (dentro do modal) */
.next-steps{
  width:100%;
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:16px;
  margin-top:22px;
  text-align:left;
}
.next-step{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:26px 26px 0;
  border-radius:24px;
  overflow:hidden;
}
.next-step--platform{
  position:relative;
  color:#29343d;
  padding-bottom:26px;
}
.next-step--platform .next-step__copy{display:flex;flex-direction:column;gap:10px}
.next-step--app{
  gap:8px;
  padding:34px 22px 22px;
  justify-self:start;
  max-width:300px;
}
.next-step--app h4{font-size:clamp(18px,1.6vw,21px)}
.signup-result .next-step--app p:not(.next-step__eyebrow){font-size:13px}
.next-step__eyebrow{
  margin:0;
  font-size:12px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.85;
}
.next-step__eyebrow{color:var(--red);opacity:1}
.next-step h4{margin:0;color:var(--red);font-size:clamp(20px,2vw,26px);font-weight:500;line-height:1.15}
.signup-result .next-step p:not(.next-step__eyebrow){max-width:none;font-size:14px;line-height:1.5}
.next-step--platform p:not(.next-step__eyebrow){color:#5f6872}
.next-step__button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  align-self:flex-start;
  margin-top:4px;
  padding:12px 22px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(135,19,18,.18);
}
.next-step__button strong{font-size:15px;font-weight:500}
.next-step__button small{font-size:11px;color:rgba(255,255,255,.75)}
.next-step__button--pending{cursor:not-allowed}
.next-step__button--pending small{font-size:11px;color:rgba(255,255,255,.75)}
.next-step__qr{
  width:108px;
  height:108px;
  margin-top:auto;
  padding:9px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  background:#fff;
  object-fit:contain;
}
@media (max-width:767px){
  .next-steps{grid-template-columns:1fr}
  .next-step{padding:22px 20px 0}
  .next-step--app{padding-bottom:22px}
}

/* Pós-lead em duas fases: confirmação sai, próximos passos entram sobre a foto */
.signup-result__confirm{
  display:grid;
  place-items:center;
  gap:14px;
  transition:opacity .38s ease,transform .38s ease;
}
.signup-result.is-fading .signup-result__confirm{opacity:0;transform:translateY(-18px)}
.signup-result.is-postlead .signup-result__confirm{display:none}
.signup-result .next-steps{display:none}
.signup-result.is-postlead .next-steps{display:grid;animation:signup-fade-up .5s cubic-bezier(.22,1,.36,1)}
.signup-card.is-postlead{
  background:#fff url("../../assets/comecar-agora/plataforma-laptop.webp") no-repeat center bottom/cover;
}
@keyframes signup-fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .signup-result__confirm{transition:none}
  .signup-result.is-postlead .next-steps,
  .signup-result.is-postlead>[data-signup-restart]{animation:none}
}

/* CTAs principais sempre preservam contraste, inclusive após o formulário
   ser movido para o popup de sucesso. */
.audience-hero__content .pill{
  border-color:#871312;
  background:#871312;
  color:#fff;
}
.audience-hero__content .pill:hover,
.audience-hero__content .pill:focus-visible{
  border-color:#7f0f0f;
  background:#7f0f0f;
  color:#fff;
}
.signup-button--next:not(:disabled),
.next-step__button{
  visibility:visible;
  opacity:1;
  border-color:#871312;
  background:#871312;
  color:#fff;
}
.signup-button--next:disabled{
  visibility:visible;
  opacity:.55;
  border-color:#871312;
  background:#871312;
  color:#fff;
}
.signup-button--next:not(:disabled):hover,
.signup-button--next:not(:disabled):focus-visible,
.next-step__button:hover,
.next-step__button:focus-visible{
  border-color:#7f0f0f;
  background:#7f0f0f;
  color:#fff;
}
