/* Final visual layer for the public landing page. */

.landing-publica {
  --landing-ink: #17221d;
  --landing-muted: #65736a;
  --landing-paper: #f7f9f7;
  --landing-line: #dfe7e1;
  --landing-accent: #ee5a2f;
  --landing-accent-dark: #c83d24;
  background: var(--landing-paper);
  color: var(--landing-ink);
}

.landing-publica .landing-topo {
  height: 72px !important;
  padding: 0 clamp(20px, 4vw, 56px) !important;
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid rgba(23, 34, 29, .1) !important;
  box-shadow: 0 8px 24px rgba(23, 34, 29, .06) !important;
  backdrop-filter: blur(18px) !important;
}

.landing-publica .landing-topo nav { gap: 10px !important; }
.landing-publica .landing-topo nav a {
  color: #536258 !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  padding: 8px 10px !important;
}
.landing-publica .landing-topo nav a:hover { color: var(--landing-accent) !important; }
.landing-publica .landing-topo .landing-entrar,
.landing-publica .landing-topo .landing-criar {
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}
.landing-publica .landing-topo .landing-entrar {
  color: var(--landing-ink) !important;
  border-color: var(--landing-line) !important;
  background: #fff !important;
}
.landing-publica .landing-topo .landing-criar {
  background: var(--landing-ink) !important;
  box-shadow: 0 8px 18px rgba(23, 34, 29, .16) !important;
}
.landing-publica .landing-whatsapp-link { display: none !important; }

.landing-publica .landing-hero {
  min-height: 730px !important;
  padding: 132px clamp(20px, 5vw, 76px) 82px !important;
  background:
    radial-gradient(circle at 80% 35%, rgba(238, 90, 47, .13), transparent 28%),
    linear-gradient(135deg, #f7faf8 0%, #eef4f0 100%) !important;
}
.landing-publica .landing-hero::before {
  opacity: .55;
  background-image: linear-gradient(rgba(23, 34, 29, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(23, 34, 29, .035) 1px, transparent 1px) !important;
  background-size: 44px 44px !important;
  mask-image: linear-gradient(90deg, black, transparent 85%) !important;
}
.landing-publica .landing-hero::after,
.landing-publica .hero-gradient-2,
.landing-publica .hero-particles { display: none !important; }
.landing-publica .landing-hero-content {
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr) !important;
  max-width: 1240px !important;
  gap: clamp(30px, 5vw, 86px) !important;
}
.landing-publica .hero-left { gap: 22px !important; }
.landing-publica .hero-badge {
  width: fit-content;
  padding: 8px 12px !important;
  border: 1px solid rgba(238, 90, 47, .24) !important;
  border-radius: 6px !important;
  background: rgba(238, 90, 47, .08) !important;
  color: var(--landing-accent-dark) !important;
  font-size: .72rem !important;
  letter-spacing: .35px !important;
}
.landing-publica .hero-title {
  max-width: 650px !important;
  font-family: "League Spartan", "Arial Narrow", sans-serif !important;
  font-size: clamp(3.2rem, 6.1vw, 5.6rem) !important;
  line-height: .94 !important;
  letter-spacing: -2.7px !important;
  color: var(--landing-ink) !important;
  text-transform: none !important;
}
.landing-publica .hero-title .highlight {
  color: var(--landing-accent) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}
.landing-publica .hero-subtitle {
  max-width: 560px !important;
  color: #5e6b62 !important;
  font-size: clamp(1rem, 1.5vw, 1.16rem) !important;
  line-height: 1.62 !important;
}
.landing-publica .hero-actions { gap: 10px !important; }
.landing-publica .hero-btn {
  min-height: 52px;
  padding: 14px 20px !important;
  border-radius: 8px !important;
  font-size: .88rem !important;
  letter-spacing: .1px !important;
  text-transform: none !important;
}
.landing-publica .hero-btn--primary {
  background: var(--landing-accent) !important;
  box-shadow: 0 12px 24px rgba(238, 90, 47, .25) !important;
}
.landing-publica .hero-btn--primary:hover { background: var(--landing-accent-dark) !important; }
.landing-publica .hero-btn--ghost {
  color: var(--landing-ink) !important;
  background: rgba(255, 255, 255, .68) !important;
  border-color: #cbd8cf !important;
}
.landing-publica .hero-btn--ghost:hover { background: #fff !important; border-color: var(--landing-ink) !important; }
.landing-publica .hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-top: 4px;
  color: #6b786f;
  font-size: .76rem;
}
.landing-publica .hero-proof span { display: inline-flex; align-items: center; gap: 5px; }
.landing-publica .hero-proof span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #44a66a; }
.landing-publica .hero-proof strong { color: var(--landing-ink); }

.landing-publica .hero-right { align-self: stretch; display: flex; align-items: center; }
.landing-publica .mockup-3d-wrapper { width: min(100%, 590px); margin: 0 auto; transform: rotateY(-6deg) rotateX(3deg); }
.landing-publica .mockup-card {
  border-radius: 14px !important;
  border: 1px solid rgba(23, 34, 29, .12) !important;
  background: #17221d !important;
  box-shadow: 0 34px 75px rgba(23, 34, 29, .22), 0 8px 22px rgba(238, 90, 47, .14) !important;
}
.landing-publica .mockup-card::before { background: linear-gradient(180deg, rgba(238, 90, 47, .2), transparent) !important; }
.landing-publica .float-badge { background: #fff !important; color: var(--landing-ink) !important; border-color: rgba(23, 34, 29, .1) !important; box-shadow: 0 12px 24px rgba(23, 34, 29, .15) !important; }
.landing-publica .float-check { color: #33945a !important; }

.landing-publica .landing-apresentacao,
.landing-publica .landing-impact,
.landing-publica .landing-como-funciona,
.landing-publica .landing-planos,
.landing-publica .landing-faq { background: #fff !important; }
.landing-publica .landing-titulo-secao { max-width: 780px; }
.landing-publica .landing-titulo-secao > span { border-radius: 4px !important; font-size: .68rem !important; letter-spacing: 1.4px !important; }
.landing-publica .landing-titulo-secao h2 { font-family: "League Spartan", "Arial Narrow", sans-serif !important; color: var(--landing-ink) !important; letter-spacing: -1.4px !important; text-transform: none !important; }
.landing-publica .landing-mensagem-problema,
.landing-publica .landing-mensagem-resultado { color: var(--landing-ink) !important; }
.landing-publica .landing-impact { background: var(--landing-ink) !important; }
.landing-publica .marquee-item { color: #d9e2dc !important; }
.landing-publica .marque-num { color: #f28c54 !important; }

@media (max-width: 900px) {
  .landing-publica .landing-hero { min-height: auto !important; padding-top: 120px !important; }
  .landing-publica .landing-hero-content { grid-template-columns: 1fr !important; }
  .landing-publica .hero-left { max-width: 680px; margin: 0 auto; }
  .landing-publica .hero-right { max-width: 600px; width: 100%; margin: 0 auto; }
}
@media (max-width: 620px) {
  .landing-publica .landing-topo { height: 60px !important; }
  .landing-publica .landing-topo nav { display: flex !important; }
  .landing-publica .landing-topo nav a { display: none !important; }
  .landing-publica .landing-topo .landing-entrar { display: block !important; }
  .landing-publica .landing-topo .landing-criar { padding: 9px 12px !important; }
  .landing-publica .landing-hero { padding: 104px 20px 56px !important; }
  .landing-publica .hero-title { font-size: clamp(2.8rem, 13vw, 4.2rem) !important; letter-spacing: -1.7px !important; }
  .landing-publica .hero-actions { display: grid !important; width: 100%; }
  .landing-publica .hero-btn { width: 100%; }
  .landing-publica .hero-proof { gap: 10px 15px; }
  .landing-publica .mockup-3d-wrapper { transform: none !important; }
  .landing-publica .float-badge { display: none !important; }
}
