/* ==========================================================================
   Páginas de apresentação (/apresentacao, /agendamento, /obrigado)
   Usam o style.css da LP (cores, fontes, botões, cards, seções) e só
   acrescentam aqui o que é delas: hero com formulário, listas, passos,
   calendário, Bernardo e o rodapé legal.
   ========================================================================== */

/* ---------- Cabeçalho enxuto (logo + CTA) ---------- */
.pg-header .nav { justify-content: space-between; }
.pg-header .nav-links a { white-space: nowrap; }

/* ---------- Hero com foto + formulário ---------- */
.ap-hero { position: relative; padding: 148px 0 72px; overflow: hidden; }
.ap-hero__photo { position: absolute; inset: 0 0 auto auto; z-index: 0; width: min(62vw, 1180px); height: 100%; pointer-events: none; }
.ap-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 78% 18%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 38%), linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(90deg, transparent 0%, #000 38%); opacity: .9; }
.ap-hero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, var(--bg) 100%); }
.ap-hero .container { position: relative; z-index: 1; }
.ap-hero__in { max-width: 640px; }
.ap-hero .badge { margin-bottom: 26px; }
.ap-hero h1 { font-size: clamp(2.1rem, 4.2vw, 3.4rem); text-wrap: balance; }
.ap-hero h1 strong { font-weight: inherit; color: #fff; }
.ap-hero h1 .muted { color: var(--text-2); }

/* faixa do badge com 3 frases */
.ticker--3 { height: 1.4em; line-height: 1.4em; }
.ticker--3 span { height: 1.4em; line-height: 1.4em; animation-name: ticker3; animation-duration: 6s; }
@keyframes ticker3 {
  0%, 27% { transform: translateY(0); }
  33%, 60% { transform: translateY(-100%); }
  66%, 93% { transform: translateY(-200%); }
  100% { transform: translateY(-300%); }
}

.ap-chips { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.ap-chips li { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 13px 0 9px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.035); font-size: .875rem; color: var(--text-2); }
.ap-chips i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--grad); color: #fff; font-size: 12px; }

/* ---------- Formulário ---------- */
.ap-form { margin-top: 34px; padding: clamp(20px, 2.4vw, 28px); border-radius: var(--radius-lg); background: rgba(22, 19, 25, .82); border: 1px solid var(--line-strong); box-shadow: 0 40px 80px -40px rgba(0,0,0,.8); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.ap-form__t { margin-bottom: 18px; font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; color: #fff; }
.ap-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ap-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ap-field--full { grid-column: 1 / -1; }
.ap-field label { font-size: .8125rem; font-weight: 500; color: var(--text-2); }
.ap-input { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 12px; background: #110f13; transition: border-color .25s, box-shadow .25s; }
.ap-input:focus-within { border-color: rgba(255, 101, 20, .7); box-shadow: 0 0 0 4px rgba(255, 61, 50, .12); }
.ap-input > i { flex-shrink: 0; font-size: 18px; color: #ff6a2a; }
.ap-input input, .ap-input select { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: none; color: #fff; font: inherit; font-size: .9375rem; }
.ap-input input::placeholder { color: #6f6a75; }
/* autocomplete do navegador: mantém o fundo escuro e o texto branco (o Chrome pinta de branco/azul) */
.ap-input input:-webkit-autofill, .ap-input input:-webkit-autofill:hover, .ap-input input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 1000px #110f13 inset; box-shadow: 0 0 0 1000px #110f13 inset; -webkit-text-fill-color: #fff; caret-color: #fff; transition: background-color 600000s 0s, color 600000s 0s; }
.ap-input input:autofill { box-shadow: 0 0 0 1000px #110f13 inset; -webkit-text-fill-color: #fff; }
.ap-input select { appearance: none; -webkit-appearance: none; cursor: pointer; }
.ap-input select:invalid { color: #6f6a75; }
.ap-input select option { color: #111; }
.ap-input--select::after { content: "\ea4e"; font-family: remixicon; font-size: 18px; color: var(--muted); pointer-events: none; }
.ap-ddi { display: flex; align-items: center; gap: 7px; flex-shrink: 0; padding-right: 10px; border-right: 1px solid var(--line-strong); font-size: .875rem; font-weight: 600; color: var(--text-2); }
.ap-flag { position: relative; width: 20px; height: 14px; border-radius: 3px; background: #009c3b; overflow: hidden; }
.ap-flag::before { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; background: #ffdf00; transform: scaleX(1.3) rotate(45deg) scale(.72); }
.ap-flag::after { content: ""; position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: #002776; }
.ap-field.is-err .ap-input { border-color: rgba(255, 70, 90, .8); }
.ap-err { display: none; font-size: .78rem; color: #ff7a8a; }
.ap-field.is-err .ap-err { display: block; }
.ap-form .btn { margin-top: 20px; }
.ap-form .btn[aria-busy="true"] { pointer-events: none; opacity: .7; }
.ap-obs { margin-top: 16px; font-size: .8125rem; line-height: 1.55; color: var(--muted); }
.ap-obs strong { color: var(--text-2); font-weight: 500; }
.ap-obs + .ap-obs { margin-top: 8px; }
.ap-form__msg { display: none; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: rgba(255, 70, 90, .1); color: #ff9aa6; font-size: .8125rem; }
.ap-form__msg.is-on { display: block; }

/* ---------- Para quem é / não é ---------- */
.fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fit-card { padding: clamp(26px, 3vw, 38px); }
.fit-card h3 { margin-bottom: 24px; font-family: var(--font-display); font-size: clamp(1.4rem, 2.2vw, 1.75rem); font-weight: 600; letter-spacing: -.03em; line-height: 1.15; }
.fit-card ul { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.fit-card li { display: flex; gap: 12px; font-size: .9875rem; line-height: 1.5; color: var(--text-2); text-wrap: pretty; }
.fit-card li i { display: grid; place-items: center; flex-shrink: 0; width: 24px; height: 24px; margin-top: -1px; border-radius: 50%; font-size: 14px; }
.fit-card--no h3 { color: var(--text-2); }
.fit-card--no li { color: var(--muted); }
.fit-card--no li i { background: rgba(255, 70, 90, .12); color: #ff6b7d; }
.fit-card--yes { border-color: rgba(255, 61, 50, .35); background: radial-gradient(90% 80% at 100% 0%, rgba(255, 18, 106, .2), transparent 60%), radial-gradient(80% 70% at 0% 100%, rgba(255, 101, 20, .18), transparent 60%), var(--card); }
.fit-card--yes li i { background: var(--grad); color: #fff; }
.fit-foot { margin-top: 40px; text-align: center; }
.fit-foot p { max-width: 520px; margin: 0 auto 24px; font-size: 1.0625rem; color: var(--muted); text-wrap: balance; }
.fit-foot strong { color: #fff; font-weight: 600; }

/* ---------- Recursos (5 cards + CTA) ---------- */
.feat { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.feat-final { margin-top: 20px; }
.feat-final .seal-big { width: 112px; height: 112px; margin-bottom: 26px; }
.feat-final .h2 { max-width: 760px; font-size: clamp(1.6rem, 3vw, 2.5rem); }
.feat-final .cta-row { justify-content: center; margin-top: 32px; }
.feat-card { display: flex; flex-direction: column; gap: 46px; min-height: 200px; padding: 26px 24px; }
.feat-card h3 { margin-top: auto; font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.25; text-wrap: balance; }
.feat-card--cta { justify-content: space-between; gap: 22px; border-color: rgba(255, 61, 50, .35); background: radial-gradient(90% 90% at 100% 100%, rgba(255, 61, 50, .25), transparent 60%), var(--card); }
.feat-card--cta p { font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; color: #fff; text-wrap: balance; }
.feat-card--cta .seal { width: 52px; height: 52px; }

/* ---------- O que vai acontecer (passos com imagem) ---------- */
.talk { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 6vw, 88px); align-items: start; }
.talk-text { position: sticky; top: 120px; }
.talk-text .h2 { margin-bottom: 22px; }
.talk-text .copy { font-size: 1.0625rem; }
.talk-text .cta-row { margin-top: 30px; }
.talk-steps { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.talk-step { padding: 0; }
.talk-step__img { aspect-ratio: 16 / 9; overflow: hidden; background: radial-gradient(80% 90% at 50% 100%, rgba(255, 61, 50, .25), transparent 70%), #141117; border-bottom: 1px solid var(--line); }
.talk-step__img img { width: 100%; height: 100%; object-fit: contain; padding: 18px 18px 0; }
.talk-step__img--cover img { object-fit: cover; padding: 0; }
.talk-step__cap { display: flex; align-items: center; gap: 14px; padding: 20px 22px; }
.talk-step__cap b { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: 11px; background: var(--grad-soft); border: 1px solid rgba(255, 61, 50, .3); font-family: var(--font-display); font-size: .9375rem; color: #ff7a4d; }
.talk-step__cap h3 { font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; text-wrap: balance; }

/* ---------- Agendamento ---------- */
.ag-hero { padding: 140px 0 72px; }
.ag-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
.ag-cal { padding: 22px; border-radius: var(--radius-lg); background: var(--card); border: 1px solid var(--line-strong); }
.ag-cal__t { margin: 4px 4px 18px; font-family: var(--font-display); font-size: 1.25rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; }
.ag-cal__frame { position: relative; min-height: 560px; border-radius: 14px; overflow: hidden; }
.ag-cal__frame:empty::before, .ag-cal__frame.is-loading::before { content: "Carregando o calendário…"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font-size: .9rem; }
.ag-side { position: sticky; top: 120px; }
.ag-side .logo { width: 132px; height: auto; margin-bottom: 26px; }
.ag-side h1 { font-size: clamp(1.75rem, 2.8vw, 2.4rem); line-height: 1.08; text-wrap: balance; }
.ag-side h1 .muted { color: var(--text-2); }
.ag-side .small { margin-top: 16px; font-size: .8125rem; font-style: italic; color: var(--muted); }
.ag-side .lead { margin-top: 12px; font-size: 1rem; }
.ag-side .media { margin-top: 26px; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); }
.ag-side .media img { width: 100%; height: auto; }

.see { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.see-card { padding: 0; }
.see-card__img { aspect-ratio: 16 / 10; overflow: hidden; background: radial-gradient(80% 90% at 50% 100%, rgba(255, 61, 50, .22), transparent 70%), #141117; border-bottom: 1px solid var(--line); }
.see-card__img img { width: 100%; height: 100%; object-fit: contain; padding: 18px 18px 0; }
.see-card h3 { padding: 22px 24px 26px; font-family: var(--font-display); font-size: 1.1875rem; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; text-wrap: balance; }

.host { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.host-photo { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: #0d0b0e; }
.host-photo img { width: 100%; height: auto; }
.host-photo .seal { position: absolute; right: 18px; bottom: 18px; width: 86px; height: 86px; }
.host .h2 { margin-bottom: 22px; }
.host .copy { font-size: 1.0625rem; }
.host .copy strong { color: #fff; }
.host .cta-row { margin-top: 30px; }

/* ---------- Obrigado ---------- */
.ok-hero { padding: 160px 0 40px; text-align: center; }
.ok-hero .logo { width: 132px; height: auto; margin: 0 auto 30px; }
.ok-check { display: grid; place-items: center; width: 74px; height: 74px; margin: 0 auto 26px; border-radius: 50%; background: var(--grad); color: #fff; font-size: 38px; box-shadow: 0 20px 50px -14px rgba(255, 61, 50, .7); }
.ok-hero h1 { font-size: clamp(2.2rem, 5vw, 3.75rem); }
.ok-hero .lead { max-width: 560px; margin: 22px auto 0; }
.ok-hero .lead strong { color: #fff; }
.ok-tip { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; padding: 10px 16px; border: 1px solid var(--line-strong); border-radius: 999px; background: rgba(255,255,255,.04); font-size: .875rem; color: var(--text-2); }
.ok-tip i { font-size: 18px; color: #ff6a2a; }

/* ---------- Rodapé legal (igual ao das páginas originais) ---------- */
.pg-legal { padding: 44px 0 40px; border-top: 1px solid var(--line); text-align: center; }
.pg-legal img { width: 120px; height: auto; margin: 0 auto 22px; }
.pg-legal p { max-width: 860px; margin: 0 auto; font-size: .78rem; line-height: 1.65; color: var(--muted); }
.pg-legal p + p { margin-top: 12px; }
.pg-legal strong { color: var(--text-2); font-weight: 500; }
.pg-legal nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin-top: 22px; font-size: .8125rem; }
.pg-legal nav a { color: var(--text-2); }
.pg-legal nav a:hover { color: #fff; }

/* ---------- Responsivo ---------- */
@media (max-width: 1024px) {
  .ap-hero__photo { width: 70vw; opacity: .55; }
  .talk, .host { grid-template-columns: minmax(0, 1fr); }
  .talk-text, .ag-side { position: static; }
  .ag-grid { grid-template-columns: minmax(0, 1fr); }
  .ag-side { order: -1; }
  .ag-side .media, .ag-side .logo { display: none; }
  .feat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .see { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
}
@media (max-width: 760px) {
  .ap-hero { padding-top: 112px; }
  .ap-hero__photo { position: relative; inset: auto; width: auto; height: 320px; margin: -112px -16px 0; opacity: 1; }
  .ap-hero__photo img { object-position: 70% 20%; -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
  .ap-hero__photo::after { display: none; }
  .ap-hero .container { margin-top: -90px; }
  .ap-hero .badge { flex-wrap: wrap; row-gap: 6px; max-width: 100%; padding: 6px 14px 8px 6px; border-radius: 20px; }
  .ap-hero .badge b { white-space: nowrap; }
  .ap-hero .badge .ticker { flex-basis: 100%; padding-left: 8px; }
  .ap-form__grid { grid-template-columns: minmax(0, 1fr); }
  .fit { grid-template-columns: minmax(0, 1fr); }
  .feat { grid-template-columns: minmax(0, 1fr); }
  .feat-card { min-height: 0; gap: 26px; }
  .ag-hero { padding-top: 112px; }
  .ag-cal { padding: 14px; }
  .ok-hero { padding-top: 128px; }
}

/* ---------- Ajustes de alinhamento com a LP ---------- */
main p, main li, main h3, .pg-legal p { text-wrap: pretty; }
main h2 { text-wrap: balance; }
#quem-usa-sec .experts { padding-top: 8px; }
#quem-usa-sec .expert-ring { margin-bottom: calc(var(--h) * -.3); }
#recursos { position: relative; padding-top: clamp(32px, 4vw, 56px); }
#recursos .section-head { max-width: 880px; }
.cw-after { padding-top: clamp(44px, 5vw, 64px); }

/* rodapé: links com separador e crédito com coração pulsando */
.pg-legal nav { align-items: center; gap: 8px 12px; }
.pg-legal nav span { opacity: .4; }
.pg-made { display: flex; align-items: center; justify-content: center; gap: 5px; margin-top: 14px !important; }
.pg-made a { color: var(--text-2); transition: color .25s; }
.pg-made a:hover { color: #fff; }
.pg-heart { width: 12px; height: 12px; fill: #ff4d7d; animation: pgBeat 1.2s infinite; }
@keyframes pgBeat { 15%, 45% { transform: scale(1.3); } 30% { transform: scale(1); } }

/* obrigado: depoimentos claros logo abaixo dos vídeos, e confete */
#depoimentos .reviews-grid { margin-top: clamp(40px, 5vw, 64px); }
.ok-confetti { position: fixed; inset: 0; z-index: 60; width: 100%; height: 100%; pointer-events: none; }
.ok-check { animation: okPop .7s cubic-bezier(.2,1.4,.4,1) both .15s; }
@keyframes okPop { from { transform: scale(.3); opacity: 0; } }

@media (max-width: 1024px) {
  .feat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feat > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .feat { grid-template-columns: minmax(0, 1fr); }
  .feat-final .seal-big { width: 92px; height: 92px; }
}
@media (prefers-reduced-motion: reduce) { .pg-heart, .ok-check { animation: none; } .ok-confetti { display: none; } }
