:root {
  --bg: #ffffff;
  --soft: #f7f5f0;
  --soft-blue: #f3efe8;
  --blue: #4a5b6b;
  --blue-deep: #24313d;
  --ink: #24313d;
  --muted: #677484;
  --line: #dfe6ec;
  --orange: #f47c20;
  --orange-strong: #ff6a1a;
  --red: #e13a17;
  --accent-text: #b8460a;
  --shadow: 0 24px 70px rgba(36, 49, 61, .10);
  --radius: 24px;
  --max: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.skip-link {
  position: absolute;
  left: -999px;
  top: 10px;
  background: var(--ink);
  color: white;
  padding: 10px 14px;
  border-radius: 10px;
  z-index: 99;
}
.skip-link:focus { left: 10px; }

.container {
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .86);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(223, 230, 236, .75);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.is-scrolled { box-shadow: 0 10px 40px rgba(36,49,61,.08); }
.header-inner {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand img { width: 185px; height: auto; }
.nav {
  display: flex;
  align-items: center;
  gap: 26px;
  font-weight: 600;
  font-size: 14px;
  color: var(--muted);
}
.nav a:hover { color: var(--ink); }
.nav-cta {
  background: var(--ink);
  color: white !important;
  padding: 11px 16px;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(36,49,61,.12);
}
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  padding: 8px;
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  height: 2px;
  background: var(--ink);
  margin: 7px 0;
}

.section { padding: 56px 0; }
.section-soft {
  background:
    radial-gradient(circle at 90% 10%, rgba(36,49,61,.14), transparent 33%),
    radial-gradient(circle at 10% 100%, rgba(244,124,32,.10), transparent 30%),
    var(--soft);
}

.hero.section-soft {
  background:
    linear-gradient(90deg, rgba(255,250,245,.96) 0%, rgba(255,250,245,.95) 45%, rgba(255,250,245,.82) 68%, rgba(255,250,245,.72) 100%),
    url("assets/hero-bg.jpg") center/cover no-repeat;
  overflow: hidden;
}
.section-blue {
  background:
    linear-gradient(180deg, rgba(238,246,251,.76), rgba(255,255,255,1));
}

.hero { min-height: calc(100vh - 78px); display: grid; align-items: center; padding: 56px 0 64px; }
.hero-grid, .two-col, .cta-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 70px;
  align-items: center;
}
.align-start { align-items: start; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue-deep);
  font-family: "Montserrat", Inter, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
}
.eyebrow span {
  width: 28px;
  height: 4px;
  background: linear-gradient(90deg, var(--orange), var(--red));
  border-radius: 999px;
}
h1, h2, h3, p { margin-top: 0; }
h1, h2 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-optical-sizing: auto;
  line-height: 1.08;
  letter-spacing: -.01em;
  color: var(--ink);
}
h1 {
  font-size: clamp(42px, 6vw, 76px);
  margin: 18px 0 24px;
}
h2 {
  font-size: clamp(30px, 4vw, 50px);
  margin: 14px 0 18px;
}
h3 { line-height: 1.2; }
.hero-copy p, .section-heading p, .content-block p, .cta-copy p {
  font-size: 18px;
  color: var(--muted);
  max-width: 650px;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 30px 0; }
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 14px 22px;
  font-weight: 800;
  border: 1px solid transparent;
  min-height: 50px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  cursor: pointer;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  background: linear-gradient(135deg, var(--orange), var(--red));
  color: white;
  box-shadow: 0 18px 40px rgba(225,58,23,.22);
}
.btn-secondary, .btn-outline {
  color: var(--ink);
  border-color: var(--line);
  background: white;
}
.btn-outline:hover, .btn-secondary:hover { box-shadow: 0 14px 34px rgba(36,49,61,.08); }
.btn-full { width: 100%; border: 0; }
.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.trust-row span {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(223,230,236,.7);
  color: var(--muted);
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.hero-card {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(223,230,236,.85);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
  padding: 34px;
  position: relative;
  overflow: hidden;
}
.hero-card::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -100px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(244,124,32,.22), transparent 65%);
}
.card-topline { width: 58px; height: 6px; border-radius: 999px; background: linear-gradient(90deg, var(--orange), var(--red)); margin-bottom: 22px; }
.mini-label { font-size: 13px; color: var(--blue-deep); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hero-card h2 { font-size: clamp(28px, 3vw, 44px); }
.dashboard-card { display: grid; gap: 12px; margin: 26px 0; position: relative; z-index: 1; }
.dashboard-card div {
  padding: 18px;
  background: rgba(247,245,240,.74);
  border: 1px solid rgba(223,230,236,.8);
  border-radius: 18px;
}
.dashboard-card strong { display: block; font-family: "Montserrat", Inter, system-ui, sans-serif; font-variant-numeric: tabular-nums; font-size: 20px; color: #1f7a4d; margin-bottom: 4px; }
.dashboard-card span { color: var(--muted); font-size: 14px; }
.text-link { color: var(--accent-text); font-weight: 800; position: relative; z-index: 1; }

.section-heading { max-width: 760px; }
.section-heading.center { text-align: center; margin: 0 auto 46px; }
.section-heading.center p { margin-left: auto; margin-right: auto; }
.content-block {
  border-left: 4px solid var(--blue);
  padding-left: 26px;
}
.about-grid {
  grid-template-columns: .92fr 1.08fr;
  gap: 58px;
}
.about-photo-card {
  background: linear-gradient(180deg, rgba(238,246,251,.88), rgba(255,255,255,1));
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 16px;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.about-photo-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  border-radius: 20px;
}
.about-content .section-heading {
  margin-bottom: 24px;
}
.value-grid, .services-grid, .packages-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.services-grid--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.value-card, .service-card, .package-card, .lead-form, .extra-offers, .problem-list div, .timeline-item {
  background: white;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 16px 45px rgba(36,49,61,.06);
}
.value-card { padding: 26px; }
.icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--blue-deep);
  background: var(--soft-blue);
  font-size: 24px;
  margin-bottom: 18px;
}
.value-card h3, .service-card h3 { margin-bottom: 8px; color: var(--ink); }
.value-card p, .service-card p, .package-description, .timeline-item p { color: var(--muted); margin-bottom: 0; }
.segments-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 30px;
}
.segment-card {
  min-height: 124px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  color: var(--ink);
  font-weight: 800;
  box-shadow: 0 14px 34px rgba(36,49,61,.05);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.segment-card:hover {
  transform: translateY(-3px);
  border-color: rgba(36,49,61,.22);
  box-shadow: 0 18px 42px rgba(36,49,61,.09);
}
.segment-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: var(--blue-deep);
  background: linear-gradient(180deg, var(--soft-blue), rgba(255,255,255,.95));
}
.segment-icon svg {
  width: 25px;
  height: 25px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}
.segment-card strong {
  display: block;
  font-size: 16px;
  line-height: 1.2;
}
.problem-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.problem-list div { padding: 20px; }
.problem-list strong { display: block; margin-bottom: 6px; }
.problem-list span { color: var(--muted); font-size: 14px; }
#problemas .problem-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
}

#problemas .problem-list div {
  min-height: 132px;
}

.services-grid { grid-template-columns: repeat(4, 1fr); }
.service-card { padding: 24px; }
.service-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: var(--soft-blue);
  color: var(--blue-deep);
  margin-bottom: 18px;
}
.service-icon svg { width: 20px; height: 20px; }

.cases-section {
  background:
    radial-gradient(circle at 15% 10%, rgba(36,49,61,.09), transparent 30%),
    linear-gradient(180deg, #fff, var(--soft));
  overflow: hidden;
}
.cases-carousel {
  overflow: hidden;
  width: 100%;
  padding: 8px 0 16px;
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.cases-track {
  display: flex;
  gap: 18px;
  width: max-content;
  animation: casesAutoScroll 38s linear infinite;
}
.cases-carousel:hover .cases-track {
  animation-play-state: paused;
}
.case-card {
  width: calc((min(var(--max), 100vw - 40px) - 72px) / 5);
  min-width: 205px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 45px rgba(36,49,61,.08);
}
.case-card picture { display: block; }
.case-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  object-position: top center;
  border-bottom: 1px solid var(--line);
}
.case-info {
  padding: 20px 18px;
  text-align: center;
}
.case-info h3 {
  margin: 0 0 4px;
  font-size: 17px;
  color: var(--ink);
}
.case-info p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.case-info .case-stat {
  display: inline-block;
  margin: -6px 0 14px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(31,122,77,.12);
  color: #1f7a4d;
  font-size: 12px;
  font-weight: 800;
}
.case-btn {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  font-size: 13px;
}
@keyframes casesAutoScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 9px)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1080px) {
  .case-card { width: 255px; }
}
@media (max-width: 560px) {
  .cases-carousel { mask-image: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
  .cases-track { animation: none; width: max-content; }
  .case-card { width: 250px; scroll-snap-align: start; }
  .case-card--duplicate { display: none; }
}

.packages-section .section-heading p { margin-inline: auto; }
.packages-grid { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
.package-card { padding: 30px; position: relative; display: flex; flex-direction: column; }
.package-featured {
  border: 2px solid rgba(244,124,32,.55);
  transform: translateY(-16px);
  box-shadow: 0 30px 70px rgba(225,58,23,.12);
}
.badge {
  position: absolute;
  top: 18px;
  right: 18px;
  background: linear-gradient(135deg, var(--orange), var(--red));
  color: white;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.package-kicker {
  color: var(--blue-deep);
  font-family: "Montserrat", Inter, system-ui, sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
  margin-bottom: 10px;
}
.package-card h3 { font-size: 25px; margin-bottom: 12px; }
.price {
  font-family: "Montserrat", Inter, system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  font-size: 34px;
  font-weight: 800;
  color: var(--ink);
  margin: 22px 0;
  letter-spacing: -.02em;
}
.price span { font-size: 14px; color: var(--muted); letter-spacing: 0; font-weight: 700; }
ul { padding-left: 20px; margin: 0 0 26px; color: var(--muted); }
li + li { margin-top: 9px; }
.compare-table-wrap {
  margin-top: 40px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: white;
  box-shadow: 0 16px 45px rgba(36,49,61,.06);
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}
.compare-table caption {
  text-align: left;
  font-weight: 800;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  padding: 18px 22px 0;
}
.compare-table th, .compare-table td {
  padding: 17px 24px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
}
.compare-table thead th {
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-weight: 800;
  color: var(--ink);
  vertical-align: bottom;
}
.compare-table thead th span { display: block; color: var(--muted); font-size: 13px; font-weight: 600; margin-top: 4px; }
.compare-table tbody th { color: var(--muted); font-weight: 700; white-space: nowrap; }
.compare-table td { color: var(--muted); }
.compare-table td.is-featured, .compare-table th.is-featured {
  background: linear-gradient(180deg, #fff8f3, #fff);
  color: var(--ink);
  font-weight: 700;
}
.compare-table tbody tr:last-child th, .compare-table tbody tr:last-child td { border-bottom: none; }

.faq-list {
  max-width: 780px;
  margin: 0 auto;
  display: grid;
  gap: 18px;
}
.faq-item {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 8px 28px;
  box-shadow: 0 16px 45px rgba(36,49,61,.06);
}
.faq-item summary {
  cursor: pointer;
  padding: 20px 0;
  font-weight: 700;
  color: var(--ink);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  flex: none;
  font-size: 22px;
  font-weight: 400;
  color: var(--blue-deep);
  transition: transform .2s ease;
}
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { color: var(--muted); margin: 0 0 20px; font-size: 15px; }

.extra-offers {
  margin-top: 18px;
  padding: 22px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.extra-offers div {
  padding: 18px;
  border-radius: 18px;
  background: var(--soft);
}
.extra-offers strong { display: block; margin-bottom: 6px; }
.extra-offers span { color: var(--muted); }
.timeline {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
  position: relative;
}
.timeline-item { padding: 22px; }
.timeline-item span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--soft-blue);
  color: var(--blue-deep);
  font-weight: 900;
  margin-bottom: 16px;
}
.timeline-item h3 { font-size: 16px; margin-bottom: 8px; }
.timeline-item p { font-size: 14px; }
.timeline-item.highlight {
  border-color: rgba(244,124,32,.55);
  background: linear-gradient(180deg, #fff, #fff8f3);
}
.timeline-item.highlight span { background: linear-gradient(135deg, var(--orange), var(--red)); color: white; }
.cta-section {
  background:
    radial-gradient(circle at 10% 20%, rgba(36,49,61,.14), transparent 35%),
    linear-gradient(135deg, var(--soft), #fff);
}
/* Box de contato com fundo cinza suave */
.lead-form {
  padding: 30px;
  display: grid;
  gap: 16px;
  background: linear-gradient(145deg, #e2e2e2 0%, #d7d7d7 55%, #cccccc 100%);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: 0 24px 70px rgba(36,49,61,.16), inset 0 1px 0 rgba(255,255,255,.72);
}
.lead-form label { display: grid; gap: 8px; font-weight: 800; color: var(--ink); }
.lead-form .btn-full { margin-top: 10px; }
.lead-form input, .lead-form select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 14px 14px;
  color: var(--ink);
  outline: none;
}
.lead-form input:focus, .lead-form select:focus { border-color: var(--accent-text); box-shadow: 0 0 0 4px rgba(184,70,10,.14); }
.small-note { font-size: 14px !important; background: rgba(255,255,255,.72); border-left: 3px solid var(--orange); padding: 12px 14px; border-radius: 12px; }
.footer {
  background: var(--ink);
  color: white;
  padding: 56px 0;
}
.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.footer img { width: 230px; height: auto; }
.footer p { margin-bottom: 6px; color: rgba(255,255,255,.78); }
.footer a { color: #fff; font-weight: 800; }


/* PÁGINA POLÍTICA DE PRIVACIDADE */
.policy-hero {
  padding: 96px 0 72px;
}

.policy-hero-inner {
  max-width: 860px;
}

.policy-hero h1 {
  max-width: 820px;
}

.policy-hero p {
  max-width: 760px;
  color: var(--muted);
  font-size: 18px;
}

.policy-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(223, 230, 236, .9);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: var(--muted);
  font-size: 14px;
}

.policy-section {
  background: linear-gradient(180deg, #fff, rgba(247,245,240,.56));
}

.policy-layout {
  display: grid;
  grid-template-columns: 330px minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.policy-summary {
  position: sticky;
  top: 98px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 18px 50px rgba(36,49,61,.07);
}

.policy-summary h2 {
  font-size: 24px;
  margin-bottom: 14px;
}

.policy-summary ul,
.policy-card ul {
  margin: 0;
  padding-left: 20px;
}

.policy-summary li,
.policy-card li {
  margin: 8px 0;
  color: var(--muted);
}

.policy-summary a,
.policy-content a {
  color: var(--accent-text);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.policy-content {
  display: grid;
  gap: 18px;
}

/* Correção: conteúdo da Política de Privacidade sempre visível.
   A animação "reveal" não deve ser aplicada ao artigo principal porque o bloco é muito alto
   e pode não atingir o threshold do IntersectionObserver em alguns navegadores. */
.policy-content {
  opacity: 1;
  transform: none;
}


.policy-card {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 44px rgba(36,49,61,.055);
}

.policy-card h2 {
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -.03em;
  margin-bottom: 14px;
}

.policy-card p {
  color: var(--muted);
  margin-bottom: 14px;
}

.policy-card p:last-child,
.policy-card ul:last-child {
  margin-bottom: 0;
}

.policy-contact .btn {
  margin-top: 8px;
  text-decoration: none;
  color: #fff;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  align-items: center;
}
.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-weight: 700;
  transition: color .2s ease;
}
.footer-links a:hover,
.footer-links a:focus-visible { color: #fff; }
.footer-links a svg { width: 19px; height: 19px; flex: none; }
.footer-links .footer-link-text {
  padding-left: 22px;
  border-left: 1px solid rgba(255,255,255,.22);
}
@media (max-width: 560px) {
  .footer-links .footer-link-text { border-left: none; padding-left: 0; }
}

@media (max-width: 860px) {
  .policy-hero {
    padding: 70px 0 48px;
  }

  .policy-layout {
    grid-template-columns: 1fr;
  }

  .policy-summary {
    position: static;
  }
}

@media (max-width: 560px) {
  .policy-hero {
    padding: 48px 0 36px;
  }

  .policy-card,
  .policy-summary {
    padding: 22px;
  }

  .policy-meta {
    align-items: flex-start;
    border-radius: 18px;
  }

  .footer-links {
    justify-content: center;
  }
}

.reveal { opacity: 1; transform: none; }
.js .reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s ease, transform .65s ease;
}
.js .reveal.is-visible,
.no-js .reveal {
  opacity: 1;
  transform: translateY(0);
}
.delay-1 { transition-delay: .08s; }
.delay-2 { transition-delay: .16s; }
.delay-3 { transition-delay: .24s; }

@media (max-width: 1080px) {
  .value-grid, .services-grid, .services-grid--compact { grid-template-columns: repeat(2, 1fr); }
  .timeline { grid-template-columns: repeat(2, 1fr); }
  .packages-grid { grid-template-columns: 1fr; }
  .package-featured { transform: none; }
}
@media (max-width: 860px) {
  .header-inner { height: 70px; }
  .brand img { width: 168px; }
  .nav-toggle { display: block; }
  .nav {
    position: fixed;
    left: 20px;
    right: 20px;
    top: 70px;
    display: grid;
    gap: 6px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.96);
    box-shadow: var(--shadow);
    border: 1px solid var(--line);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
  }
  .nav.is-open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .nav a { padding: 12px; }
  .nav-cta { text-align: center; }
  .hero-grid, .two-col, .cta-grid, .about-grid { grid-template-columns: 1fr; gap: 36px; }
  .section { padding: 42px 0; }
  .hero { min-height: auto; padding: 52px 0; }
  .segments-grid { grid-template-columns: repeat(2, 1fr); }
  .problem-list { grid-template-columns: 1fr; }
  #problemas .problem-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-inner { flex-direction: column; align-items: center; text-align: center; justify-content: center; }
}
@media (max-width: 560px) {
  .container { width: min(100% - 28px, var(--max)); }
  .hero { padding-top: 31px; }
  h1 { font-size: 38px; }
  h2 { font-size: 30px; }
  .hero-card, .lead-form, .package-card { padding: 22px; }
  .value-grid, .services-grid, .services-grid--compact, .segments-grid, .timeline, .extra-offers { grid-template-columns: 1fr; }
  #problemas .problem-list { grid-template-columns: 1fr; }
  .hero-actions .btn { width: 100%; }
  .price { font-size: 29px; }
  .footer img { width: 200px; }
}

/* Centralização reforçada do rodapé na versão mobile */
@media (max-width: 860px) {
  .footer {
    text-align: center;
  }

  .footer .footer-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px;
    text-align: center !important;
  }

  .footer .footer-inner > div {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    text-align: center !important;
  }

  .footer img {
    display: block;
    margin: 0 auto;
  }

  .footer p {
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
  }

  .footer a {
    display: inline-block;
    text-align: center !important;
  }

  .footer-links {
    justify-content: center;
  }

  .footer-links a {
    display: inline-flex !important;
  }
}

.package-card .btn { align-self: flex-start; margin-top: auto; }



/* TEXTOS DE EXEMPLO DO FORMULÁRIO MAIS ESMAECIDOS */
.lead-form input::placeholder,
.lead-form textarea::placeholder {
  color: rgba(31, 46, 61, .36) !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

.lead-form input::-webkit-input-placeholder,
.lead-form textarea::-webkit-input-placeholder {
  color: rgba(31, 46, 61, .36) !important;
  font-weight: 600 !important;
}

.lead-form input::-moz-placeholder,
.lead-form textarea::-moz-placeholder {
  color: rgba(31, 46, 61, .36) !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

.lead-form input:-ms-input-placeholder,
.lead-form textarea:-ms-input-placeholder {
  color: rgba(31, 46, 61, .36) !important;
  font-weight: 600 !important;
}




/* CONSENTIMENTO DE COOKIES (LGPD) */
.cookie-consent {
  position: fixed;
  left: 20px;
  right: 20px;
  bottom: 20px;
  z-index: 9998;
  display: flex;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.cookie-consent.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.cookie-consent__box {
  width: 100%;
  max-width: 620px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 20px;
  padding: 20px 24px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
}
.cookie-consent__box p {
  flex: 1 1 280px;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--muted);
}
.cookie-consent__box p a { color: var(--accent-text); text-decoration: underline; }
.cookie-consent__actions {
  display: flex;
  gap: 10px;
  flex: none;
}
.cookie-consent__actions .btn {
  padding: 10px 18px;
  min-height: auto;
  font-size: 14px;
}
@media (max-width: 560px) {
  .cookie-consent { left: 12px; right: 12px; bottom: 12px; }
  .cookie-consent__box { padding: 18px; flex-direction: column; align-items: stretch; text-align: center; }
  .cookie-consent__box p { flex: none; }
  .cookie-consent__actions { justify-content: center; }
}

/* POPUP PACOTE 2 / MAIS VENDAS */
.package-popup{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease, visibility .25s ease;
}

.package-popup.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.package-popup__backdrop{
  position:absolute;
  inset:0;
  background:rgba(18,29,40,.56);
  backdrop-filter:blur(8px);
}

.package-popup__card{
  position:relative;
  width:min(100%, 470px);
  background:linear-gradient(180deg, #fff7f0 0%, #ffffff 100%);
  border:1px solid rgba(255,106,0,.22);
  border-radius:28px;
  padding:30px;
  box-shadow:0 30px 90px rgba(18,29,40,.26);
  color:#24313d;
  transform:translateY(16px) scale(.97);
  transition:transform .25s ease;
}

.package-popup.is-visible .package-popup__card{
  transform:translateY(0) scale(1);
}

.package-popup__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#ffffff;
  color:#24313d;
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(18,29,40,.10);
}

.package-popup__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  border-radius:999px;
  background:linear-gradient(90deg, #ff6a00, #ff4324);
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.package-popup h2{
  margin:0 0 10px;
  font-size:clamp(2rem, 4vw, 2.6rem);
  line-height:1.02;
  letter-spacing:-.045em;
  color:#24313d;
}

.package-popup p{
  margin:0 0 18px;
  color:#5c6f82;
  line-height:1.65;
  font-size:1rem;
}

.package-popup__price{
  display:flex;
  align-items:flex-end;
  gap:6px;
  margin:8px 0 18px;
  padding:16px 18px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(255,106,0,.16);
}

.package-popup__price strong{
  font-size:2.5rem;
  line-height:1;
  color:#ff4d1f;
  letter-spacing:-.05em;
}

.package-popup__price span{
  font-weight:900;
  color:#5b6d7c;
  padding-bottom:5px;
}

.package-popup__list{
  display:grid;
  gap:8px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
}

.package-popup__list li{
  position:relative;
  padding-left:24px;
  color:#2f4a64;
  font-weight:700;
  line-height:1.35;
}

.package-popup__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.42em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(90deg, #ff6a00, #ff4324);
}

.package-popup__actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
}

.package-popup__primary,
.package-popup__secondary{
  min-height:52px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
}

.package-popup__primary{
  background:linear-gradient(90deg, #ff6a00, #ff4324);
  color:#fff;
  padding:0 22px;
  box-shadow:0 16px 34px rgba(255,95,19,.22);
}

.package-popup__secondary{
  background:#fff;
  color:#24313d;
  border:1px solid rgba(31,46,61,.13);
  padding:0 18px;
}

body.popup-open{
  overflow:hidden;
}

@media (max-width:560px){
  .package-popup{
    align-items:flex-end;
    padding:12px;
  }

  .package-popup__card{
    padding:24px 20px 20px;
    border-radius:24px;
  }

  .package-popup__actions{
    grid-template-columns:1fr;
  }

  .package-popup__secondary{
    width:100%;
  }
}

/* ==========================================================
   TEMA VISUAL v23.6.12 — IDENTIDADE DA LANDING GESTÃO ROCKET
   Mantém a estrutura, o conteúdo e as funcionalidades atuais.
   ========================================================== */

body {
  background: #fff;
  color: var(--ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.site-header {
  background: rgba(255,255,255,.90);
  border-bottom-color: rgba(223,230,236,.80);
  backdrop-filter: blur(18px);
}

.site-header.is-scrolled {
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 40px rgba(36,49,61,.08);
}

.nav-cta {
  padding: 11px 18px;
  background: linear-gradient(135deg, var(--orange), var(--red));
  box-shadow: 0 14px 30px rgba(225,58,23,.18);
}

.section {
  padding: 76px 0;
}

.hero.section-soft {
  background:
    radial-gradient(circle at 88% 12%, rgba(36,49,61,.13), transparent 31%),
    radial-gradient(circle at 9% 92%, rgba(244,124,32,.12), transparent 27%),
    var(--soft);
}

.hero {
  padding: 64px 0 70px;
}

.hero-grid {
  gap: 64px;
}

.hero-copy h1 {
  max-width: 720px;
  font-weight: 800;
}

.hero-card {
  padding: 34px;
  border: 1px solid rgba(223,230,236,.90);
  border-radius: var(--radius);
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow);
}

.dashboard-card div {
  border-color: var(--line);
  border-radius: 18px;
  background: rgba(247,245,240,.80);
}

.about-section {
  background: #fff;
}

.about-photo-card {
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(238,246,251,.88), #fff);
}

.content-block {
  border-left-color: var(--orange);
}

.services-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.service-card {
  min-height: 220px;
  padding: 30px;
  border-radius: 22px;
  box-shadow: 0 16px 45px rgba(36,49,61,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-card:hover {
  transform: translateY(-3px);
  border-color: rgba(36,49,61,.20);
  box-shadow: 0 20px 48px rgba(36,49,61,.10);
}

.service-icon {
  border-radius: 14px;
  background: var(--soft-blue);
  color: var(--blue-deep);
}

.service-card h3,
.value-card h3,
.package-card h3,
.case-card h3 {
  font-family: Montserrat, Inter, system-ui, sans-serif;
  color: var(--ink);
}

.service-card .package-kicker { color: var(--blue-deep); }

.services-grid--list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.services-grid--list .service-card {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  background: none;
  border: none;
  border-top: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  padding: 30px 0;
  min-height: 0;
  transition: none;
}
.services-grid--list .service-card:last-child {
  border-bottom: 1px solid var(--line);
}
.services-grid--list .service-card:hover {
  transform: none;
  box-shadow: none;
}
.service-index {
  flex: none;
  padding-top: 3px;
  font-family: "Montserrat", Inter, system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 14px;
  color: var(--muted);
}
.service-copy { flex: 1; min-width: 0; }
.services-grid--list .package-kicker { margin-bottom: 8px; }
.services-grid--list h3 { font-size: 21px; margin-bottom: 8px; }
.services-grid--list p { max-width: 620px; }

@media (max-width: 680px) {
  .services-grid--list .service-card { padding: 22px 0; gap: 16px; }
  .services-grid--list h3 { font-size: 19px; }
}

.cases-section {
  background: var(--soft);
}

.case-card {
  border-radius: 22px;
  box-shadow: 0 16px 45px rgba(36,49,61,.08);
}

.packages-section {
  background: var(--soft);
}

.package-card {
  border-radius: 24px;
  box-shadow: 0 16px 45px rgba(36,49,61,.07);
}

.package-featured {
  border-color: rgba(244,124,32,.58);
  box-shadow: 0 30px 70px rgba(225,58,23,.13);
}

.badge,
.btn-primary,
.package-popup__primary {
  background: linear-gradient(135deg, var(--orange), var(--red));
}

.cta-section {
  background: var(--soft);
}

.lead-form {
  padding: 32px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow);
}

.lead-form input,
.lead-form select {
  border-radius: 14px;
}

.small-note {
  border-left-color: var(--orange);
  background: var(--soft-blue);
}

.footer {
  background: var(--ink);
  color: #fff;
}

.package-popup__card {
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 90% 0%, rgba(36,49,61,.10), transparent 36%),
    #fff;
  box-shadow: 0 28px 80px rgba(36,49,61,.22);
}

@media (max-width: 900px) {
  .section { padding: 64px 0; }
  .hero { padding: 54px 0 60px; }
  .services-grid--compact { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .section { padding: 54px 0; }
  .hero { padding: 48px 0 52px; }
  .services-grid--compact { grid-template-columns: 1fr; }
  .service-card { min-height: auto; padding: 25px; }
  .lead-form { padding: 24px 20px; }
}

/* Bloco de apresentação da Gestão Rocket */
.rocket-showcase {
  background: #fff;
}

.rocket-showcase-box {
  display: grid;
  grid-template-columns: 1.18fr .82fr;
  align-items: center;
  gap: 54px;
  padding: 44px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 8%, rgba(36,49,61,.15), transparent 34%),
    radial-gradient(circle at 8% 100%, rgba(244,124,32,.12), transparent 31%),
    var(--soft);
  box-shadow: var(--shadow);
}

.rocket-showcase-copy h2 {
  max-width: 760px;
  margin: 14px 0 18px;
  font-family: "Fraunces", Georgia, serif;
  font-size: clamp(30px, 3.8vw, 48px);
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.08;
}

.rocket-showcase-copy > p {
  max-width: 720px;
  margin-bottom: 22px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.rocket-showcase-points {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.rocket-showcase-points span {
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 800;
}

.rocket-showcase-brand {
  position: relative;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px;
  border: 1px solid rgba(223,230,236,.92);
  border-radius: 24px;
  background: rgba(255,255,255,.90);
  box-shadow: 0 20px 55px rgba(36,49,61,.12);
  text-align: center;
}

.rocket-showcase-brand::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  width: 58px;
  height: 6px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, var(--orange), var(--red));
}

.rocket-showcase-brand img {
  width: 150px;
  height: 150px;
  margin-bottom: 20px;
  object-fit: contain;
  filter: drop-shadow(0 16px 24px rgba(36,49,61,.16));
}

.rocket-showcase-brand div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.rocket-showcase-brand span {
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
}

.rocket-showcase-brand strong {
  max-width: 280px;
  margin-top: 5px;
  color: var(--ink);
  font-family: Montserrat, Inter, system-ui, sans-serif;
  font-size: 19px;
  line-height: 1.22;
}

.rocket-showcase-brand small {
  max-width: 280px;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
}

@media (max-width: 900px) {
  .rocket-showcase-box { grid-template-columns: 1fr; gap: 34px; }
  .rocket-showcase-brand { min-height: 290px; }
}

@media (max-width: 680px) {
  .rocket-showcase-box { padding: 28px 22px; }
  .rocket-showcase-copy h2 { font-size: 34px; }
  .rocket-showcase-brand { min-height: 260px; padding: 24px; }
  .rocket-showcase-brand img { width: 125px; height: 125px; }
}

/* Composição mini-hero do Gestão Rocket — v23.6.14 */
.rocket-showcase-box {
  grid-template-columns: .88fr 1.12fr;
  gap: 52px;
  padding: 54px 48px;
}

.rocket-showcase-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.rocket-showcase-kicker img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 8px 13px rgba(36,49,61,.12));
}

.rocket-showcase-copy h2 {
  max-width: 600px;
  margin: 15px 0 20px;
  font-size: clamp(42px, 5.2vw, 68px);
  line-height: 1.03;
}

.rocket-showcase-copy h2 em {
  color: var(--orange-strong);
  font-style: normal;
}

.rocket-showcase-copy > p {
  max-width: 610px;
  font-size: 17px;
}

.rocket-showcase-copy .hero-actions {
  margin: 28px 0;
}

.rocket-product-visual {
  position: relative;
  min-height: 430px;
}

.rocket-product-window {
  position: absolute;
  z-index: 4;
  top: 83px;
  right: 0;
  width: 100%;
  margin: 0;
  padding: 9px;
  overflow: hidden;
  border: 1px solid rgba(223,230,236,.92);
  border-radius: 24px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 24px 65px rgba(36,49,61,.18);
}

.rocket-product-bar {
  height: 34px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 15px 15px 0 0;
  background: #edf2f5;
}

.rocket-product-bar i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff6b5b;
}

.rocket-product-bar i:nth-child(2) { background: #ffbf3f; }
.rocket-product-bar i:nth-child(3) { background: #31c96b; }

.rocket-product-bar span {
  margin-left: 8px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff;
  color: #80909d;
  font-size: 9px;
}

.rocket-product-window > img {
  width: 100%;
  height: auto;
  border-radius: 0 0 15px 15px;
  object-fit: contain;
}

.rocket-product-foguete {
  position: absolute;
  z-index: 8;
  top: -28px;
  right: -20px;
  width: 150px;
  filter: drop-shadow(0 18px 15px rgba(36,49,61,.18));
  transform: rotate(5deg);
}

.rocket-product-planet {
  position: absolute;
  z-index: 1;
  top: -25px;
  right: -72px;
  width: 240px;
  opacity: .16;
}

.rocket-product-alert {
  position: absolute;
  z-index: 9;
  bottom: 2px;
  left: -20px;
  display: flex;
  flex-direction: column;
  padding: 15px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 45px rgba(36,49,61,.14);
}

.rocket-product-alert strong {
  color: var(--blue-deep);
  font-size: 12px;
}

.rocket-product-alert span {
  margin-top: 3px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 1050px) {
  .rocket-showcase-box { grid-template-columns: 1fr; gap: 28px; }
  .rocket-product-visual { min-height: 450px; }
  .rocket-product-window { width: 90%; right: 5%; }
}

@media (max-width: 680px) {
  .rocket-showcase-box { padding: 34px 22px; }
  .rocket-showcase-copy h2 { font-size: 43px; }
  .rocket-showcase-kicker img { width: 42px; height: 42px; }
  .rocket-product-visual { min-height: 300px; }
  .rocket-product-window { top: 64px; width: 100%; right: 0; }
  .rocket-product-foguete { top: -4px; right: -10px; width: 104px; }
  .rocket-product-planet { top: 0; right: -48px; width: 155px; }
  .rocket-product-alert { display: none; }
}
