/* ==========================================================================
   FREEDIARIA — Landing Page System (rebrand 2026)
   Conceito: "Conecte. Trabalhe. Ganhe." — A diária livre, com salário de verdade.
   Paleta extraída da logo (F navy→azure).
   ========================================================================== */

:root {
  /* Brand */
  --fd-navy:   #0a1e44;
  --fd-deep:   #14275c;
  --fd-blue:   #1f4ed8;
  --fd-primary:#2563eb;
  --fd-azure:  #3b82f6;
  --fd-sky:    #60a5fa;
  --fd-mist:   #eff6ff;
  --fd-money:  #10b981;   /* PIX / dinheiro */
  --fd-money-d:#059669;
  --fd-ink:    #0f172a;
  --fd-ink-2:  #1e293b;
  --fd-ash:    #475569;
  --fd-mute:   #64748b;
  --fd-line:   #e2e8f0;
  --fd-paper:  #ffffff;

  /* Surface */
  --fd-bg:        #f8fafc;
  --fd-bg-dark:   #050a1a;

  /* Effects */
  --fd-glow:    0 30px 80px -20px rgba(37, 99, 235, 0.45);
  --fd-shadow:  0 1px 2px rgba(15,23,42,.04), 0 12px 32px -8px rgba(15,23,42,.10);
  --fd-shadow-lg: 0 8px 24px -8px rgba(15,23,42,.16), 0 24px 60px -16px rgba(15,23,42,.20);
  --fd-radius:    14px;
  --fd-radius-lg: 22px;
  --fd-radius-xl: 32px;
  --fd-ease:    cubic-bezier(.2,.7,.2,1);

  /* Type */
  --fd-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

  /* Gradients */
  --fd-grad-brand: linear-gradient(135deg, #0a1e44 0%, #1f4ed8 50%, #3b82f6 100%);
  --fd-grad-text:  linear-gradient(90deg, #2563eb 0%, #3b82f6 50%, #60a5fa 100%);
  --fd-grad-money: linear-gradient(135deg, #059669 0%, #10b981 100%);
}

/* --- Page shell --- */

html { scroll-behavior: smooth; }

.lp-landing,
.lp-page {
  font-family: var(--fd-font);
  color: var(--fd-ink);
  background: var(--fd-paper);
  line-height: 1.55;
  overflow-x: clip;
}

.lp-landing *,
.lp-page * { box-sizing: border-box; }

/* --- Scroll progress bar --- */

.lp-scroll-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 100%;
  z-index: 9999;
  background: var(--fd-grad-text);
  transform-origin: 0 50%;
  transform: scaleX(0);
  transition: transform .12s linear;
  pointer-events: none;
}

/* ==========================================================================
   NAV
   ========================================================================== */

.lp-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 0 clamp(1rem, 4vw, 2.5rem);
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background .35s var(--fd-ease), box-shadow .35s var(--fd-ease), backdrop-filter .35s var(--fd-ease);
}
.lp-nav__container,
.lp-nav__inner {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.lp-nav--transparent { background: transparent; }
.lp-nav--solid {
  background: rgba(255,255,255,.85);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(15,23,42,.06);
}
.lp-nav--scrolled {
  background: rgba(255,255,255,.92);
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  backdrop-filter: blur(16px);
}

.lp-nav__brand,
.lp-nav__logo {
  display: inline-flex;
  align-items: center;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -.03em;
  text-decoration: none;
  color: var(--fd-navy);
}
.lp-nav--transparent .lp-nav__brand,
.lp-nav--transparent .lp-nav__logo { color: #fff; }
.lp-nav__brand-img {
  height: 38px;
  max-width: 200px;
  width: auto;
  object-fit: contain;
  display: block;
  transition: filter .3s var(--fd-ease);
}
.lp-nav--transparent .lp-nav__brand-img { filter: brightness(0) invert(1); }

.lp-nav__links {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.lp-nav__link {
  padding: .55rem 1rem;
  font-weight: 500;
  font-size: .94rem;
  border-radius: 10px;
  text-decoration: none;
  transition: all .2s var(--fd-ease);
  color: var(--fd-ink-2);
}
.lp-nav--transparent .lp-nav__link { color: rgba(255,255,255,.85); }
.lp-nav--transparent .lp-nav__link:hover { color:#fff; background: rgba(255,255,255,.12); }
.lp-nav__link:hover { color: var(--fd-primary); background: var(--fd-mist); }

.lp-nav__btn,
.lp-nav__cta {
  padding: .6rem 1.25rem;
  font-weight: 600;
  font-size: .92rem;
  border-radius: 999px;
  text-decoration: none;
  background: var(--fd-ink);
  color: #fff;
  transition: transform .2s var(--fd-ease), box-shadow .2s var(--fd-ease);
}
.lp-nav__btn:hover,
.lp-nav__cta:hover { transform: translateY(-1px); box-shadow: 0 8px 20px -8px rgba(15,23,42,.4); }
.lp-nav--transparent .lp-nav__btn,
.lp-nav--transparent .lp-nav__cta { background: #fff; color: var(--fd-navy); }

.lp-nav__actions {
  display: flex;
  gap: .5rem;
  align-items: center;
}

/* ==========================================================================
   HERO — Kinetic typography
   ========================================================================== */

.lp-hero {
  position: relative;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7rem 1.5rem 4rem;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: var(--fd-bg-dark);
}

/* Animated mesh background */
.lp-hero::before,
.lp-hero::after {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: -2;
  pointer-events: none;
  filter: blur(80px);
  opacity: .8;
}
.lp-hero::before {
  background:
    radial-gradient(40% 50% at 20% 30%, #1f4ed8 0%, transparent 60%),
    radial-gradient(35% 45% at 80% 20%, #3b82f6 0%, transparent 60%),
    radial-gradient(50% 60% at 60% 80%, #0a1e44 0%, transparent 60%);
  animation: lp-mesh 18s ease-in-out infinite alternate;
}
.lp-hero::after {
  background:
    radial-gradient(35% 45% at 70% 60%, #2563eb 0%, transparent 60%),
    radial-gradient(25% 35% at 30% 70%, #60a5fa 0%, transparent 60%);
  animation: lp-mesh 22s ease-in-out infinite alternate-reverse;
  opacity: .6;
}

@keyframes lp-mesh {
  0%   { transform: translate(0,0) rotate(0deg) scale(1); }
  50%  { transform: translate(-3%,2%) rotate(8deg) scale(1.08); }
  100% { transform: translate(2%,-3%) rotate(-6deg) scale(1.05); }
}

/* grid noise overlay */
.lp-hero__grid {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 70%);
}

.lp-hero__inner,
.lp-hero__content {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}

.lp-hero__pill,
.lp-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem 1rem;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 500;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  color: rgba(255,255,255,.92);
  margin-bottom: 2rem;
  letter-spacing: -.005em;
}
.lp-hero__pill-dot,
.lp-hero__badge-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--fd-money);
  box-shadow: 0 0 0 0 rgba(16,185,129,.7);
  animation: lp-pulse 2s infinite;
}
@keyframes lp-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(16,185,129,.7); }
  70%  { box-shadow: 0 0 0 12px rgba(16,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}

/* Kinetic headline */
.lp-kinetic {
  font-size: clamp(2.6rem, 9vw, 6.5rem);
  font-weight: 900;
  letter-spacing: -.045em;
  line-height: .95;
  margin: 0 0 1rem;
  text-wrap: balance;
}
.lp-kinetic__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(.4rem, 1.5vw, 1rem);
  margin-bottom: .25rem;
}
.lp-kinetic__word {
  position: relative;
  display: inline-block;
  /* Aumentado contraste: de .45/.18 para .75/.55 — garante legibilidade WCAG AA no fundo dark */
  background: linear-gradient(180deg, rgba(255,255,255,.75) 0%, rgba(255,255,255,.55) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  transition: background .8s var(--fd-ease), transform .8s var(--fd-ease), filter .8s var(--fd-ease);
  filter: blur(0);
}
/* Fallback pra browsers sem background-clip: text */
@supports not (-webkit-background-clip: text) {
  .lp-kinetic__word { color: rgba(255,255,255,.8); background: none; }
}
.lp-kinetic__word.is-active {
  background: linear-gradient(90deg, #ffffff 0%, #dbeafe 50%, #60a5fa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  transform: scale(1.02);
  filter: drop-shadow(0 10px 24px rgba(59,130,246,.45));
}
.lp-kinetic__sep {
  color: rgba(255,255,255,.25);
  font-weight: 800;
}

.lp-hero__subtitle {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  color: rgba(255,255,255,.78);
  max-width: 640px;
  margin: 1.25rem auto 2.5rem;
  text-wrap: balance;
}
.lp-hero__subtitle strong { color: #fff; font-weight: 600; }

/* dual CTAs */
.lp-hero__cta,
.lp-hero__actions,
.lp-dual-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

.lp-hero__cta-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 1.1rem 1.4rem;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(20px);
  color: #fff;
  text-decoration: none;
  min-width: 260px;
  transition: all .3s var(--fd-ease);
  position: relative;
  overflow: hidden;
}
.lp-hero__cta-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(37,99,235,.18), rgba(96,165,250,.05));
  opacity: 0;
  transition: opacity .3s var(--fd-ease);
}
.lp-hero__cta-card:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.32);
}
.lp-hero__cta-card:hover::after { opacity: 1; }
.lp-hero__cta-card--work strong { color: #6ee7b7; }
.lp-hero__cta-card--hire strong { color: #93c5fd; }

.lp-hero__cta-icon {
  display: inline-flex;
  width: 36px; height: 36px;
  border-radius: 10px;
  align-items: center; justify-content: center;
  background: rgba(255,255,255,.1);
  margin-bottom: .6rem;
}
.lp-hero__cta-icon svg { width: 20px; height: 20px; color:#fff; }
.lp-hero__cta-card strong {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: .15rem;
}
.lp-hero__cta-label { font-size: .85rem; color: rgba(255,255,255,.7); }

/* Big single button (used in secondary landings) */
.lp-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .95rem 1.7rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: transform .25s var(--fd-ease), box-shadow .25s var(--fd-ease);
  white-space: nowrap;
}
.lp-hero__btn--primary {
  background: #fff;
  color: var(--fd-navy);
  box-shadow: 0 10px 24px -8px rgba(0,0,0,.4);
}
.lp-hero__btn--primary:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -10px rgba(0,0,0,.5); }
.lp-hero__btn--secondary {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(10px);
}
.lp-hero__btn--secondary:hover { background: rgba(255,255,255,.14); }

/* waitlist micro link */
.lp-hero__waitlist {
  margin-top: 1rem;
  font-size: .9rem;
}
.lp-hero__waitlist-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .4rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.85);
  text-decoration: none;
  transition: all .2s var(--fd-ease);
}
.lp-hero__waitlist-link:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.lp-hero__waitlist-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fd-azure);
  animation: lp-pulse 2s infinite;
}

/* hero scroll cue */
.lp-hero__scroll {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  font-size: .78rem;
  color: rgba(255,255,255,.55);
  letter-spacing: .15em;
  text-transform: uppercase;
  animation: lp-bounce 2.4s ease-in-out infinite;
}
.lp-hero__scroll svg { width: 18px; height: 18px; }
@keyframes lp-bounce {
  0%, 100% { transform: translate(-50%, 0); }
  50%      { transform: translate(-50%, 8px); }
}

/* ==========================================================================
   SECTIONS — base
   ========================================================================== */

.lp-section,
.lp-stats, .lp-cct, .lp-piso, .lp-irpf, .lp-how, .lp-app, .lp-trust,
.lp-cta, .lp-pain, .lp-steps, .lp-gigs, .lp-benefits, .lp-testimonials,
.lp-categories, .lp-pricing, .lp-manifesto, .lp-marquee-section {
  padding: clamp(3.5rem, 7vw, 7rem) clamp(1.25rem, 4vw, 2.5rem);
  position: relative;
}

.lp-container {
  max-width: 1200px;
  margin: 0 auto;
}

.lp-section-header {
  max-width: 720px;
  margin: 0 auto 3.5rem;
  text-align: center;
}
.lp-section-tag {
  display: inline-block;
  padding: .35rem .85rem;
  border-radius: 999px;
  background: var(--fd-mist);
  color: var(--fd-primary);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.lp-section-title {
  font-size: clamp(1.85rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0 0 .85rem;
  color: var(--fd-ink);
  text-wrap: balance;
}
.lp-section-title em {
  font-style: normal;
  background: var(--fd-grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lp-section-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  color: var(--fd-ash);
  max-width: 580px;
  margin: 0 auto;
  text-wrap: balance;
}

/* Reveal animation */
.lp-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s var(--fd-ease), transform .8s var(--fd-ease);
}
.lp-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}
.lp-reveal--delay-1 { transition-delay: .08s; }
.lp-reveal--delay-2 { transition-delay: .16s; }
.lp-reveal--delay-3 { transition-delay: .24s; }
.lp-reveal--delay-4 { transition-delay: .32s; }

@media (prefers-reduced-motion: reduce) {
  .lp-reveal { opacity: 1; transform: none; transition: none; }
  .lp-hero::before, .lp-hero::after { animation: none; }
  * { animation: none !important; transition: none !important; }
}

/* ==========================================================================
   STATS BAR
   ========================================================================== */

.lp-stats {
  background: linear-gradient(180deg, var(--fd-paper) 0%, var(--fd-mist) 100%);
  border-bottom: 1px solid var(--fd-line);
}
.lp-stats__inner,
.lp-stats__grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 2rem;
  text-align: center;
}
.lp-stats__item-value,
.lp-stats__number {
  font-size: clamp(2.2rem, 5vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -.04em;
  background: var(--fd-grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
  margin-bottom: .35rem;
}
.lp-stats__number--green { background: var(--fd-grad-money); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-stats__number--blue  { background: linear-gradient(135deg, var(--fd-blue), var(--fd-azure)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-stats__item-label,
.lp-stats__label {
  font-size: .92rem;
  color: var(--fd-ash);
  font-weight: 500;
}

/* ==========================================================================
   MARQUEE — categorias rolando
   ========================================================================== */

.lp-marquee-section {
  padding: 1.5rem 0;
  background: var(--fd-ink);
  color: #fff;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.lp-marquee {
  display: flex;
  gap: 3rem;
  white-space: nowrap;
  animation: lp-marquee 40s linear infinite;
  align-items: center;
}
.lp-marquee.is-static { animation: none; }
.lp-marquee:hover { animation-play-state: paused; }
.lp-marquee__track {
  display: flex;
  gap: 3rem;
  align-items: center;
  flex-shrink: 0;
}
.lp-marquee__item {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-size: 1.15rem;
  font-weight: 600;
  color: rgba(255,255,255,.7);
}
.lp-marquee__item svg { width: 18px; height: 18px; opacity: .6; }
.lp-marquee__sep {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--fd-azure);
}
@keyframes lp-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ==========================================================================
   MANIFESTO — "Diária não é bico. É profissão."
   ========================================================================== */

.lp-manifesto {
  background: var(--fd-navy);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.lp-manifesto::before {
  content: "";
  position: absolute;
  inset: -50% -10% auto -10%;
  height: 60%;
  background: radial-gradient(ellipse, rgba(59,130,246,.35), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.lp-manifesto__inner { position: relative; z-index: 1; }
.lp-manifesto__quote {
  font-size: clamp(1.85rem, 5vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.08;
  margin: 0 auto 1rem;
  max-width: 900px;
  text-wrap: balance;
}
.lp-manifesto__quote em {
  font-style: normal;
  /* Gradient mais claro/brilhante pra garantir legibilidade sobre fundo navy escuro (WCAG AA) */
  background: linear-gradient(90deg, #93c5fd 0%, #60a5fa 50%, #bfdbfe 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  /* Fallback: se background-clip não funcionar, usa cor clara */
  -webkit-text-fill-color: transparent;
}
/* Garante legibilidade em mobile onde o gradient pode falhar */
@supports not (-webkit-background-clip: text) {
  .lp-manifesto__quote em {
    color: #93c5fd;
    background: none;
  }
}
.lp-manifesto__caption {
  font-size: 1.05rem;
  color: rgba(255,255,255,.7);
  max-width: 620px;
  margin: 0 auto 3rem;
}
.lp-manifesto__pillars {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem;
  max-width: 980px;
  margin: 0 auto;
}
.lp-manifesto__pillar {
  padding: 2rem 1.5rem;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  text-align: left;
  backdrop-filter: blur(10px);
  transition: transform .3s var(--fd-ease), background .3s var(--fd-ease);
}
.lp-manifesto__pillar:hover {
  transform: translateY(-4px);
  background: rgba(255,255,255,.06);
}
.lp-manifesto__pillar-icon {
  display: inline-flex;
  width: 44px; height: 44px;
  border-radius: 12px;
  align-items: center; justify-content: center;
  background: var(--fd-grad-text);
  margin-bottom: 1rem;
}
.lp-manifesto__pillar-icon svg { width: 22px; height: 22px; color: #fff; }
.lp-manifesto__pillar h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 .35rem;
  color: #fff;
}
.lp-manifesto__pillar p {
  font-size: .94rem;
  color: rgba(255,255,255,.7);
  margin: 0;
  line-height: 1.5;
}

/* ==========================================================================
   PISO JUSTO (era CCT) — Transparência radical
   ========================================================================== */

.lp-piso, .lp-cct {
  background: linear-gradient(180deg, var(--fd-paper) 0%, var(--fd-mist) 100%);
}
.lp-piso__grid, .lp-cct__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-piso__card, .lp-cct__card {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 18px;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  transition: transform .3s var(--fd-ease), border-color .3s var(--fd-ease), box-shadow .3s var(--fd-ease);
  transform-style: preserve-3d;
  transform: perspective(800px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
}
.lp-piso__card::before, .lp-cct__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(37,99,235,.05) 0%, transparent 50%);
  pointer-events: none;
}
.lp-piso__card:hover, .lp-cct__card:hover {
  transform: perspective(800px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-3px);
  border-color: var(--fd-azure);
  box-shadow: var(--fd-shadow-lg);
}
.lp-piso__card-head, .lp-cct__card-head {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  margin-bottom: 1rem;
}
.lp-piso__card-icon, .lp-cct__card-icon {
  display: inline-flex;
  width: 40px; height: 40px;
  border-radius: 10px;
  align-items: center; justify-content: center;
  background: var(--fd-mist);
  font-size: 1.2rem;
  flex-shrink: 0;
}
.lp-piso__card-title, .lp-cct__card-title {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--fd-ink);
}
.lp-piso__card-ref, .lp-cct__card-ref {
  font-size: .78rem;
  color: var(--fd-mute);
  display: block;
  margin-top: .2rem;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
}
.lp-piso__floor, .lp-cct__floor {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .9rem;
  background: var(--fd-mist);
  border-radius: 10px;
  margin-bottom: .6rem;
}
.lp-piso__floor-label, .lp-cct__floor-label {
  font-size: .75rem;
  color: var(--fd-mute);
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600;
}
.lp-piso__floor-value, .lp-cct__floor-value {
  font-size: 1.4rem;
  font-weight: 800;
  background: var(--fd-grad-money);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.lp-piso__monthly, .lp-cct__monthly {
  font-size: .82rem;
  color: var(--fd-ash);
}
.lp-piso__cats, .lp-cct__cats {
  font-size: .82rem;
  color: var(--fd-mute);
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px dashed var(--fd-line);
}
.lp-piso__validity, .lp-cct__validity {
  font-size: .72rem;
  color: var(--fd-mute);
  margin-top: .25rem;
}
.lp-piso__foot, .lp-cct__foot {
  text-align: center;
  font-size: .95rem;
  color: var(--fd-ash);
  margin-top: 2rem;
}
.lp-piso__link, .lp-cct__link {
  color: var(--fd-primary);
  font-weight: 600;
  text-decoration: none;
}
.lp-piso__link:hover, .lp-cct__link:hover { text-decoration: underline; }

/* ==========================================================================
   IRPF banner
   ========================================================================== */

.lp-irpf {
  padding: 3.5rem clamp(1.25rem,4vw,2.5rem);
}
.lp-irpf__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 2.2rem 2.4rem;
  max-width: 1080px;
  margin: 0 auto;
  background: linear-gradient(135deg, #022c22 0%, #064e3b 100%);
  border-radius: 22px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.lp-irpf__inner::before {
  content: "";
  position: absolute;
  right: -10%; top: -50%;
  width: 60%; height: 200%;
  background: radial-gradient(ellipse, rgba(16,185,129,.4), transparent 60%);
  pointer-events: none;
}
.lp-irpf__icon {
  font-size: 2.8rem;
  flex-shrink: 0;
  z-index: 1;
}
.lp-irpf__body { position: relative; z-index: 1; }
.lp-irpf__title {
  font-size: 1.45rem;
  font-weight: 800;
  margin: 0 0 .35rem;
}
.lp-irpf__text {
  margin: 0;
  font-size: .98rem;
  color: rgba(255,255,255,.85);
  line-height: 1.55;
}
.lp-irpf__text strong { color: var(--fd-money); }

@media (max-width: 640px) {
  .lp-irpf__inner { flex-direction: column; text-align: center; padding: 2rem 1.4rem; }
}

/* ==========================================================================
   HOW IT WORKS — tabs
   ========================================================================== */

.lp-how__tabs, .lp-steps__tabs {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-bottom: 3rem;
  flex-wrap: wrap;
}
.lp-how__tab {
  padding: .7rem 1.5rem;
  border-radius: 999px;
  border: 1px solid var(--fd-line);
  background: #fff;
  font-weight: 600;
  font-size: .94rem;
  color: var(--fd-ash);
  cursor: pointer;
  transition: all .25s var(--fd-ease);
}
.lp-how__tab:hover { color: var(--fd-primary); border-color: var(--fd-azure); }
.lp-how__tab--active {
  background: var(--fd-ink);
  color: #fff;
  border-color: var(--fd-ink);
}

.lp-how__panel { display: none; }
.lp-how__panel--active { display: block; }

.lp-how__steps, .lp-steps__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
  counter-reset: lp-step;
}
.lp-step {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
  position: relative;
  overflow: hidden;
  transition: transform .3s var(--fd-ease), border-color .3s var(--fd-ease);
}
.lp-step:hover {
  transform: translateY(-4px);
  border-color: var(--fd-azure);
}
.lp-step::after {
  content: "";
  position: absolute;
  inset: auto -30% -30% auto;
  width: 200px; height: 200px;
  background: radial-gradient(circle, var(--fd-mist), transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity .3s var(--fd-ease);
}
.lp-step:hover::after { opacity: 1; }
.lp-step__number {
  display: inline-flex;
  width: 42px; height: 42px;
  border-radius: 12px;
  align-items: center; justify-content: center;
  background: var(--fd-grad-text);
  color: #fff;
  font-weight: 800;
  font-size: 1.1rem;
  margin-bottom: 1rem;
}
.lp-step__number--green { background: var(--fd-grad-money); }
.lp-step__number--blue  { background: linear-gradient(135deg, var(--fd-blue), var(--fd-azure)); }
.lp-step__number--purple{ background: linear-gradient(135deg, #7c3aed, #a855f7); }
.lp-step__title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 .5rem;
  color: var(--fd-ink);
}
.lp-step__text, .lp-step__desc {
  font-size: .95rem;
  color: var(--fd-ash);
  line-height: 1.55;
  margin: 0;
}

/* ==========================================================================
   APP SHOWCASE
   ========================================================================== */

.lp-app__inner {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 4rem;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 880px) {
  .lp-app__inner { grid-template-columns: 1fr; gap: 3rem; }
}
.lp-app__tag {
  display: inline-block;
  padding: .35rem .85rem;
  border-radius: 999px;
  background: var(--fd-mist);
  color: var(--fd-primary);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.lp-app__title {
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.05;
  margin: 0 0 1rem;
  color: var(--fd-ink);
}
.lp-app__text {
  font-size: 1.05rem;
  color: var(--fd-ash);
  line-height: 1.6;
  margin: 0 0 2rem;
}
.lp-app__features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
}
.lp-app__feat {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: .94rem;
  color: var(--fd-ink-2);
  font-weight: 500;
}
.lp-app__feat-icon {
  display: inline-flex;
  width: 32px; height: 32px;
  border-radius: 8px;
  align-items: center; justify-content: center;
  background: var(--fd-mist);
  flex-shrink: 0;
}
.lp-app__feat-icon svg { width: 16px; height: 16px; color: var(--fd-primary); }

/* Phone mockup */
.lp-app__phone {
  display: flex;
  justify-content: center;
  align-items: center;
}
.lp-app__mockup {
  width: 280px;
  height: 560px;
  border-radius: 42px;
  background: var(--fd-navy);
  position: relative;
  padding: 2.2rem 1.2rem 1.2rem;
  box-shadow:
    0 25px 60px -20px rgba(15,23,42,.5),
    inset 0 0 0 4px #1e3a8a,
    inset 0 0 0 10px var(--fd-navy);
  overflow: hidden;
}
.lp-app__mockup::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(30% 30% at 50% 0%, rgba(37,99,235,.3), transparent 60%),
    linear-gradient(180deg, #0a1e44 0%, #14275c 100%);
}
.lp-app__mockup-notch {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 110px; height: 22px;
  background: #000;
  border-radius: 0 0 14px 14px;
  z-index: 2;
}
.lp-app__mockup-logo {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: -.04em;
  margin-bottom: .25rem;
  margin-top: 1rem;
}
.lp-app__mockup-tagline {
  position: relative;
  z-index: 1;
  text-align: center;
  font-size: .8rem;
  color: rgba(255,255,255,.65);
  margin-bottom: 1.5rem;
}
.lp-app__mockup-cards {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.lp-app__mockup-card {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .8rem;
  background: rgba(255,255,255,.08);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.1);
}
.lp-app__mockup-card-dot {
  width: 28px; height: 28px;
  border-radius: 8px;
  flex-shrink: 0;
}
.lp-app__mockup-card-lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: .35rem;
}
.lp-app__mockup-card-line {
  height: 8px;
  background: rgba(255,255,255,.15);
  border-radius: 4px;
}
.lp-app__mockup-card-line--short { width: 60%; background: rgba(255,255,255,.1); }

/* ==========================================================================
   TRUST GRID
   ========================================================================== */

.lp-trust__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-trust__card {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
  transition: transform .3s var(--fd-ease), border-color .3s var(--fd-ease);
}
.lp-trust__card:hover {
  transform: translateY(-4px);
  border-color: var(--fd-azure);
  box-shadow: var(--fd-shadow);
}
.lp-trust__icon {
  display: inline-flex;
  width: 48px; height: 48px;
  border-radius: 14px;
  align-items: center; justify-content: center;
  margin-bottom: 1rem;
}
.lp-trust__icon svg { width: 24px; height: 24px; color:#fff; }
.lp-trust__icon--blue   { background: linear-gradient(135deg, var(--fd-blue), var(--fd-azure)); }
.lp-trust__icon--green  { background: var(--fd-grad-money); }
.lp-trust__icon--amber  { background: linear-gradient(135deg, #d97706, #f59e0b); }
.lp-trust__icon--purple { background: linear-gradient(135deg, #7c3aed, #a855f7); }
.lp-trust__icon--rose   { background: linear-gradient(135deg, #be185d, #ec4899); }
.lp-trust__icon--cyan   { background: linear-gradient(135deg, #0891b2, #06b6d4); }
.lp-trust__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 .5rem;
  color: var(--fd-ink);
}
.lp-trust__text {
  font-size: .94rem;
  color: var(--fd-ash);
  margin: 0;
  line-height: 1.5;
}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */

.lp-cta {
  background: var(--fd-navy);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.lp-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(60% 50% at 50% 0%, rgba(59,130,246,.3), transparent 60%),
    radial-gradient(40% 40% at 0% 100%, rgba(96,165,250,.2), transparent 60%);
  pointer-events: none;
}
.lp-cta--green { background: linear-gradient(135deg, #064e3b 0%, var(--fd-money-d) 100%); }
.lp-cta--blue  { background: linear-gradient(135deg, var(--fd-navy) 0%, var(--fd-primary) 100%); }
.lp-cta--purple{ background: linear-gradient(135deg, #581c87 0%, #7c3aed 100%); }

.lp-cta__inner, .lp-cta .lp-container {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}
.lp-cta__title {
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 900;
  letter-spacing: -.035em;
  line-height: 1.05;
  margin: 0 0 1rem;
}
.lp-cta__text, .lp-cta__subtitle {
  font-size: 1.1rem;
  color: rgba(255,255,255,.78);
  margin: 0 0 2rem;
}
.lp-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.lp-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 1rem 1.8rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  transition: transform .25s var(--fd-ease), box-shadow .25s var(--fd-ease);
}
.lp-cta__btn--primary {
  background: #fff;
  color: var(--fd-navy);
  box-shadow: 0 10px 28px -8px rgba(0,0,0,.4);
}
.lp-cta__btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -10px rgba(0,0,0,.5); }
.lp-cta__btn--outline {
  background: rgba(255,255,255,.06);
  color: #fff;
  border: 1px solid rgba(255,255,255,.25);
}
.lp-cta__btn--outline:hover { background: rgba(255,255,255,.12); }
.lp-cta__whatsapp {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .92rem;
  color: rgba(255,255,255,.7);
  text-decoration: none;
  margin-top: 1rem;
  transition: color .2s var(--fd-ease);
}
.lp-cta__whatsapp:hover { color: #fff; }

/* ==========================================================================
   FOOTER
   ========================================================================== */

.lp-footer {
  background: #050a1a;
  color: rgba(255,255,255,.7);
  padding: 3rem clamp(1.25rem,4vw,2.5rem) 2.5rem;
}
.lp-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.lp-footer__brand, .lp-footer__logo {
  display: inline-flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: #fff;
  text-decoration: none;
}
.lp-footer__brand-img {
  height: 34px;
  width: auto;
  filter: brightness(0) invert(1);
}
.lp-footer__links {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.lp-footer__link {
  color: rgba(255,255,255,.65);
  font-size: .92rem;
  text-decoration: none;
  transition: color .2s var(--fd-ease);
}
.lp-footer__link:hover { color: #fff; }
.lp-footer__copy {
  font-size: .85rem;
  color: rgba(255,255,255,.5);
  flex-basis: 100%;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 1.5rem;
  margin-top: 1rem;
}

/* ==========================================================================
   SECONDARY LANDINGS — Pain / Benefits / Categories / Pricing / Testimonials
   ========================================================================== */

/* pain */
.lp-pain__header, .lp-benefits__header, .lp-categories__header,
.lp-pricing__header, .lp-testimonials__header, .lp-steps__header,
.lp-gigs__header {
  text-align: center;
  margin-bottom: 3rem;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.lp-pain__title, .lp-benefits__title, .lp-categories__title,
.lp-pricing__title, .lp-testimonials__title, .lp-steps__title,
.lp-gigs__title {
  font-size: clamp(1.85rem, 4vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -.03em;
  margin: 0 0 .75rem;
  color: var(--fd-ink);
  text-wrap: balance;
}
.lp-pain__subtitle, .lp-benefits__subtitle, .lp-categories__subtitle,
.lp-pricing__subtitle, .lp-testimonials__subtitle, .lp-steps__subtitle,
.lp-gigs__subtitle {
  font-size: 1.05rem;
  color: var(--fd-ash);
  margin: 0;
  text-wrap: balance;
}
.lp-pain__grid, .lp-benefits__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-pain__card, .lp-benefit {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
  transition: transform .3s var(--fd-ease), border-color .3s var(--fd-ease);
}
.lp-pain__card:hover, .lp-benefit:hover {
  transform: translateY(-4px);
  border-color: var(--fd-azure);
  box-shadow: var(--fd-shadow);
}
.lp-pain__emoji { font-size: 2rem; display: block; margin-bottom: .75rem; }
.lp-benefit__icon {
  display: inline-flex;
  width: 44px; height: 44px;
  border-radius: 12px;
  align-items: center; justify-content: center;
  background: var(--fd-mist);
  margin-bottom: 1rem;
}
.lp-benefit__icon--green { background: #d1fae5; }
.lp-benefit__icon svg { width: 22px; height: 22px; color: var(--fd-primary); }
.lp-benefit__title, .lp-pain__card .lp-pain__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 .5rem;
  color: var(--fd-ink);
}
.lp-benefit__desc, .lp-pain__desc {
  font-size: .94rem;
  color: var(--fd-ash);
  margin: 0;
  line-height: 1.55;
}

/* categories */
.lp-categories__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  max-width: 1080px;
  margin: 0 auto;
}
.lp-category-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem;
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 14px;
  transition: transform .3s var(--fd-ease), border-color .3s var(--fd-ease);
}
.lp-category-card:hover {
  transform: translateY(-3px);
  border-color: var(--fd-azure);
}
.lp-category-card__emoji { font-size: 2rem; }
.lp-category-card__name { font-weight: 700; font-size: 1rem; color: var(--fd-ink); }
.lp-category-card__count { font-size: .82rem; color: var(--fd-mute); }

/* pricing */
.lp-pricing__card {
  max-width: 520px;
  margin: 0 auto;
  background: linear-gradient(160deg, #fff 0%, var(--fd-mist) 100%);
  border: 2px solid var(--fd-primary);
  border-radius: 22px;
  padding: 2.5rem 2rem;
  text-align: center;
  position: relative;
}
.lp-pricing__badge {
  display: inline-block;
  padding: .4rem .9rem;
  border-radius: 999px;
  background: var(--fd-grad-text);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: 1rem;
}
.lp-pricing__price {
  font-size: 2.6rem;
  font-weight: 900;
  letter-spacing: -.03em;
  background: var(--fd-grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: .75rem;
}
.lp-pricing__desc {
  font-size: .95rem;
  color: var(--fd-ash);
  margin-bottom: 1.5rem;
  line-height: 1.55;
}
.lp-pricing__features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  text-align: left;
}
.lp-pricing__feature {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .55rem 0;
  font-size: .94rem;
  color: var(--fd-ink-2);
}
.lp-pricing__feature-icon {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--fd-money);
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* testimonials */
.lp-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-testimonial {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 18px;
  padding: 1.75rem 1.5rem;
}
.lp-testimonial__stars {
  color: #f59e0b;
  font-size: 1.1rem;
  margin-bottom: .75rem;
  letter-spacing: 2px;
}
.lp-testimonial__text {
  font-size: .98rem;
  color: var(--fd-ink-2);
  line-height: 1.6;
  margin: 0 0 1.5rem;
  font-style: italic;
}
.lp-testimonial__author {
  display: flex;
  align-items: center;
  gap: .75rem;
}
.lp-testimonial__avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: var(--fd-grad-text);
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lp-testimonial__name { font-weight: 700; color: var(--fd-ink); font-size: .94rem; }
.lp-testimonial__role { font-size: .82rem; color: var(--fd-mute); }

/* gigs */
.lp-gigs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-gig-card {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 18px;
  padding: 1.5rem;
  transition: transform .3s var(--fd-ease), border-color .3s var(--fd-ease);
}
.lp-gig-card:hover {
  transform: translateY(-3px);
  border-color: var(--fd-azure);
  box-shadow: var(--fd-shadow);
}
.lp-gig-card__category {
  display: inline-block;
  padding: .25rem .65rem;
  border-radius: 999px;
  background: var(--fd-mist);
  color: var(--fd-primary);
  font-size: .72rem;
  font-weight: 600;
  margin-bottom: .65rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.lp-gig-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 .35rem;
  color: var(--fd-ink);
}
.lp-gig-card__company { font-size: .9rem; color: var(--fd-mute); margin: 0 0 .85rem; }
.lp-gig-card__pay {
  font-size: 1.5rem;
  font-weight: 800;
  background: var(--fd-grad-money);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: .35rem;
}
.lp-gig-card__meta { font-size: .82rem; color: var(--fd-mute); }
.lp-gigs__empty {
  text-align: center;
  padding: 3rem;
  background: var(--fd-mist);
  border-radius: 18px;
  max-width: 580px;
  margin: 0 auto;
}
.lp-gigs__empty-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--fd-ink);
  margin: 0 0 .5rem;
}

/* dual CTA for cidade */
.lp-dual-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: .95rem 1.7rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  transition: transform .25s var(--fd-ease), box-shadow .25s var(--fd-ease);
  white-space: nowrap;
}
.lp-dual-cta__btn--work {
  background: var(--fd-grad-money);
  color: #fff;
}
.lp-dual-cta__btn--hire {
  background: var(--fd-grad-text);
  color: #fff;
}
.lp-dual-cta__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -10px rgba(15,23,42,.3);
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.lp-faq {
  max-width: 760px;
  margin: 0 auto;
}
.lp-faq__item {
  border-bottom: 1px solid var(--fd-line);
  padding: 1.2rem 0;
}
.lp-faq__q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--fd-ink);
  list-style: none;
}
.lp-faq__q::-webkit-details-marker { display: none; }
.lp-faq__q::after {
  content: "+";
  font-size: 1.6rem;
  font-weight: 300;
  color: var(--fd-primary);
  transition: transform .25s var(--fd-ease);
}
.lp-faq__item[open] .lp-faq__q::after { transform: rotate(45deg); }
.lp-faq__a {
  padding-top: .8rem;
  font-size: .98rem;
  color: var(--fd-ash);
  line-height: 1.65;
}

/* ==========================================================================
   DUAL SECTION — Empresa + Profissional (equilíbrio dos dois lados)
   ========================================================================== */

.lp-dual {
  background: var(--fd-bg);
}
.lp-dual__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}
.lp-dual__card {
  background: #fff;
  border: 1px solid var(--fd-line);
  border-radius: 22px;
  padding: 2rem 1.75rem;
  position: relative;
  overflow: hidden;
  transition: transform .3s var(--fd-ease), box-shadow .3s var(--fd-ease);
}
.lp-dual__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--fd-shadow-lg);
}
.lp-dual__card--empresa {
  border-top: 3px solid var(--fd-primary);
}
.lp-dual__card--profissional {
  border-top: 3px solid var(--fd-money);
}
.lp-dual__card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.lp-dual__card-header h3 {
  font-size: 1.25rem;
  font-weight: 800;
  margin: 0;
  color: var(--fd-ink);
}
.lp-dual__card-icon {
  display: inline-flex;
  width: 48px; height: 48px;
  border-radius: 14px;
  align-items: center; justify-content: center;
  flex-shrink: 0;
}
.lp-dual__card-icon svg { width: 24px; height: 24px; color: #fff; }
.lp-dual__card-icon--blue  { background: linear-gradient(135deg, var(--fd-blue), var(--fd-azure)); }
.lp-dual__card-icon--green { background: var(--fd-grad-money); }
.lp-dual__list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.lp-dual__list li {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  font-size: .96rem;
  color: var(--fd-ink-2);
  line-height: 1.45;
}
.lp-dual__check {
  display: inline-flex;
  width: 20px; height: 20px;
  border-radius: 50%;
  align-items: center; justify-content: center;
  background: var(--fd-mist);
  color: var(--fd-primary);
  font-size: .72rem;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: .1rem;
}
.lp-dual__check--green {
  background: #d1fae5;
  color: var(--fd-money-d);
}
.lp-dual__cta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .85rem 1.5rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: .95rem;
  text-decoration: none;
  transition: transform .25s var(--fd-ease), box-shadow .25s var(--fd-ease);
  width: 100%;
  justify-content: center;
}
.lp-dual__cta--blue {
  background: linear-gradient(135deg, var(--fd-blue), var(--fd-azure));
  color: #fff;
  box-shadow: 0 8px 20px -8px rgba(37,99,235,.4);
}
.lp-dual__cta--green {
  background: var(--fd-grad-money);
  color: #fff;
  box-shadow: 0 8px 20px -8px rgba(16,185,129,.4);
}
.lp-dual__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -8px rgba(15,23,42,.25);
}

/* ==========================================================================
   Responsive tuning
   ========================================================================== */

@media (max-width: 720px) {
  .lp-hero__cta { flex-direction: column; }
  .lp-hero__cta-card { min-width: 100%; }
  .lp-nav__links { gap: .25rem; }
  .lp-nav__link { padding: .4rem .65rem; font-size: .85rem; }
  .lp-dual__grid { grid-template-columns: 1fr; }
}
