/* ============================================================
   ERPFIT · Landing page - folha externa de estilos
   ============================================================
   Estrutura:
   1. Base / reset (já existente)
   2. Hovers de elementos com prefixo .h-* (já existente)
   3. Responsivo (já existente)
   4. NOVO: utility classes com prefixo .lp-* (Etapa 1)
      - nenhum HTML usa essas classes ainda; entram por etapa
   ============================================================ */

/* ---------- 1. Reset e base ---------- */
body { margin: 0; background: #ffffff; -webkit-font-smoothing: antialiased; font-family: Inter, system-ui, sans-serif; color: #0f1a2b; overflow-x: hidden; }
* { box-sizing: border-box; }
a { color: inherit; text-decoration: none; transition: all .15s; }
a:hover { opacity: .95; }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
details[open] .faq-chev { transform: rotate(180deg); }
html { scroll-behavior: smooth; }
img { max-width: 100%; display: block; }
button { font-family: inherit; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; background: #46a648; color: #fff; padding: 12px 20px; }
.skip-link:focus { left: 12px; top: 12px; }
:focus-visible { outline: 2px solid #46a648; outline-offset: 2px; border-radius: 4px; }

/* ---------- 2. Hover states (prefixo h-) ---------- */
.h-nav:hover { background: rgba(70,166,72,.08); color: #46a648 !important; }
.h-btn-primary:hover { background: #3d9040 !important; box-shadow: 0 6px 16px -4px rgba(70,166,72,.6) !important; }
.h-btn-primary-alt:hover { background: #3d9040 !important; }
.h-ghost:hover { background: #f2f5f9; color: #0f1a2b !important; }
.h-link-muted:hover { color: #fff !important; }
.h-social:hover { background: rgba(255,255,255,.12) !important; color: #fff !important; }
.h-news:hover { background: rgba(255,255,255,.15) !important; }
.h-pill:hover { background: #46a648; color: #fff !important; }
.h-fw:hover { color: #fff !important; }
.h-fg:hover { color: #46a648 !important; }

/* Nav ativa (scroll spy) */
.h-nav.is-active { background: rgba(70,166,72,.12); color: #46a648 !important; }

/* ---------- 3. Responsivo ---------- */
@media (max-width: 1080px) {
  .r-hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .r-produto-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .r-produto-mockup-first { display: contents; }
  .r-bento-7, .r-bento-5, .r-bento-6, .r-bento-4 { grid-column: span 12 !important; }
  .r-planos-header { grid-template-columns: 1fr !important; gap: 20px !important; }
  .r-footer-top { grid-template-columns: 1fr !important; gap: 32px !important; }
  .r-footer-cols { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .r-resultados-4 { grid-column: span 6 !important; }
  .r-resultados-6 { grid-column: span 12 !important; }
}
@media (max-width: 768px) {
  .r-header { padding: 0 16px !important; height: 60px !important; gap: 8px !important; }
  .r-header-nav { display: none !important; }
  .r-header-login { display: none !important; }
  .r-hero-floating { display: none !important; }
  .r-container { padding-left: 16px !important; padding-right: 16px !important; }
  .r-section-lg { padding: 72px 0 !important; }
  .r-planos-grid { grid-template-columns: 1fr !important; }
  .r-steps-grid { grid-template-columns: 1fr !important; }
  .r-depos-grid { grid-template-columns: 1fr !important; }
  .r-footer-cols { grid-template-columns: 1fr !important; gap: 32px !important; }
  .r-cta-strip { flex-direction: column; align-items: flex-start !important; }
  .r-bento-2 { grid-column: span 12 !important; }
  .r-fin-mockup { grid-template-columns: 1fr 1fr !important; }
  .r-hero-pad { padding: 100px 0 40px !important; }
  .r-h1 { font-size: 38px !important; }
  .r-h2 { font-size: 30px !important; }
  .r-newsletter { flex-direction: column; }
  .r-newsletter a, .r-newsletter button { width: 100%; text-align: center; justify-content: center; }
}

/* ============================================================
   4. Utility classes .lp-* (Etapa 1)
   Cada classe reproduz 1:1 um padrão inline repetido no HTML.
   Uso e conflitos: NENHUM elemento usa essas classes ainda -
   elas entram progressivamente nas próximas etapas.
   ============================================================ */

/* -------- 4.1 Eyebrows (labels uppercase pequenas acima de H2/H3) -------- */
.lp-eyebrow           { font-family: Figtree, sans-serif; text-transform: uppercase; margin: 0; }
.lp-eyebrow-sm        { font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.lp-eyebrow-md        { font-size: 12px; font-weight: 600; letter-spacing: .18em; }
.lp-eyebrow-lg        { font-size: 13px; font-weight: 600; letter-spacing: .16em; }

.lp-eyebrow-green     { color: #46a648; }
.lp-eyebrow-lgreen    { color: #7ed081; }
.lp-eyebrow-dark      { color: #0f1a2b; }
.lp-eyebrow-amber     { color: #b57d00; }
.lp-eyebrow-blue      { color: #1e4f8f; }
.lp-eyebrow-purple    { color: #6b3fd8; }
.lp-eyebrow-red       { color: #dc2626; }
.lp-eyebrow-terra     { color: #c04a1f; }
.lp-eyebrow-muted     { color: #6b7686; }
.lp-eyebrow-dim-40    { color: rgba(255,255,255,.4); }
.lp-eyebrow-dim-55    { color: rgba(255,255,255,.55); }

/* -------- 4.2 Headings -------- */
/* Hero H1 */
.lp-h1                { font-family: Figtree, sans-serif; font-weight: 800; font-size: clamp(42px, 5vw, 72px); line-height: 1.02; letter-spacing: -.03em; color: #0f1a2b; margin: 22px 0 0; text-wrap: balance; }

/* H2 padrão de seção (34-52) */
.lp-h2                { font-family: Figtree, sans-serif; font-weight: 800; font-size: clamp(34px, 3.8vw, 52px); letter-spacing: -.025em; margin: 14px 0 0; line-height: 1.05; color: #0f1a2b; }
.lp-h2-light          { color: #fff; }

/* H2 final CTA (36-60, sem margin) */
.lp-h2-cta            { font-family: Figtree, sans-serif; font-weight: 800; font-size: clamp(36px, 5vw, 60px); letter-spacing: -.025em; color: #fff; margin: 0; line-height: 1.05; }

/* H3 de módulos (produto - 36px) */
.lp-h3-xl             { font-family: Figtree, sans-serif; font-weight: 800; font-size: 36px; letter-spacing: -.02em; margin: 18px 0 14px; line-height: 1.1; color: #0f1a2b; }

/* H3 bento grande (32px) */
.lp-h3-lg             { font-family: Figtree, sans-serif; font-weight: 800; font-size: 32px; letter-spacing: -.02em; margin: 12px 0 12px; line-height: 1.1; }
.lp-h3-lg-dark        { color: #0f1a2b; }
.lp-h3-lg-light       { color: #fff; }

/* H3 bento médio (26px) */
.lp-h3-md             { font-family: Figtree, sans-serif; font-weight: 800; font-size: 26px; letter-spacing: -.015em; margin: 12px 0 12px; line-height: 1.15; color: #0f1a2b; }
.lp-h3-md-tight       { margin: 14px 0 8px; }

/* H3 bento pequeno (24px) */
.lp-h3-sm             { font-family: Figtree, sans-serif; font-weight: 800; font-size: 24px; letter-spacing: -.015em; margin: 14px 0 8px; line-height: 1.15; }

/* H3 bento extra pequeno (20px) - steps, bento-4 */
.lp-h3-xs             { font-family: Figtree, sans-serif; font-weight: 700; font-size: 20px; letter-spacing: -.01em; margin: 0; color: #0f1a2b; }
.lp-h3-xs-bento       { font-weight: 800; letter-spacing: -.015em; margin: 12px 0 6px; line-height: 1.2; }

/* Footer heading (32px, dark bg) */
.lp-h3-footer         { font-family: Figtree, sans-serif; font-weight: 800; font-size: 32px; letter-spacing: -.02em; color: #fff; margin: 12px 0 0; line-height: 1.1; }

/* -------- 4.3 Body / texto corrido -------- */
.lp-lede              { font-size: 19px; line-height: 1.55; color: #4b5768; margin: 22px 0 0; max-width: 540px; }
.lp-body-lg           { font-size: 17px; line-height: 1.55; color: #4b5768; margin: 18px 0 0; }
.lp-body-lg-tight     { font-size: 17px; line-height: 1.6; color: #4b5768; margin: 0 0 22px; }
.lp-body-md           { font-size: 15px; line-height: 1.6; color: #4b5768; margin: 0; }
.lp-body-md-tight     { font-size: 15px; line-height: 1.55; color: #4b5768; margin: 0; }
.lp-body-sm           { font-size: 14px; line-height: 1.6; color: #4b5768; margin: 0; }
.lp-body-sm-15        { font-size: 14px; color: #4b5768; line-height: 1.5; margin: 0; }
.lp-body-sm-tight     { font-size: 14.5px; color: #4b5768; line-height: 1.55; margin: 0; }
.lp-body-sm-loose     { font-size: 15px; line-height: 1.55; color: #4b5768; margin: 0; }

/* Body em fundo escuro */
.lp-body-lg-light     { font-size: 17px; line-height: 1.55; color: rgba(255,255,255,.65); margin: 18px 0 0; }
.lp-body-md-light     { font-size: 15px; line-height: 1.6; color: rgba(255,255,255,.7); margin: 0; }
.lp-body-md-light-dim { font-size: 15px; color: rgba(255,255,255,.85); margin: 14px 0 0; line-height: 1.5; max-width: 260px; }
.lp-body-cta-dark     { font-size: 18px; color: rgba(255,255,255,.65); margin: 20px auto 0; max-width: 560px; }
.lp-body-footer-lede  { font-size: 15px; color: rgba(255,255,255,.55); margin: 14px 0 0; line-height: 1.55; }

/* Small caption / meta */
.lp-caption           { font-size: 13px; color: #6b7686; margin: 14px 0 0; }
.lp-caption-center    { font-size: 13px; color: #6b7686; margin: 14px 0 0; text-align: center; }
.lp-caption-muted     { font-size: 14px; color: #6b7686; margin: 22px 0 0; text-align: center; }
.lp-caption-question  { font-size: 15px; color: #6b7686; margin: 28px 0 0; text-align: center; }

/* -------- 4.4 Buttons -------- */
/* Base: alinhamento + transição - cores/tamanho vêm dos variants */
.lp-btn               { display: inline-flex; align-items: center; gap: 10px; border: none; cursor: pointer; text-decoration: none; font-family: Inter, system-ui, sans-serif; }

/* Variantes de cor */
.lp-btn-primary       { background: #46a648; color: #fff; box-shadow: 0 4px 12px -4px rgba(70,166,72,.5); }
.lp-btn-primary-strong { background: #46a648; color: #fff; box-shadow: 0 6px 16px -6px rgba(70,166,72,.55); }
.lp-btn-primary-plain { background: #46a648; color: #fff; }
.lp-btn-outline-dark  { border: 1.5px solid #0f1a2b; color: #0f1a2b; background: transparent; }
.lp-btn-outline-soft  { border: 1.5px solid #d5dbe4; color: #0f1a2b; background: transparent; }
.lp-btn-outline-light { border: 1.5px solid rgba(255,255,255,.2); color: #fff; background: transparent; }
.lp-btn-white         { background: #fff; color: #0f1a2b; }
.lp-btn-ghost         { color: #4b5768; background: transparent; }

/* Tamanhos */
.lp-btn-sm            { font-size: 13px; font-weight: 600; padding: 10px 22px; border-radius: 8px; gap: 8px; }
.lp-btn-md            { font-size: 13.5px; font-weight: 600; padding: 10px 20px; border-radius: 8px; gap: 8px; }
.lp-btn-md-ghost      { font-size: 14px; font-weight: 500; padding: 10px 16px; border-radius: 8px; gap: 6px; }
.lp-btn-lg            { font-size: 15px; font-weight: 600; padding: 16px 30px; border-radius: 8px; gap: 10px; }
.lp-btn-lg-alt        { font-size: 15px; font-weight: 600; padding: 16px 32px; border-radius: 8px; gap: 10px; }
.lp-btn-lg-outline    { font-size: 15px; font-weight: 600; padding: 15px 26px; border-radius: 8px; gap: 10px; }
.lp-btn-lg-outline-2  { font-size: 15px; font-weight: 600; padding: 15px 28px; border-radius: 8px; gap: 10px; }
.lp-btn-xl            { font-size: 16px; font-weight: 600; padding: 18px 36px; border-radius: 10px; gap: 10px; }
.lp-btn-cta-strip     { font-size: 14px; font-weight: 600; padding: 12px 24px; border-radius: 8px; gap: 8px; }
.lp-btn-plan          { display: block; text-align: center; font-size: 14px; font-weight: 600; padding: 13px; border-radius: 8px; }
.lp-btn-hero-14dias   { font-size: 13px; font-weight: 700; padding: 12px 20px; border-radius: 8px; gap: 10px; align-self: flex-start; }
.lp-btn-newsletter    { font-size: 15px; font-weight: 600; padding: 14px 26px; border-radius: 10px; gap: 8px; white-space: nowrap; box-shadow: 0 4px 16px -4px rgba(70,166,72,.5); }

/* Pill (borda) - usado em "Conheça os planos" */
.lp-btn-pill          { display: inline-flex; align-items: center; gap: 8px; font-family: Figtree, sans-serif; font-size: 15px; font-weight: 700; color: #46a648; text-decoration: none; padding: 14px 32px; border: 2px solid #46a648; border-radius: 999px; }

/* -------- 4.5 Chips (labels pequenas coloridas - módulo tags) -------- */
.lp-chip              { display: inline-flex; align-items: center; gap: 8px; font-family: Figtree, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; }
/* Chip maior - pill de módulo em Produto ("01 · Agenda") */
.lp-chip-md           { display: inline-block; font-family: Figtree, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; }

/* Cores dos chips */
.lp-chip-green        { background: #eefbef; color: #46a648; }
.lp-chip-red          { background: #fee2e2; color: #dc2626; }
.lp-chip-blue         { background: #e7f3ff; color: #1e4f8f; }
.lp-chip-amber        { background: #fff8e7; color: #b57d00; }
.lp-chip-purple       { background: #f2ecfe; color: #6b3fd8; }

/* Chip "MAIS POPULAR" (planos) */
.lp-chip-popular      { position: absolute; top: -12px; left: 32px; background: #46a648; color: #fff; font-family: Figtree, sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; padding: 6px 12px; border-radius: 999px; }

/* -------- 4.6 Cards principais -------- */
/* Card branco padrão (depoimento, planos free, bento cards) */
.lp-card              { background: #fff; border: 1px solid #e6ebf1; border-radius: 16px; padding: 28px 28px 24px; }
.lp-card-lg           { background: #fff; border: 1px solid #e6ebf1; border-radius: 20px; padding: 28px; }
.lp-card-18           { background: #fff; border: 1px solid #e6ebf1; border-radius: 18px; padding: 32px; }
.lp-plan-card         { background: #fff; border: 1px solid #e6ebf1; border-radius: 18px; padding: 32px; display: flex; flex-direction: column; }
.lp-card-muted        { background: #f5f7fa; border-radius: 20px; padding: 36px; }
.lp-card-dark         { background: #0f1a2b; color: #fff; border-radius: 20px; padding: 40px; position: relative; overflow: hidden; }
.lp-card-dark-plan    { background: #0f1a2b; color: #fff; border-radius: 18px; padding: 32px; display: flex; flex-direction: column; box-shadow: 0 24px 60px -20px rgba(15,26,43,.4); position: relative; }

/* Card interno leve (dentro dos bentos, mostrando dados) */
.lp-card-inner-light  { background: #f5f7fa; border: 1px solid #e6ebf1; border-radius: 12px; padding: 20px; }
.lp-card-inner-light-18 { background: #f5f7fa; border: 1px solid #e6ebf1; border-radius: 12px; padding: 18px; }
.lp-card-inner-light-sm { background: #f5f7fa; border: 1px solid #e6ebf1; border-radius: 10px; padding: 14px; }

/* Card interno escuro (dentro de card dark) */
.lp-card-inner-dark   { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.06); border-radius: 14px; padding: 18px 20px; }
.lp-card-inner-dark-lg { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.06); border-radius: 16px; padding: 24px 26px; }

/* -------- 4.7 Check-icon lists (14 dias / Sem cartão / Sem fidelidade) -------- */
/* UL padrão em fundo claro */
.lp-check-list        { display: flex; flex-wrap: wrap; gap: 22px; margin: 26px 0 0; padding: 0; list-style: none; font-size: 13px; color: #6b7686; }
/* UL na CTA strip dark */
.lp-check-list-dark   { display: flex; gap: 18px; font-size: 13px; color: rgba(255,255,255,.6); margin: 0; padding: 0; list-style: none; flex-wrap: wrap; }
/* UL na sticky bar */
.lp-check-list-bar    { display: flex; gap: 16px; font-size: 12px; color: rgba(255,255,255,.55); flex-wrap: wrap; }

/* Item base (li + span) */
.lp-check-item        { display: inline-flex; align-items: center; gap: 7px; }
.lp-check-item-sm     { display: inline-flex; align-items: center; gap: 6px; }
.lp-check-item-xs     { display: inline-flex; align-items: center; gap: 5px; }

/* Check-list para itens de features (com texto mais longo) - 15px, dark */
.lp-feat-list         { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.lp-feat-item         { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: #0f1a2b; }
.lp-feat-icon         { flex-shrink: 0; margin-top: 2px; }

/* Check-list em plano (14px, gap menor, ícone menor) */
.lp-plan-features     { margin: 26px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; font-size: 14px; color: #0f1a2b; }
.lp-plan-features-light { margin: 26px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; font-size: 14px; color: rgba(255,255,255,.85); }
.lp-plan-feat-item    { display: flex; gap: 10px; align-items: flex-start; }
.lp-plan-feat-icon    { flex-shrink: 0; margin-top: 1px; }

/* -------- 4.8 Depoimentos -------- */
.lp-testimonial-quote { margin: 0; }
.lp-testimonial-quote p { font-size: 16px; line-height: 1.6; color: #0f1a2b; margin: 0; font-weight: 500; }
.lp-testimonial-footer { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #eef1f5; }
.lp-testimonial-avatar { width: 40px; height: 40px; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-family: Figtree, sans-serif; font-size: 14px; }
.lp-testimonial-name  { font-size: 14px; color: #0f1a2b; margin: 0; font-weight: 600; }
.lp-testimonial-meta  { font-size: 12px; color: #6b7686; margin: 2px 0 0; }

/* -------- 4.9 Preços (Planos) -------- */
.lp-plan-title        { font-family: Figtree, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: #6b7686; margin: 0; }
.lp-plan-title-light  { color: #7ed081; }
.lp-plan-desc         { font-size: 14px; color: #6b7686; margin: 8px 0 20px; }
.lp-plan-desc-light   { font-size: 14px; color: rgba(255,255,255,.6); margin: 8px 0 20px; }
.lp-plan-price-wrap   { display: flex; align-items: baseline; gap: 6px; }
.lp-plan-price        { font-family: Figtree, sans-serif; font-weight: 800; font-size: 44px; letter-spacing: -.025em; color: #0f1a2b; }
.lp-plan-price-light  { font-family: Figtree, sans-serif; font-weight: 800; font-size: 44px; letter-spacing: -.025em; }
.lp-plan-period       { font-size: 15px; color: #6b7686; }
.lp-plan-period-light { font-size: 15px; color: rgba(255,255,255,.6); }
.lp-plan-note         { font-size: 13px; color: #46a648; margin: 6px 0 22px; min-height: 18px; font-weight: 500; }
.lp-plan-note-light   { font-size: 13px; color: #7ed081; margin: 6px 0 22px; min-height: 18px; font-weight: 500; }

/* Toggle mensal/anual dos planos */
.lp-cycle-toggle      { display: inline-flex; background: #fff; border: 1px solid #e6ebf1; border-radius: 999px; padding: 4px; box-shadow: 0 1px 3px rgba(15,26,43,.06); }
.lp-cycle-btn         { border: none; cursor: pointer; font-family: Figtree, sans-serif; font-size: 13px; font-weight: 700; padding: 10px 20px; border-radius: 999px; }

/* Extras avulsos (linha tracejada) */
.lp-extras-row        { margin-top: 24px; background: #fff; border: 1px dashed #cfd6e0; border-radius: 14px; padding: 22px 28px; display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: center; justify-content: space-between; }
.lp-extras-title      { font-family: Figtree, sans-serif; font-weight: 700; font-size: 15px; margin: 0; color: #0f1a2b; }
.lp-extras-sub        { font-size: 13px; color: #6b7686; margin: 4px 0 0; }

/* -------- 4.10 FAQ (accordion) -------- */
.lp-faq-item          { border: 1px solid #e6ebf1; border-radius: 12px; padding: 22px 26px; background: #fff; }
.lp-faq-summary       { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: Figtree, sans-serif; font-weight: 700; font-size: 18px; color: #0f1a2b; }
.lp-faq-answer        { font-size: 15px; line-height: 1.65; color: #4b5768; margin: 14px 0 0; }
.lp-faq-chev          { transition: transform .18s ease; flex-shrink: 0; }

/* -------- 4.11 Steps (Como funciona) -------- */
.lp-step-card         { border: 1px solid #e6ebf1; border-radius: 16px; padding: 32px; background: #f5f7fa; display: flex; flex-direction: column; gap: 20px; }
.lp-step-header       { display: flex; align-items: center; gap: 14px; }
.lp-step-number       { width: 44px; height: 44px; border-radius: 12px; color: #fff; font-family: Figtree, sans-serif; font-weight: 800; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lp-step-number-dark  { background: #0f1a2b; }
.lp-step-number-green { background: #46a648; }
.lp-step-line         { flex: 1; height: 2px; background: linear-gradient(90deg, #46a648 60%, transparent); }

/* -------- 4.12 Section wrappers -------- */
.lp-section-header    { max-width: 720px; }
.lp-section-header-center { text-align: center; margin-bottom: 44px; }
.lp-section-header-flex { display: flex; align-items: end; justify-content: space-between; gap: 40px; flex-wrap: wrap; }

/* Backgrounds de section (para futuras aplicações) */
.lp-section-white     { background: #fff; }
.lp-section-muted     { background: #f5f7fa; }
.lp-section-dark      { background: #0f1a2b; }

/* -------- 4.13 Cards de "Quem usa" (bento com background colorido) -------- */
/* min-height varia por card - deixa inline no elemento */
.lp-bento-color       { border-radius: 20px; padding: 40px; display: flex; flex-direction: column; justify-content: space-between; }
.lp-bento-color-dark  { background: #0f1a2b; color: #fff; position: relative; overflow: hidden; }
.lp-bento-amber       { background: #fff5d6; }
.lp-bento-blue        { background: #e7f3ff; }
.lp-bento-orange      { background: #ffe6db; }

/* -------- 4.14 "Ver mais" / link com seta -------- */
.lp-link-arrow        { display: inline-flex; align-items: center; gap: 10px; color: #46a648; font-size: 14px; font-weight: 600; }
.lp-link-arrow-lgreen { color: #7ed081; }
.lp-link-green-strong { color: #46a648; font-weight: 600; }

/* -------- 4.15 Container flex helpers (padrões repetidos) -------- */
.lp-flex-center       { display: flex; align-items: center; }
.lp-flex-center-gap   { display: flex; align-items: center; gap: 10px; }
.lp-flex-between      { display: flex; align-items: center; justify-content: space-between; }
.lp-flex-wrap-center  { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.lp-inline-flex-center { display: inline-flex; align-items: center; }

/* CTA row (para grupos de botões após texto) */
.lp-cta-row           { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; align-items: center; }
.lp-cta-row-center    { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; justify-content: center; }

/* ============================================================
   5. Wrappers semânticos por bloco — substituem classes atômicas
   ============================================================ */

/* -------- 5.1 Hero — coluna esquerda (etapa 1 da migração) -------- */
.lp-hero-copy > p:first-of-type {
	font-family: Figtree, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-hero-copy > h1 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.02;
	letter-spacing: -.03em;
	color: #0f1a2b;
	margin: 22px 0 0;
	text-wrap: balance;
}
.lp-hero-copy > h1 > span {
	color: #46a648;
}
.lp-hero-copy > p:nth-of-type(2) {
	font-size: 19px;
	line-height: 1.55;
	color: #4b5768;
	margin: 22px 0 0;
	max-width: 540px;
}
.lp-hero-copy > div {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
	align-items: center;
}
.lp-hero-copy > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
	font-size: 13px;
	color: #6b7686;
}
.lp-hero-copy > ul > li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}
@media (max-width: 768px) {
	.lp-hero-copy > h1 { font-size: 38px !important; }
}

/* -------- 5.2 CTA strip pós-hero -------- */
.lp-cta-strip {
	background: #0f1a2b;
	padding: 44px 0;
	position: relative;
	overflow: hidden;
}
.lp-cta-strip::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at 30% 50%, rgba(70,166,72,.1), transparent 60%);
	pointer-events: none;
}
.lp-cta-strip > .r-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
	position: relative;
}
.lp-cta-strip__left {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.lp-cta-strip__left > span {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: 22px;
	color: #fff;
}
.lp-cta-strip__left > ul {
	display: flex;
	gap: 18px;
	font-size: 13px;
	color: rgba(255,255,255,.6);
	margin: 0;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
}
.lp-cta-strip__left > ul > li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.lp-cta-strip__right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.lp-cta-strip__right > a:not(.lp-btn) {
	color: rgba(255,255,255,.55);
	font-size: 13px;
	font-weight: 500;
	padding: 9px 14px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all .15s;
}
.lp-cta-strip__right > a:not(.lp-btn):hover {
	color: #fff;
}

/* -------- 5.3 Section "Quem usa" -------- */
.lp-quemusa {
	background: #fff;
	padding: 96px 0;
}
.lp-quemusa > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
}
.lp-quemusa > .r-container > .lp-section-header > p {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-quemusa > .r-container > .lp-section-header > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
	color: #0f1a2b;
}
.lp-quemusa__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 20px;
	margin-top: 48px;
}
/* Eyebrows dos 4 cards (mesma tipografia, cores diferentes pela classe do card) */
.lp-quemusa__grid > article p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin: 0;
}
.lp-quemusa__grid > article.lp-bento-color-dark p:first-child { color: rgba(255,255,255,.55); }
.lp-quemusa__grid > article.lp-bento-amber      p:first-child { color: #b57d00; }
.lp-quemusa__grid > article.lp-bento-blue       p:first-child { color: #1e4f8f; }
.lp-quemusa__grid > article.lp-bento-orange     p:first-child { color: #c04a1f; }

/* Títulos h3 dos cards (3 tamanhos diferentes) */
.lp-quemusa__grid > article h3 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	letter-spacing: -.02em;
	margin: 12px 0 12px;
	line-height: 1.1;
	color: #0f1a2b;
}
.lp-quemusa__grid > article.lp-bento-color-dark h3 { font-size: 32px; max-width: 380px; color: #fff; }
.lp-quemusa__grid > article.lp-bento-amber      h3 { font-size: 26px; letter-spacing: -.015em; line-height: 1.15; }
.lp-quemusa__grid > article.lp-bento-blue       h3 { font-size: 26px; letter-spacing: -.015em; line-height: 1.15; }
.lp-quemusa__grid > article.lp-bento-orange     h3 { font-size: 30px; max-width: 480px; }

/* Body p (parágrafo depois do h3) */
.lp-quemusa__grid > article p:nth-of-type(2) {
	line-height: 1.6;
	margin: 0;
}
.lp-quemusa__grid > article.lp-bento-color-dark p:nth-of-type(2) {
	font-size: 15px;
	color: rgba(255,255,255,.7);
	max-width: 380px;
}
.lp-quemusa__grid > article.lp-bento-amber      p:nth-of-type(2) { font-size: 14px; color: #4b5768; }
.lp-quemusa__grid > article.lp-bento-blue       p:nth-of-type(2) { font-size: 14px; color: #4b5768; }
.lp-quemusa__grid > article.lp-bento-orange     p:nth-of-type(2) { font-size: 15px; color: #4b5768; max-width: 480px; }

/* Link "Ver mais" do card dark */
.lp-quemusa__vermais {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 600;
	color: #7ed081;
	position: relative;
	z-index: 1;
	text-decoration: none;
	transition: gap .15s;
	align-self: flex-start;
}
.lp-quemusa__vermais:hover { gap: 14px; color: #a3d996; }

/* -------- 5.4 Section "Produto" (3 módulos) — só o lado de texto -------- */
.lp-produto {
	background: #f5f7fa;
	padding: 110px 0;
}
.lp-produto > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
}
.lp-produto > .r-container > .lp-section-header > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-produto > .r-container > .lp-section-header > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
	color: #0f1a2b;
}
.lp-produto > .r-container > .lp-section-header > p:nth-of-type(2) {
	font-size: 18px;
	line-height: 1.55;
	color: #4b5768;
	margin: 20px 0 0;
}
.lp-produto__modulo {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 64px;
	align-items: center;
	margin-top: 96px;
}
.lp-produto__modulo:first-of-type { margin-top: 64px; }
.lp-produto__modulo--flip { grid-template-columns: 1.15fr 1fr; }

/* Text side de cada módulo (chip, h3, p, ul, li) */
.lp-modulo-copy > h3 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: 36px;
	letter-spacing: -.02em;
	margin: 18px 0 14px;
	line-height: 1.1;
	color: #0f1a2b;
}
.lp-modulo-copy > p {
	font-size: 17px;
	line-height: 1.6;
	color: #4b5768;
	margin: 0 0 22px;
}
.lp-modulo-copy > ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 12px;
}
.lp-modulo-copy > ul > li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	font-size: 15px;
	color: #0f1a2b;
}
.lp-modulo-copy > ul > li > svg {
	flex-shrink: 0;
	margin-top: 2px;
}

/* -------- 5.5 Section "Recursos" (7 bentos) — só o lado de texto -------- */
.lp-recursos {
	background: #0f1a2b;
	padding: 110px 0;
	color: #fff;
	position: relative;
	overflow: visible;
}
.lp-recursos > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
	position: relative;
}

/* Header (flex) */
.lp-recursos .lp-section-header-flex > div:first-child {
	max-width: 620px;
}
.lp-recursos .lp-section-header-flex > div:first-child > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #7ed081;
	margin: 0;
}
.lp-recursos .lp-section-header-flex > div:first-child > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
}
.lp-recursos .lp-section-header-flex > div:first-child > p:nth-of-type(2) {
	font-size: 17px;
	line-height: 1.55;
	color: rgba(255,255,255,.65);
	margin: 18px 0 0;
}
.lp-recursos .lp-section-header-flex > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #7ed081;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: gap .15s;
}
.lp-recursos .lp-section-header-flex > a:hover { gap: 14px; color: #a3d996; }

/* Grid dos 7 bentos */
.lp-recursos__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 18px;
	margin-top: 56px;
}

/* Base dos cards (todos são bg branco com radius) */
.lp-recursos__grid > article {
	background: #fff;
	color: #0f1a2b;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
}
/* Tamanhos: bento-7 e bento-5 usam mesma métrica; bento-4 mais compacto */
.lp-recursos__grid > article.r-bento-7,
.lp-recursos__grid > article.r-bento-5 { padding: 28px; gap: 20px; }
.lp-recursos__grid > article.r-bento-4 { padding: 24px; gap: 16px; }

/* Text side de cada card = primeiro div filho */
.lp-recursos__grid > article > div:first-child > h3 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	color: #0f1a2b;
	letter-spacing: -.015em;
}
.lp-recursos__grid > article.r-bento-7 > div:first-child > h3 { font-size: 26px; margin: 14px 0 8px; line-height: 1.15; }
.lp-recursos__grid > article.r-bento-5 > div:first-child > h3 { font-size: 24px; margin: 14px 0 8px; line-height: 1.15; }
.lp-recursos__grid > article.r-bento-4 > div:first-child > h3 { font-size: 20px; margin: 12px 0 6px; line-height: 1.2; }

.lp-recursos__grid > article > div:first-child > p {
	color: #4b5768;
	margin: 0;
}
.lp-recursos__grid > article.r-bento-7 > div:first-child > p { font-size: 15px; line-height: 1.55; }
.lp-recursos__grid > article.r-bento-5 > div:first-child > p { font-size: 14.5px; line-height: 1.55; }
.lp-recursos__grid > article.r-bento-4 > div:first-child > p { font-size: 14px; line-height: 1.5; }

/* -------- 5.6 Section "Resultados" (5 cards + pill final) -------- */
.lp-resultados {
	background: #fff;
	padding: 110px 0;
}
.lp-resultados > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
}
.lp-resultados > .r-container > .lp-section-header > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-resultados > .r-container > .lp-section-header > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
	color: #0f1a2b;
}
.lp-resultados__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 20px;
	margin-top: 48px;
}
.lp-resultados__grid > article { border-radius: 20px; }

/* Card 1 — imagem de fundo com overlay dark */
.lp-resultado-image {
	min-height: 320px;
	position: relative;
	overflow: hidden;
}
.lp-resultado-image > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	inset: 0;
	display: block;
}
.lp-resultado-image > div:nth-of-type(1) {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15,26,43,.85) 30%, rgba(15,26,43,.3) 100%);
}
.lp-resultado-image > div:nth-of-type(2) {
	position: relative;
	z-index: 1;
	padding: 36px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #fff;
	box-sizing: border-box;
}
.lp-resultado-image p:first-child {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: 68px;
	line-height: 1;
	letter-spacing: -.04em;
	margin: 0;
}
.lp-resultado-image__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: rgba(255,255,255,.7);
}
.lp-resultado-image__badge > span {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #46a648;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
}

/* Card 2 — quote (Carla Souza) */
.lp-resultado-quote {
	background: #f5f7fa;
	padding: 36px;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.lp-resultado-quote > blockquote {
	margin: 0;
}
.lp-resultado-quote > blockquote > p {
	font-size: 17px;
	line-height: 1.55;
	color: #0f1a2b;
	margin: 0;
	font-weight: 500;
}
.lp-resultado-quote > footer {
	display: flex;
	align-items: center;
	gap: 12px;
}
.lp-resultado-quote > footer > div:first-child {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #d5dbe4;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #0f1a2b;
	font-family: Figtree, sans-serif;
}

/* Card 3 — CTA verde grande */
.lp-resultado-cta {
	background: #46a648;
	color: #fff;
	padding: 36px;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.lp-resultado-cta p:first-child {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: 68px;
	line-height: 1;
	letter-spacing: -.04em;
	margin: 0;
}

/* Cards 4 e 5 — ícone circular + texto (2 variantes) */
.lp-resultado-icon {
	padding: 36px;
	min-height: 200px;
	display: flex;
	align-items: center;
	gap: 28px;
}
.lp-resultado-icon > div:first-child {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.lp-resultado-icon > div:last-child > p:first-child {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: 32px;
	letter-spacing: -.02em;
	margin: 0;
	color: #0f1a2b;
}
.lp-resultado-icon > div:last-child > p:last-child {
	font-size: 15px;
	color: #4b5768;
	margin: 8px 0 0;
	line-height: 1.55;
}
.lp-resultado-icon--amber { background: #fff8e7; }
.lp-resultado-icon--amber > div:first-child { background: #f5a623; }
.lp-resultado-icon--blue { background: #e7f3ff; }
.lp-resultado-icon--blue > div:first-child { background: #2563eb; }

/* Footer da section — pill "Conheça os planos" */
.lp-resultados__footer {
	text-align: center;
	margin-top: 56px;
}
.lp-resultados__footer > a > span {
	font-size: 18px;
}

/* -------- 5.7 Section "Planos" (toggle + 3 cards + extras) -------- */
.lp-planos {
	background: #f5f7fa;
	padding: 110px 0;
	position: relative;
	overflow: visible;
}
.lp-planos > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
	position: relative;
}
/* Header em grid (título esquerda + toggle direita) */
.lp-planos .r-planos-header {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 28px;
	align-items: end;
}
.lp-planos .r-planos-header > div:first-child > p {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-planos .r-planos-header > div:first-child > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
	color: #0f1a2b;
}
/* Toggle mensal/anual — botão base + variante ativo */
.lp-cycle-btn {
	border: none;
	cursor: pointer;
	font-family: Figtree, sans-serif;
	font-size: 13px;
	font-weight: 700;
	padding: 10px 20px;
	border-radius: 999px;
	background: transparent;
	color: #6b7686;
	transition: color .15s, background .15s;
}
.lp-cycle-btn.is-active {
	background: #0f1a2b;
	color: #fff;
}
/* Grid dos 3 cards de plano */
.lp-planos .r-planos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	gap: 20px;
	margin-top: 44px;
	align-items: stretch;
}
/* Itens do bloco de extras avulsos (linha tracejada) */
.lp-extras-items {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	font-size: 14px;
	color: #0f1a2b;
}

/* -------- 5.8 Section "Como funciona" (3 steps) — só o lado de texto -------- */
.lp-comofunciona {
	background: #fff;
	padding: 110px 0;
}
.lp-comofunciona > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
}
.lp-comofunciona > .r-container > .lp-section-header > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-comofunciona > .r-container > .lp-section-header > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
	color: #0f1a2b;
}
.lp-comofunciona .r-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 48px;
	padding: 0;
	list-style: none;
}
/* h3 e p que ficam DEPOIS do mockup interno de cada step */
.lp-step-card > h3 {
	font-family: Figtree, sans-serif;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: -.01em;
	margin: 0;
	color: #0f1a2b;
}
.lp-step-card > p {
	font-size: 14px;
	line-height: 1.6;
	color: #4b5768;
	margin: 0;
}
/* CTA "Experimente grátis por 14 dias" ao fim */
.lp-comofunciona__cta-bottom {
	text-align: center;
	margin-top: 48px;
}

/* -------- 5.9 Section "FAQ" -------- */
.lp-faq {
	background: #f5f7fa;
	padding: 110px 0;
}
.lp-faq__container {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 28px;
}
.lp-faq__container > .lp-section-header-center > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0;
}
.lp-faq__container > .lp-section-header-center > h2 {
	font-family: Figtree, sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 3.8vw, 52px);
	letter-spacing: -.025em;
	margin: 14px 0 0;
	line-height: 1.05;
	color: #0f1a2b;
}
.lp-faq__list {
	display: grid;
	gap: 12px;
}
/* SVG chevron dentro do summary — anima quando details[open] */
.lp-faq-summary > .faq-chev {
	transition: transform .18s ease;
	flex-shrink: 0;
}
/* Rodapé "Ficou outra dúvida?" */
.lp-faq__final {
	font-size: 15px;
	color: #6b7686;
	margin: 28px 0 0;
	text-align: center;
}
.lp-faq__final > a {
	color: #46a648;
	font-weight: 600;
}

/* -------- 5.10 Section "Final CTA" (dark) -------- */
.lp-final-cta {
	background: #0f1a2b;
	padding: 100px 0;
	position: relative;
	overflow: visible;
}
.lp-final-cta__content {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 28px;
	text-align: center;
	position: relative;
}
.lp-final-cta__content > p {
	font-size: 18px;
	color: rgba(255,255,255,.65);
	margin: 20px auto 0;
	max-width: 560px;
}
.lp-final-cta__content > div {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
	justify-content: center;
}
.lp-final-cta__content > div > a:not(.lp-btn) {
	border: 1.5px solid rgba(255,255,255,.2);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	padding: 15px 28px;
	border-radius: 8px;
	transition: all .15s;
}
.lp-final-cta__content > div > a:not(.lp-btn):hover {
	border-color: rgba(255,255,255,.4);
	background: rgba(255,255,255,.05);
}

/* -------- 5.11 Section "Depoimentos" -------- */
.lp-depoimentos {
	background: #f5f7fa;
	padding: 80px 0 90px;
}
.lp-depoimentos > .r-container {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 28px;
}
.lp-depoimentos > .r-container > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #46a648;
	margin: 0 0 32px;
	text-align: center;
}
.lp-depoimentos .r-depos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
}

/* -------- 5.12 Sticky bottom bar (aparece ao rolar) — descendant selectors -------- */
/* Lista de checks "Sem cartão · Sem fidelidade · Cancele quando quiser" */
.lp-stickybar-left > div {
	display: flex;
	gap: 16px;
	font-size: 12px;
	color: rgba(255,255,255,.55);
	flex-wrap: wrap;
}
.lp-stickybar-left > div > span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
/* Links "Suporte" e "Entrar" (à direita, muted, hover branco) */
.lp-stickybar-right > a:not(.lp-btn) {
	color: rgba(255,255,255,.5);
	font-size: 12px;
	font-weight: 500;
	padding: 8px 12px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	transition: color .15s;
}
.lp-stickybar-right > a:not(.lp-btn):hover {
	color: #fff;
}

/* -------- 5.13 Footer — descendant selectors -------- */
/* Eyebrow "Pronto pra organizar seu estúdio?" */
.lp-footer-hero-inner > div:first-child > p:first-child {
	font-family: Figtree, sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #7ed081;
	margin: 0;
}
/* Screen reader label spans dentro dos forms de newsletter */
.lp-footer-form label,
.lp-footer-news-form > label {
	flex: 1;
	min-width: 0;
}
.lp-footer-form label > span:first-child,
.lp-footer-news-form > label > span:first-child {
	position: absolute;
	left: -9999px;
}
/* Address list (e-mail, Instagram, ticket suporte) */
.lp-footer-address > a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: rgba(255,255,255,.6);
	font-size: 13px;
	text-decoration: none;
}
.lp-footer-address > a > span:first-child {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(255,255,255,.06);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
/* Nav lists (Produto / Suporte / Legal) */
.lp-footer-cols nav > ul {
	display: grid;
	gap: 12px;
	font-size: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lp-footer-cols nav > ul > li > a {
	color: rgba(255,255,255,.65);
	text-decoration: none;
}
/* "Começar grátis" no bloco Produto — verde-limão bold */
.lp-footer-cols nav > ul > li > a.h-fg {
	color: #7ed081;
	font-weight: 600;
}
/* Socials (Instagram, YouTube) */
.lp-footer-socials > li > a {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(255,255,255,.06);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(255,255,255,.5);
	text-decoration: none;
}
/* Legal mini links (Termos / Privacidade sob o form newsletter) */
.lp-footer-legal-mini > a {
	color: rgba(255,255,255,.5);
	text-decoration: underline;
}
/* Bottom badges (LGPD Compliant, 14 anos, Tecnologia triacca) */
.lp-footer-badges > * {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.06);
	border-radius: 8px;
	padding: 6px 12px;
}
.lp-footer-badges > div:first-child {
	background: rgba(70,166,72,.1);
	border-color: rgba(70,166,72,.15);
}
.lp-footer-badges > a {
	color: rgba(255,255,255,.5);
	text-decoration: none;
}
.lp-footer-badges > * > span {
	font-size: 11px;
	color: rgba(255,255,255,.5);
	font-weight: 600;
}
.lp-footer-badges > div:first-child > span {
	color: #7ed081;
}
/* Logo SVG do brand no footer */
.lp-footer-brand > svg {
	display: block;
}

/* -------- 4.16 Header fixo do topo -------- */
.lp-header-wrap       { position: fixed; top: 0; left: 0; right: 0; z-index: 60; }
.lp-header-bar        { background: rgba(255,255,255,.95); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(15,26,43,.06); box-shadow: 0 1px 8px rgba(15,26,43,.04); }
.lp-header-inner      { max-width: 1280px; margin: 0 auto; padding: 0 32px; height: 68px; display: flex; align-items: center; gap: 36px; }
.lp-header-logo       { display: flex; align-items: center; gap: 11px; color: #0f1a2b; padding: 6px 0; }
.lp-wordmark          { font-family: Figtree, sans-serif; font-weight: 800; font-size: 20px; letter-spacing: 3.5px; color: #0f1a2b; }
.lp-header-nav        { display: flex; gap: 2px; align-items: center; height: 100%; margin-left: 8px; }
.lp-header-nav-link   { color: #4b5768; font-size: 13.5px; font-weight: 600; padding: 8px 14px; border-radius: 8px; white-space: nowrap; }
.lp-header-right      { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.lp-header-login      { color: #4b5768; font-size: 14px; font-weight: 500; padding: 10px 16px; border-radius: 8px; display: inline-flex; align-items: center; gap: 6px; }

/* -------- 4.17 Footer -------- */
.lp-footer            { background: #0a1220; padding: 0; position: relative; overflow: hidden; }
.lp-footer-hero       { position: relative; background: linear-gradient(135deg, rgba(70,166,72,.12), rgba(37,99,235,.06)); border-bottom: 1px solid rgba(255,255,255,.06); }
.lp-footer-hero-inner { max-width: 1240px; margin: 0 auto; padding: 56px 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.lp-footer-hero-title { font-family: Figtree, sans-serif; font-weight: 800; font-size: 32px; letter-spacing: -.02em; color: #fff; margin: 12px 0 0; line-height: 1.1; }
.lp-footer-hero-sub   { font-size: 15px; color: rgba(255,255,255,.55); margin: 14px 0 0; line-height: 1.55; }
.lp-footer-form       { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.lp-footer-form-row   { display: flex; gap: 12px; width: 100%; max-width: 440px; }
.lp-footer-input      { width: 100%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; padding: 14px 18px; color: #fff; font-size: 15px; outline: none; font-family: Inter, system-ui, sans-serif; }
.lp-footer-legal-mini { font-size: 12px; color: rgba(255,255,255,.35); margin: 0; }
.lp-footer-legal-link { color: rgba(255,255,255,.5); text-decoration: underline; }
.lp-footer-main       { position: relative; max-width: 1240px; margin: 0 auto; padding: 56px 28px 0; }
.lp-footer-cols       { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.lp-footer-brand      { display: flex; align-items: center; gap: 10px; color: #fff; }
.lp-footer-wordmark   { font-family: Figtree, sans-serif; font-weight: 800; font-size: 19px; letter-spacing: 3.5px; }
.lp-footer-desc       { font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.5); margin: 18px 0 0; max-width: 300px; }
.lp-footer-address    { font-style: normal; display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.lp-footer-address-item { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.6); font-size: 13px; }
.lp-footer-icon-badge { width: 32px; height: 32px; border-radius: 8px; background: rgba(255,255,255,.06); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.lp-footer-postal     { font-size: 12px; line-height: 1.65; color: rgba(255,255,255,.3); margin: 18px 0 0; }
.lp-footer-nav-title  { font-family: Figtree, sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: rgba(255,255,255,.4); margin: 0 0 18px; }
.lp-footer-nav-title-mt { font-family: Figtree, sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .18em; color: rgba(255,255,255,.4); margin: 28px 0 18px; }
.lp-footer-nav-list   { display: grid; gap: 12px; font-size: 14px; margin: 0; padding: 0; list-style: none; }
.lp-footer-nav-link   { color: rgba(255,255,255,.65); }
.lp-footer-nav-link-hi { color: #7ed081; font-weight: 600; }
.lp-footer-news-sub   { font-size: 13px; color: rgba(255,255,255,.5); margin: 0 0 14px; line-height: 1.5; }
.lp-footer-news-form  { display: flex; gap: 8px; }
.lp-footer-news-input { width: 100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 10px 14px; color: #fff; font-size: 13px; outline: none; font-family: Inter, system-ui, sans-serif; }
.lp-footer-news-btn   { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); border-radius: 8px; padding: 10px 14px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.lp-footer-socials    { display: flex; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.lp-footer-social-btn { width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.06); display: inline-flex; align-items: center; justify-content: center; color: rgba(255,255,255,.5); }
.lp-footer-bottom     { margin-top: 48px; padding: 24px 0; border-top: 1px solid rgba(255,255,255,.06); display: flex; flex-wrap: wrap; gap: 16px 40px; align-items: center; justify-content: space-between; }
.lp-footer-copy       { font-size: 13px; color: rgba(255,255,255,.35); }
.lp-footer-badges     { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
.lp-footer-badge      { display: inline-flex; align-items: center; gap: 7px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06); border-radius: 8px; padding: 6px 12px; }
.lp-footer-badge-green { display: inline-flex; align-items: center; gap: 7px; background: rgba(70,166,72,.1); border: 1px solid rgba(70,166,72,.15); border-radius: 8px; padding: 6px 12px; }
.lp-footer-badge-text  { font-size: 11px; color: rgba(255,255,255,.5); font-weight: 600; }
.lp-footer-badge-text-g { font-size: 11px; color: #7ed081; font-weight: 600; }

/* -------- 4.18 Sticky bar (bottom) -------- */
.lp-stickybar         { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 70; background: #0f1a2b; border-top: 1px solid rgba(255,255,255,.08); padding: 12px 0; box-shadow: 0 -4px 24px rgba(0,0,0,.25); }
.lp-stickybar-inner   { max-width: 1280px; margin: 0 auto; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.lp-stickybar-left    { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.lp-stickybar-title   { font-family: Figtree, sans-serif; font-weight: 700; font-size: 15px; color: #fff; }
.lp-stickybar-right   { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lp-link-muted-btn    { color: rgba(255,255,255,.55); font-size: 13px; font-weight: 500; padding: 9px 14px; border-radius: 8px; display: inline-flex; align-items: center; gap: 6px; }
.lp-link-muted-btn-sm { color: rgba(255,255,255,.5); font-size: 12px; font-weight: 500; padding: 8px 12px; border-radius: 8px; display: inline-flex; align-items: center; gap: 5px; }
