/* ==========================================================================
   Pantera LP — page layout for public/index.php
   Section shells + arrangement only; components come from components.css.
   ========================================================================== */

/* --- Hero ------------------------------------------------------------------ */
.lp-hero {
  position: relative; display: flex; align-items: center;
  min-height: 100svh;
  padding-top: calc(var(--lp-nav-top) + var(--lp-nav-h) + 2rem);
  padding-bottom: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
}
.lp-hero__grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center;
}
.lp-hero__copy { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; container-type: inline-size; }
/* Title size follows the copy column (cqi) so "O Checkout que caça os resultados para você." sits on
   2 lines from 1024px up and 3 lines on phones; balance + the nbsp in "para você." avoid orphans. */
.lp-hero__title { font-size: clamp(1.875rem, 9.4vw, 3.25rem); font-size: clamp(1.875rem, 7cqi, 3.25rem); font-weight: 600; line-height: var(--lp-leading-display); letter-spacing: var(--lp-tracking-display); text-wrap: balance; max-width: 100%; }
@media (max-width: 1023px) { .lp-hero__title { font-size: clamp(1.875rem, 9.4vw, 3.25rem); } } /* 320px: 30px keeps "caça os resultados" on one line (3 lines total) */
/* Brand promise: gold sub-headline right under the H1 (replaces the tag pill so the lead's "Menor taxa do mercado" is not repeated above it) */
.lp-hero__tagline { font-size: var(--lp-text-2xl); font-weight: 600; line-height: 1.2; letter-spacing: -0.01em; margin-top: -0.25rem; }
.lp-hero__desc { font-size: var(--lp-text-lg); line-height: var(--lp-leading-snug); color: var(--lp-fg-muted); max-width: 38rem; text-wrap: balance; }
.lp-hero__desc strong { color: var(--lp-fg); font-weight: 600; }
.lp-hero__checks {
  display: grid; grid-template-columns: 1fr; gap: 0.55rem 1.25rem;
  margin-top: 0.5rem; text-align: left; max-width: 40rem; width: 100%;
}
.lp-hero__checks li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: var(--lp-text-sm); line-height: var(--lp-leading-snug); font-weight: 500; color: var(--lp-fg); }
.lp-hero__checks li i { color: var(--lp-accent); font-size: 0.8em; margin-top: 0.35em; flex-shrink: 0; }
.lp-hero__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 0.75rem; }
.lp-hero__visual { display: flex; align-items: center; justify-content: center; }

@media (min-width: 640px) { .lp-hero__checks { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) {
  .lp-hero { padding-top: calc(var(--lp-nav-top) + var(--lp-nav-h)); padding-bottom: 0; }
  .lp-hero__grid { grid-template-columns: 1.15fr 0.85fr; gap: 4rem; }
  .lp-hero__copy { align-items: flex-start; text-align: left; }
  .lp-hero__actions { justify-content: flex-start; }
  .lp-hero__desc { max-width: 90%; }
  .lp-hero__checks { max-width: none; }
}
@media (min-width: 1536px) { .lp-hero__desc { font-size: var(--lp-text-xl); } }
@media (max-width: 767px) { .lp-hero__actions .lp-btn { width: 100%; max-width: 20rem; } }

/* --- Integrations marquee -------------------------------------------------- */
/* Extra top padding (offset by negative margin) so the hover badge above each logo isn't clipped by the marquee's overflow:hidden */
.lp-integrations .lp-marquee { --lp-marquee-gap: 1rem; padding-block: 3rem 0.25rem; margin-top: -2.5rem; pointer-events: none; }
.lp-integrations .lp-marquee__track { pointer-events: auto; }
.lp-integrations .lp-marquee__track { padding-top: 0.75rem; }

/* --- Features -------------------------------------------------------------- */
/* Compact cards: less empty space on desktop, row layout on mobile */
.lp-features .lp-grid { align-items: stretch; gap: 1rem; max-width: 66rem; margin-inline: auto; }
.lp-features .lp-feature { min-height: 0; gap: 1rem; padding: clamp(1.1rem, 1.6vw, 1.5rem); }
.lp-features .lp-feature .lp-icon-circle { width: 2.75rem; height: 2.75rem; font-size: 0.95rem; }
.lp-features .lp-feature__body p { font-size: var(--lp-text-sm); }
.lp-features .feature-title span, .lp-features .feature-description span { font-size: inherit !important; } /* legacy inline sizes in $features */
/* odd card count in a 2-col grid: center the trailing card at column width instead of leaving it stranded */
.lp-features .lp-grid--2 .lp-feature:last-child:nth-child(odd) { grid-column: 1 / -1; max-width: calc((66rem - 1rem) / 2); margin-inline: auto; }
@media (max-width: 639px) {
  .lp-features .lp-grid { gap: 0.75rem; }
  .lp-features .lp-feature { display: grid; grid-template-columns: auto 1fr; column-gap: 0.9rem; row-gap: 0.35rem; padding: 1rem; }
  .lp-features .lp-feature__top { display: contents; }
  .lp-features .lp-feature .lp-icon-circle { grid-row: 1 / span 2; width: 2.5rem; height: 2.5rem; }
  .lp-features .lp-feature .lp-badge { grid-column: 2; justify-self: start; }
  .lp-features .lp-feature__body { grid-column: 2; gap: 0.25rem; }
  .lp-features .lp-feature .lp-h3 { font-size: var(--lp-text-lg); }
  .lp-features .lp-feature__body p { text-align: left; hyphens: manual; } /* narrow column: justify leaves gaps */
}

/* --- Testimonials ---------------------------------------------------------- */
.lp-testi__cols { display: none; grid-template-columns: repeat(3, 1fr); gap: var(--lp-gap); }
.lp-testi__cols .lp-marquee--v { --lp-marquee-h: 34rem; --lp-marquee-gap: var(--lp-gap); }
.lp-testi__row { display: block; }
.lp-testi__row .lp-quote { width: min(20rem, 82vw); }
.lp-testi__foot { margin-top: var(--lp-head-gap); text-align: center; }
@media (min-width: 768px) { .lp-testi__cols { display: grid; } .lp-testi__row { display: none; } }
@media (min-width: 768px) and (max-width: 1023px) { .lp-testi__cols { grid-template-columns: repeat(2, 1fr); } .lp-testi__cols > :nth-child(3) { display: none; } .lp-testi__cols > :nth-child(2) { --lp-marquee-h: 34rem; } }

/* --- Pricing --------------------------------------------------------------- */
.lp-offer { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.75rem; padding: clamp(1.75rem, 3vw, 2.75rem); max-width: 52rem; margin-inline: auto; }
.lp-offer h3 { font-size: var(--lp-text-3xl); font-weight: 700; letter-spacing: -0.01em; }
.lp-offer p { font-size: var(--lp-text-lg); font-weight: 500; line-height: var(--lp-leading-snug); text-wrap: balance; }

.lp-journey { margin-top: var(--lp-head-gap); }
.lp-journey__head { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.5rem; margin-bottom: 1.5rem; }
.lp-journey__head h3 { font-size: var(--lp-text-3xl); font-weight: 600; letter-spacing: -0.01em; }
.lp-journey__head p { color: var(--lp-fg-muted); max-width: 40rem; text-wrap: balance; }
.lp-journey .lp-sim { margin-top: var(--lp-head-gap); }
.lp-journey__head--wall { margin-top: var(--lp-head-gap); margin-bottom: 1.25rem; }
.lp-journey .lp-wall { margin-top: 0; }
.lp-statement { margin-bottom: var(--lp-head-gap); }

.lp-plan { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.25rem; padding: clamp(1.75rem, 3vw, 2.75rem); width: min(100%, 40rem); margin: var(--lp-head-gap) auto 0; min-width: 0; }
.lp-plan__price { font-size: var(--lp-text-4xl); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; }
.lp-plan__list { width: 100%; text-align: left; min-width: 0; }
.lp-plan__list li { padding: 0.55rem 0; border-bottom: 1px solid var(--lp-line); }
.lp-plan__list li:last-child { border-bottom: 0; }
/* the top 5 as compact feature tiles: gold icon badge, bold title, muted sub-line; stagger reveal, hover lift + border glow */
.lp-plan__top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.6rem; width: 100%; list-style: none; margin: 0; padding: 0; text-align: left; }
.lp-plan__tile { position: relative; display: flex; align-items: center; gap: 0.85rem; padding: 0.7rem 0.9rem; border-radius: var(--lp-radius-md); min-width: 0; transition: transform var(--lp-dur-fast) var(--lp-ease-std), border-color var(--lp-dur-fast) var(--lp-ease-std), background-color var(--lp-dur-fast) var(--lp-ease-std); }
@media (hover: hover) { .lp-plan__tile:hover { transform: translateY(-2px); border-color: var(--lp-accent-line); background: rgba(244, 196, 48, 0.05); } }
.lp-plan__tile-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2.5rem; height: 2.5rem; border-radius: 0.75rem; background: var(--lp-accent-soft); border: 1px solid var(--lp-accent-line); color: var(--lp-accent); font-size: 1rem; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); }
.lp-plan__tile-text { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.lp-plan__tile-text strong { font-size: var(--lp-text-base); font-weight: 700; line-height: 1.25; color: var(--lp-fg); letter-spacing: -0.01em; }
.lp-plan__tile-text small { font-size: var(--lp-text-xs); line-height: 1.35; color: var(--lp-fg-muted); }
/* the bell rings once, right after its tile has faded in */
[data-reveal-stagger].is-in .lp-plan__tile--ring .lp-plan__tile-icon i { animation: lp-bell-ring 1s ease-out 0.75s 1 both; transform-origin: 50% 0; }
/* extras: smaller, muted checks, no rules */
.lp-plan__list--extra { gap: 0.4rem; }
.lp-plan__list--extra li { padding: 0; border: 0; font-size: var(--lp-text-sm); color: var(--lp-fg-muted); }
.lp-plan__list--extra li > span:last-child { min-width: 0; overflow-wrap: anywhere; }
/* disclosure (same grid-rows technique as the FAQ accordion) */
.lp-plan__extra { display: grid; grid-template-rows: 0fr; width: 100%; opacity: 0; transition: grid-template-rows var(--lp-dur) var(--lp-ease-out), opacity var(--lp-dur-fast) var(--lp-ease-out); }
.lp-plan__extra.show { grid-template-rows: 1fr; opacity: 1; }
.lp-plan__extra-inner { overflow: hidden; min-width: 0; }
.lp-plan__groups { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem 2rem; padding-top: 0.25rem; text-align: left; }
@media (min-width: 640px) { .lp-plan__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.lp-plan__group { display: flex; flex-direction: column; gap: 0.6rem; min-width: 0; }
.lp-plan__group-title { display: flex; align-items: center; gap: 0.6rem; margin: 0; font-size: var(--lp-text-sm); font-weight: 600; letter-spacing: 0.12em; font-variant-caps: all-small-caps; color: var(--lp-fg-muted); }
.lp-plan__group-title::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, var(--lp-accent-line), transparent); }
@media (prefers-reduced-motion: reduce) { .lp-plan__extra { transition: none; } }
.lp-plan__toggle { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 0; background: none; color: var(--lp-accent); font-size: var(--lp-text-sm); font-weight: 600; cursor: pointer; border-radius: var(--lp-radius-full); transition: color var(--lp-dur-fast) var(--lp-ease-std), background-color var(--lp-dur-fast) var(--lp-ease-std); }
.lp-plan__toggle:hover { background: var(--lp-accent-soft); }
.lp-plan__toggle i { transition: transform var(--lp-dur-fast) var(--lp-ease-std); }
/* (the toggle script swaps the icon to fa-chevron-up itself; no extra rotation) */
.lp-plan__highlight { width: 100%; padding: 1rem 1.25rem; border-radius: var(--lp-radius-md); background: var(--lp-accent-soft); border: 1px solid var(--lp-accent-line); text-align: left; font-size: var(--lp-text-sm); line-height: var(--lp-leading-body); color: var(--lp-fg-muted); }
.lp-plan__highlight strong { color: var(--lp-fg); font-weight: 700; }

/* --- FAQ --------------------------------------------------------------------- */
.lp-faq-section .lp-section__head { margin-bottom: var(--lp-head-gap); }

/* --- CTA --------------------------------------------------------------------- */
.lp-cta { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem); position: relative; overflow: hidden; }
.lp-cta::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 50% at 50% 0%, rgba(244, 196, 48, 0.12), transparent 70%); pointer-events: none; }
.lp-cta > * { position: relative; }
.lp-cta .lp-h2 { max-width: 20ch; }
.lp-cta__countdown { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 0.75rem; }
.lp-cta__offer { font-size: var(--lp-text-lg); font-weight: 600; color: var(--lp-accent); max-width: 34rem; text-wrap: balance; margin-top: 0.5rem; }
.lp-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 0.5rem; }

/* --- Footer ------------------------------------------------------------------ */
.lp-footer__grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 2.5rem; }
.lp-footer__about { display: flex; flex-direction: column; gap: 0.9rem; max-width: 26rem; }
.lp-footer__logo { display: inline-flex; align-items: center; gap: 0.6rem; font-size: var(--lp-text-2xl); font-weight: 700; letter-spacing: -0.01em; color: var(--lp-light-fg); }
.lp-footer__logo img { height: 2.25rem; width: auto; filter: brightness(0.12); } /* light logo -> dark silhouette on the light footer */
.lp-footer__about p { font-size: var(--lp-text-sm); line-height: var(--lp-leading-body); color: var(--lp-light-muted); }
.lp-footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.lp-footer__title { font-size: var(--lp-text-xs); font-weight: 600; letter-spacing: var(--lp-tracking-caps); text-transform: uppercase; color: var(--lp-light-muted); margin-bottom: 0.9rem; }
.lp-footer__links { display: flex; flex-direction: column; gap: 0.6rem; }
.lp-footer__links a { font-size: var(--lp-text-base); color: var(--lp-light-fg); text-decoration: none; width: fit-content; background-image: linear-gradient(var(--lp-accent), var(--lp-accent)); background-repeat: no-repeat; background-size: 0 2px; background-position: 0 100%; transition: background-size var(--lp-dur-fast) var(--lp-ease-std), opacity var(--lp-dur-fast) var(--lp-ease-std); padding-bottom: 1px; }
.lp-footer__links a:hover { background-size: 100% 2px; }
.lp-footer__bottom { display: flex; flex-direction: column; gap: 0.5rem; padding-top: 1.5rem; border-top: 1px solid var(--lp-light-line); font-size: var(--lp-text-sm); color: var(--lp-light-muted); }
.lp-footer__bottom p { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.lp-footer__bottom i { color: var(--lp-light-fg); opacity: 0.7; }
@media (min-width: 768px) {
  .lp-footer__grid { grid-template-columns: 1.4fr 1fr; gap: 3rem; align-items: start; }
  .lp-footer__cols { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .lp-footer__bottom { flex-direction: row; justify-content: space-between; align-items: center; }
}

/* --- Responsive container ------------------------------------------------------ */
@media (max-width: 1440px) { :root { --lp-content: 87.5vw; } }
@media (max-width: 767px) { :root { --lp-content: calc(100vw - 2 * var(--lp-gutter)); --lp-nav-top: 0.75rem; } }
/* Como Funciona: destaque "fature sem pagar antes" + bônus na declaração de Taxas */
.lp-try{margin-top:clamp(1.5rem,3vw,2.5rem);text-align:center}
.lp-statement__bonus{margin-top:.75rem}
