/* ===================================================================
   LIOO — base clara compartilhada por todos os slugs
   Fundo branco, botão sempre no rosa da marca (#D91674).
   =================================================================== */
:root{
  --branco:#FFFFFF;
  --papel:#FBFAFC;        /* fundo de campo, respiro */
  --nuvem:#F4F2F7;        /* faixas e superfícies frias */
  --linha:#E7E4EC;        /* borda padrão */
  --linha-forte:#D6D1DE;
  --tinta:#141118;        /* texto principal */
  --tinta-media:#5C5766;  /* texto de apoio */
  --mudo:#8B8595;         /* legenda, placeholder forte */
  --magenta:#D91674;
  --magenta-escuro:#B00E5C;
  --rosa:#E3559C;
  --rosa-veu:#FDF2F8;     /* fundo de destaque rosa */
  --erro:#D02A48;
  --erro-veu:#FDF1F3;
  --display:'Bricolage Grotesque','Arial Black',sans-serif;
  --body:'Public Sans','Helvetica Neue',Arial,sans-serif;
  --sombra:0 1px 2px rgba(20,17,24,.04), 0 8px 24px -12px rgba(20,17,24,.10);
  --sombra-alta:0 2px 4px rgba(20,17,24,.05), 0 18px 40px -18px rgba(217,22,116,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--branco);color:var(--tinta);font-family:var(--body);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
::selection{background:var(--rosa-veu);color:var(--magenta-escuro)}
.wrap{max-width:820px;margin:0 auto;padding:0 22px}

/* ---------- barra de progresso ---------- */
.rail{position:fixed;top:0;left:0;right:0;height:3px;background:var(--nuvem);z-index:50}
.rail span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--magenta),var(--rosa));transition:width .35s ease}

/* ---------- topo ---------- */
header{
  position:relative;padding:64px 0 52px;overflow:hidden;
  background:
    radial-gradient(760px 320px at 8% -10%, rgba(227,85,156,.16), transparent 65%),
    radial-gradient(620px 300px at 96% 6%, rgba(217,22,116,.10), transparent 62%);
}
header::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--linha)
}
.marca{
  font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:22px;
  text-decoration:none;display:inline-flex;align-items:center;gap:11px;color:var(--tinta)
}
.marca img{display:block;border-radius:9px;flex-shrink:0}
.marca b{color:var(--magenta)}
.live{
  display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 11px;
  background:var(--branco);border:1px solid #F3CEE0;border-radius:999px;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  color:var(--magenta-escuro);box-shadow:0 1px 2px rgba(217,22,116,.06)
}
.dot{width:7px;height:7px;border-radius:50%;background:var(--magenta);animation:pulse 1.7s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}
h1{
  font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.98;
  font-size:clamp(38px,8.4vw,68px);margin:26px 0 20px;color:var(--tinta)
}
h1 em{
  font-style:normal;
  background:linear-gradient(96deg,var(--magenta),var(--rosa));
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.lead{color:var(--tinta-media);font-size:clamp(16px,3.4vw,19px);max-width:54ch;line-height:1.55}

/* ---------- etapas ---------- */
.etapas{
  display:grid;gap:12px;margin:48px 0 6px
}
@media(min-width:700px){.etapas{grid-template-columns:repeat(4,1fr)}}
.etapa{
  background:var(--branco);border:1px solid var(--linha);border-radius:16px;
  padding:20px 18px 22px;box-shadow:var(--sombra);position:relative
}
.etapa i{
  font-style:normal;font-family:var(--display);font-weight:700;font-size:10.5px;
  color:var(--magenta);letter-spacing:.15em;text-transform:uppercase
}
.etapa strong{display:block;margin:9px 0 5px;font-size:15.5px;letter-spacing:-.01em}
.etapa p{color:var(--mudo);font-size:13.5px;line-height:1.5}

/* ---------- seções ---------- */
section{padding:52px 0;border-bottom:1px solid var(--linha)}
section:last-of-type{border-bottom:none}
.eyebrow{display:flex;align-items:flex-start;flex-wrap:wrap;gap:0 14px;margin-bottom:26px}
.eyebrow i{
  font-style:normal;font-family:var(--display);font-weight:700;font-size:13px;
  color:var(--branco);background:linear-gradient(140deg,var(--magenta),var(--rosa));
  width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 4px 12px -4px rgba(217,22,116,.5)
}
.eyebrow h2{
  font-family:var(--display);font-weight:700;letter-spacing:-.025em;
  font-size:clamp(21px,4.6vw,27px);line-height:1.2;align-self:center
}
.eyebrow p{width:100%;color:var(--mudo);font-size:14px;margin-top:8px;padding-left:46px}
@media(max-width:520px){.eyebrow p{padding-left:0}}

.grid{display:grid;gap:18px}
@media(min-width:640px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .full{grid-column:1/-1}
  .terco{grid-column:span 1}
}
label{
  display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--tinta-media);font-weight:700;margin-bottom:8px
}
label .req{color:var(--magenta)}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],input[type=search],select,textarea{
  width:100%;background:var(--papel);border:1px solid var(--linha);border-radius:12px;
  padding:14px 16px;color:var(--tinta);font-family:var(--body);font-size:16px;
  transition:border-color .15s,box-shadow .15s,background .15s
}
input:hover,select:hover,textarea:hover{border-color:var(--linha-forte)}
textarea{min-height:104px;resize:vertical;line-height:1.55}
select{
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='%238B8595'><path d='M6 8 0 0h12z'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:40px
}
input:focus,select:focus,textarea:focus{
  outline:none;background:var(--branco);border-color:var(--magenta);
  box-shadow:0 0 0 4px rgba(217,22,116,.13)
}
input::placeholder,textarea::placeholder{color:#A9A3B3}
.hint{font-size:12.5px;color:var(--mudo);margin-top:7px;line-height:1.5}

/* ---------- chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{
  display:block;padding:11px 17px;border:1px solid var(--linha);border-radius:999px;
  font-size:14.5px;font-weight:500;cursor:pointer;user-select:none;background:var(--branco);
  color:var(--tinta-media);transition:all .15s
}
.chip span:hover{border-color:var(--rosa);color:var(--magenta-escuro);background:var(--rosa-veu)}
.chip input:checked+span{
  background:var(--magenta);border-color:var(--magenta);color:#fff;font-weight:600;
  box-shadow:0 4px 12px -5px rgba(217,22,116,.6)
}
.chip input:focus-visible+span{outline:2px solid var(--rosa);outline-offset:2px}

/* ---------- listas de opção ---------- */
.lista{display:grid;gap:11px}
.opt{
  display:flex;gap:13px;align-items:flex-start;padding:15px 17px;
  border:1px solid var(--linha);border-radius:14px;background:var(--branco);
  cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s
}
.opt:hover{border-color:var(--rosa);background:var(--rosa-veu)}
.opt:has(input:checked){border-color:var(--magenta);background:var(--rosa-veu);box-shadow:0 1px 2px rgba(217,22,116,.08)}
.opt input{margin-top:2px;width:19px;height:19px;accent-color:var(--magenta);flex-shrink:0;cursor:pointer}
.opt div{font-size:14.5px;line-height:1.5}
.opt small{display:block;color:var(--mudo);font-size:12.5px;margin-top:3px;line-height:1.5}

/* ---------- ações ---------- */
.acoes{padding:44px 0 76px;display:grid;gap:12px}
@media(min-width:600px){.acoes{grid-template-columns:2fr 1fr}}
button,.botao{
  font-family:var(--body);font-size:16px;font-weight:600;border-radius:14px;
  padding:18px 22px;cursor:pointer;border:1px solid transparent;text-align:center;
  text-decoration:none;display:block;transition:transform .12s,box-shadow .18s,background .15s,border-color .15s
}
button:active,.botao:active{transform:translateY(1px)}
.enviar{
  background:linear-gradient(96deg,var(--magenta),#E0388A);color:#fff;
  box-shadow:var(--sombra-alta)
}
.enviar:hover{background:linear-gradient(96deg,var(--magenta-escuro),var(--magenta));box-shadow:0 2px 4px rgba(20,17,24,.06),0 22px 46px -18px rgba(217,22,116,.45)}
.imprimir{background:var(--branco);color:var(--tinta);border-color:var(--linha)}
.imprimir:hover{border-color:var(--linha-forte);background:var(--papel)}
.aviso{font-size:13px;color:var(--mudo);text-align:center;margin-top:8px}

/* ---------- estados de erro ---------- */
.erro{border-color:var(--erro) !important;background:var(--erro-veu) !important}
.msg-erro{
  background:var(--erro-veu);border:1px solid #F2C4CE;color:#9B1E37;
  padding:14px 17px;border-radius:12px;font-size:14px;margin-bottom:20px;display:none;font-weight:500
}

/* ---------- rodapé ---------- */
footer{
  padding:32px 0 64px;color:var(--mudo);font-size:12.5px;text-align:center;
  border-top:1px solid var(--linha);background:var(--papel)
}
footer a{color:var(--tinta-media);text-decoration:none;border-bottom:1px solid var(--linha-forte)}
footer a:hover{color:var(--magenta)}

@media print{
  .rail,.acoes,.live,.dot{display:none}
  header{background:none;padding-top:24px}
  section{page-break-inside:avoid}
  h1{font-size:34px}
  .enviar,.imprimir{display:none}
}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
