/* Página de lançamento / Black November (lancamento.html). Usa os tokens do site.css e peças do hub.css (h-card,
   h-show, steps, faq). Topo escuro com o cartão de fundador; o resto no papel. Movimento só com "sem preferência";
   com "reduzir movimento", tudo parado no estado final (regra geral do site.css). */
.lc .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lc-closed { display: none; }
.lc.fechada .lc-open { display: none; }
.lc.fechada .lc-closed { display: revert; }
.lc.fechada .lc-closed-txt { display: block; }

/* faixa Black November no topo de todas as páginas (header.html) não aparece aqui */
.lc .bf-ribbon { display: none; }

/* ---------------------------------------------------------------- topo */
.lc-hero { position: relative; overflow: hidden; padding-block: clamp(40px, 7vw, 96px) clamp(56px, 8vw, 112px); isolation: isolate;
  background: radial-gradient(120% 80% at 85% 10%, color-mix(in srgb, var(--mark) 22%, transparent), transparent 55%),
              radial-gradient(90% 70% at 0% 100%, #0e5143, transparent 60%), var(--band); }
.lc-hero-in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.lc-copy { display: grid; gap: 22px; justify-items: start; }
.lc-hero h1 { color: #fff; font-size: clamp(2.6rem, 1.6rem + 4.2vw, 4.8rem); }
.lc-hero h1 em { color: var(--mark); display: inline-block; }
.lc-hero .lede { color: var(--band-ink-2); font-size: var(--step-1); max-width: 34em; }
.lc-eb { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 10px; border-radius: 999px; font: 600 .82rem/1.2 var(--f-body);
  color: var(--mark); background: color-mix(in srgb, var(--mark) 12%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mark) 40%, transparent); }
.lc-pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--mark); box-shadow: 0 0 0 0 color-mix(in srgb, var(--mark) 60%, transparent); }
.lc.fechada .lc-pulse { background: var(--band-ink-2); }

.lc-count { display: grid; gap: 10px; }
.lc-count .label { color: var(--band-ink-2); }
.lc-digits { display: flex; gap: 10px; }
.lc-digits span { display: grid; justify-items: center; gap: 4px; min-width: 72px; padding: 12px 8px 10px; border-radius: 14px;
  background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.lc-digits b { font: 700 clamp(1.9rem, 1.4rem + 1.6vw, 2.6rem)/1 var(--f-mono); color: #fff; letter-spacing: -.02em; }
.lc-digits b.tick { animation: lc-tick .35s cubic-bezier(.2, .8, .2, 1); }
.lc-digits small { font: 500 .7rem/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--band-ink-2); }
.lc.fechada .lc-digits { display: none; }
.lc-closed-txt { color: var(--band-ink); max-width: 30em; }

.lc-hero .cta-row { display: flex; flex-wrap: wrap; gap: 12px; }
.lc-hero .btn.quiet { --fg: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .28); }
.lc-hero .btn.quiet:hover { box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); }
.lc-go { position: relative; overflow: hidden; }
.lc-go::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); transform: translateX(-120%); }
.lc-trust { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--band-ink-2); font-size: .92rem; }
.lc-trust li { display: inline-flex; align-items: center; gap: 6px; }
.lc-trust svg { width: 16px; height: 16px; color: var(--mark); }

.lc-seats { display: grid; gap: 8px; width: min(100%, 360px); }
.lc-seats[hidden] { display: none; }
.lc-bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.lc-bar i { display: block; height: 100%; width: calc(var(--p, 0) * 1%); border-radius: inherit; background: linear-gradient(90deg, #ffd77a, var(--mark)); transition: width 1.2s cubic-bezier(.2, .8, .2, 1); }
.lc-seats p { color: var(--band-ink-2); font-size: .92rem; }
.lc-seats b { color: #fff; }
.lc-seats-out { display: none; }
.lc.esgotada .lc-seats-ok { display: none; }
.lc.esgotada .lc-seats-out { display: block; color: var(--band-ink); }
.lc-wa-btn[hidden] { display: none; }
.wa-on { display: none; }
.lc.wa .wa-on { display: revert; }
.lc.wa .wa-off { display: none; }

/* pontinhos de sol que sobem no fundo */
.lc-sky { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.lc-sky i { position: absolute; bottom: -20px; width: 8px; height: 8px; border-radius: 50%; background: var(--mark); opacity: 0; }
.lc-sky i:nth-child(1) { left: 8%; } .lc-sky i:nth-child(2) { left: 22%; width: 5px; height: 5px; }
.lc-sky i:nth-child(3) { left: 46%; width: 6px; height: 6px; } .lc-sky i:nth-child(4) { left: 63%; }
.lc-sky i:nth-child(5) { left: 78%; width: 5px; height: 5px; } .lc-sky i:nth-child(6) { left: 92%; width: 7px; height: 7px; }

/* cartão de fundador + conversa */
.lc-stage { position: relative; display: grid; justify-items: center; min-height: 440px; perspective: 1000px; }
.lc-halo { position: absolute; top: 4%; left: 50%; width: min(420px, 90%); aspect-ratio: 1; translate: -50% 0; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--mark) 45%, transparent), transparent 65%); filter: blur(8px); }
.lc-ticket { position: relative; z-index: 1; width: min(340px, 86vw); padding: 22px 24px 18px; border-radius: 22px; color: #0b2e27;
  background: linear-gradient(150deg, #fff6df 0%, #ffd77a 55%, #ffb224 100%);
  box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .7);
  transform: rotate(-4deg) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style: preserve-3d; transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.lc-ticket::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, .55) 48%, transparent 60%); background-size: 250% 100%; background-position: var(--sh, 120%) 0; }
.lc-ticket-top { display: flex; align-items: center; gap: 10px; font-size: .78rem; letter-spacing: .14em; font-weight: 600; }
.lc-sym { width: 34px; height: 34px; }
.lc-ticket-n { margin-left: auto; letter-spacing: .06em; }
.lc-ticket-price { margin-top: 18px; font: 800 5.2rem/.9 var(--f-display); letter-spacing: -.05em; }
.lc-ticket-price small { font-size: 1.3rem; letter-spacing: 0; font-weight: 700; margin: 0 2px; }
.lc-ticket-sub { margin-top: 8px; font-size: .78rem; }
.lc-ticket-name { margin-top: 18px; font: 700 1.25rem/1.2 var(--f-display); min-height: 1.2em; }
.lc-ticket-cut { margin: 16px -24px 12px; border-top: 2px dashed rgba(11, 46, 39, .3); position: relative; }
.lc-ticket-cut::before, .lc-ticket-cut::after { content: ""; position: absolute; top: -11px; width: 20px; height: 20px; border-radius: 50%; background: var(--band); }
.lc-ticket-cut::before { left: -10px; } .lc-ticket-cut::after { right: -10px; }
.lc-ticket-foot { display: flex; justify-content: space-between; font-size: .72rem; letter-spacing: .04em; }

.lc-chat { position: relative; z-index: 2; width: min(340px, 86vw); margin-top: 18px; display: grid; gap: 8px; transform: translateX(28px); }
.lc-b { max-width: 86%; padding: 9px 13px; border-radius: 16px; font-size: .9rem; line-height: 1.35; box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .7); }
.lc-b.out { justify-self: end; background: #d9fdd3; color: #0b2e27; border-bottom-right-radius: 4px; }
.lc-b.in { justify-self: start; background: #fff; color: #0b2e27; border-bottom-left-radius: 4px; }
.lc-b b { color: #177245; }

/* ---------------------------------------------------------------- faixa que anda */
.lc-marquee { overflow: hidden; background: var(--mark); color: var(--mark-ink); padding-block: 14px; }
.lc-mq-row { display: flex; width: max-content; gap: 22px; align-items: center; font: 700 1.05rem/1 var(--f-display); white-space: nowrap; }
.lc-mq-row i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; opacity: .55; }

/* ---------------------------------------------------------------- preços */
.lc-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.lc-plan { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 28px 26px; }
.lc-plan .btn { margin-top: auto; width: 100%; }
.lc-price { font: 800 3.2rem/1 var(--f-display); letter-spacing: -.04em; }
.lc-price small { font-size: 1.05rem; font-weight: 700; letter-spacing: 0; color: var(--ink-2); margin: 0 3px; }
.lc-inc { list-style: none; margin: 4px 0 12px; padding: 0; display: grid; gap: 6px; font-size: .95rem; }
.lc-inc li { display: flex; gap: 8px; align-items: center; }
.lc-inc li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--scrub); flex: none; }
.lc-hi { border: 2px solid var(--mark); box-shadow: 0 30px 60px -30px color-mix(in srgb, var(--mark) 70%, transparent), var(--shadow); }
.lc-hi .lc-price { color: var(--ink); }
.lc-hi .lc-inc li::before { background: var(--mark); }
.lc-tag { position: absolute; top: -14px; left: 24px; padding: 6px 12px; border-radius: 999px; background: var(--mark); color: var(--mark-ink); font: 700 .76rem/1 var(--f-mono); letter-spacing: .04em; }
.lc-was { color: var(--ink-2); font-size: .92rem; }
.lc-was s { text-decoration-thickness: 2px; text-decoration-color: var(--late); }
.lc-fine { margin-top: 22px; font-size: .88rem; max-width: 60em; }

/* ---------------------------------------------------------------- o que faz, passos, garantia */
.lc-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 48px; }
.lc-steps { margin-top: 8px; }
.lc-seal-in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.lc-seal svg { width: clamp(140px, 18vw, 200px); height: auto; display: block; overflow: visible; }
.lc-seal text { font: 700 9.6px var(--f-mono); letter-spacing: .14em; fill: var(--mark); }
.lc-seal-sec .section-head { margin-bottom: 0; }

/* ---------------------------------------------------------------- formulário */
.lc-signup { position: relative; overflow: hidden; }
.lc-signup::before { content: ""; position: absolute; top: -80px; right: -80px; width: 220px; height: 220px; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--mark) 35%, transparent), transparent 70%); pointer-events: none; }
#lc-form { display: grid; gap: 16px; }
#lc-form[hidden] { display: none; }
.lc-pick { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.lc-pick legend { font-size: .88rem; font-weight: 500; margin-bottom: 6px; padding: 0; }
.lc-pick label { position: relative; cursor: pointer; }
.lc-pick input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.lc-pick span { display: grid; gap: 2px; min-height: 56px; align-content: center; padding: 10px 12px; border-radius: 12px; font-size: .85rem; color: var(--ink-2);
  border: 1.5px solid var(--line); background: var(--surface); transition: border-color .15s, background .15s; }
.lc-pick b { color: var(--ink); font-size: .95rem; }
.lc-pick input:checked + span { border-color: var(--scrub); background: color-mix(in srgb, var(--scrub) 8%, var(--surface)); }
.lc-pick input:focus-visible + span { outline: 2.5px solid var(--scrub); outline-offset: 2px; }
.lc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#lc-go[disabled] { opacity: .7; cursor: progress; }
.lc-done { display: grid; gap: 14px; justify-items: start; align-content: center; }
.lc-done[hidden] { display: none; }
.lc-done:focus { outline: none; }
.lc-done h3 { font: 800 var(--step-3)/1.05 var(--f-display); letter-spacing: -.03em; }
.lc-done p { color: var(--ink-2); }
.lc-done .cta-row { display: flex; flex-wrap: wrap; gap: 10px; }
.lc-done-dot { width: 54px; height: 54px; border-radius: 50%; background: var(--mark); display: grid; place-items: center; }
.lc-done-dot::after { content: ""; width: 20px; height: 11px; border-left: 4px solid var(--mark-ink); border-bottom: 4px solid var(--mark-ink); transform: translateY(-3px) rotate(-45deg); }

.lc-final .lc-mini { color: var(--mark); font-size: .9rem; margin-bottom: 14px; }

/* ---------------------------------------------------------------- celular */
@media (max-width: 920px) {
  .lc-hero-in { grid-template-columns: minmax(0, 1fr); }
  .lc-stage { min-height: 0; padding-top: 8px; }
  .lc-plans { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .lc-hi { order: -1; }
  .lc-three { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .lc-count { width: 100%; }
  .lc-digits { gap: 6px; width: 100%; }
  .lc-chat { display: none; }
  .lc-digits span { min-width: 0; flex: 1; padding: 10px 4px 8px; }
  .lc-hero .cta-row, .lc-hero .cta-row .btn { width: 100%; }
  .lc-chat { transform: none; }
  .lc-pick { grid-template-columns: minmax(0, 1fr); }
  .lc-pick span { min-height: 48px; grid-auto-flow: column; justify-content: space-between; align-items: center; }
  .lc-seal-in { grid-template-columns: minmax(0, 1fr); }
  .lc-ticket-price { font-size: 4.4rem; }
}

/* ---------------------------------------------------------------- movimento */
@media (prefers-reduced-motion: no-preference) {
  .lc-pulse { animation: lc-pulse 1.8s cubic-bezier(.2, .8, .2, 1) infinite; }
  .lc-go::after { animation: lc-shine 3.6s cubic-bezier(.2, .8, .2, 1) 1.2s infinite; }
  .lc-sky i { animation: lc-rise 9s linear infinite; }
  .lc-sky i:nth-child(2) { animation-delay: 2.5s; animation-duration: 11s; } .lc-sky i:nth-child(3) { animation-delay: 5s; }
  .lc-sky i:nth-child(4) { animation-delay: 1.2s; animation-duration: 12s; } .lc-sky i:nth-child(5) { animation-delay: 6.5s; }
  .lc-sky i:nth-child(6) { animation-delay: 3.6s; animation-duration: 10s; }
  .lc-halo { animation: lc-breathe 6s ease-in-out infinite; }
  .lc-ticket { animation: lc-in .9s cubic-bezier(.2, .8, .2, 1) both, lc-float 7s ease-in-out 1s infinite; }
  .lc-ticket::before { animation: lc-sheen 5s cubic-bezier(.2, .8, .2, 1) 1.4s infinite; }
  .lc-b { animation: lc-chat 10s cubic-bezier(.2, .8, .2, 1) infinite both; animation-delay: calc(var(--i) * .9s + .6s); }
  .lc-mq-row { animation: lc-mq 32s linear infinite; }
  .lc-marquee:hover .lc-mq-row { animation-play-state: paused; }
  .lc-seal svg text { animation: lc-spin 22s linear infinite; transform-origin: 60px 60px; transform-box: view-box; }
  .lc-hero h1 em { animation: lc-pop .8s cubic-bezier(.2, .8, .2, 1) .25s both; }
  .lc-done:not([hidden]) .lc-done-dot { animation: lc-pop .6s cubic-bezier(.2, .8, .2, 1) both; }
  .lc-hi { animation: lc-glow 4s ease-in-out infinite; }
}
@keyframes lc-pulse { 70% { box-shadow: 0 0 0 10px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
@keyframes lc-shine { 0% { transform: translateX(-120%); } 30%, 100% { transform: translateX(120%); } }
@keyframes lc-rise { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: .55; } 80% { opacity: .35; } 100% { transform: translateY(-110vh); opacity: 0; } }
@keyframes lc-breathe { 50% { transform: scale(1.08); opacity: .8; } }
@keyframes lc-in { from { opacity: 0; translate: 0 40px; } to { opacity: 1; translate: 0 0; } }
@keyframes lc-float { 50% { translate: 0 -10px; } }
@keyframes lc-sheen { 0% { background-position: 120% 0; } 35%, 100% { background-position: -40% 0; } }
@keyframes lc-chat { 0% { opacity: 0; transform: translateY(10px) scale(.96); } 6%, 82% { opacity: 1; transform: none; } 92%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes lc-mq { to { transform: translateX(-50%); } }
@keyframes lc-spin { to { transform: rotate(360deg); } }
@keyframes lc-pop { 0% { transform: scale(.6); opacity: 0; } 60% { transform: scale(1.06); opacity: 1; } 100% { transform: none; } }
@keyframes lc-tick { from { transform: translateY(-30%); opacity: .2; } to { transform: none; opacity: 1; } }
@keyframes lc-glow { 50% { box-shadow: 0 36px 70px -26px color-mix(in srgb, var(--mark) 90%, transparent), var(--shadow); } }
