:root {
  color-scheme: light;
  --bg: #ffffff;
  --ink: #0e1240;
  --ink-soft: #353b6e;
  --muted: #6a7099;
  --line: #e5e8fa;
  --panel: #ffffff;
  --panel-alt: #f2f4ff;
  --blue: #2a43e0;
  --blue-strong: #1c2fb8;
  --blue-band: #1f38d6;
  --blue-soft: #eaedff;
  --green: #10b981;
  --green-ink: #067a55;
  --green-soft: #d8f6ec;
  --amber: #b45309;
  --amber-soft: #fef3c7;
  --red: #d13b3b;
  --red-soft: #fde6e6;
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 22px 55px rgba(18, 24, 90, 0.10);
  --shadow-sm: 0 6px 18px rgba(18, 24, 90, 0.06);
  --nav-h: 76px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

button, input { font: inherit; }
a { color: inherit; }

.container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

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

.site-nav {
  position: sticky;
  top: 0;
  z-index: 40;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid var(--line);
}

.nav-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  flex-shrink: 0;
}

.brand-logo { position: relative; width: 42px; height: 34px; flex-shrink: 0; }
.brand-logo .dot { position: absolute; width: 22px; height: 22px; border-radius: 50% 50% 50% 4px; }
.brand-logo .dot-blue { left: 0; top: 0; background: var(--blue); }
.brand-logo .dot-green { right: 0; bottom: 0; background: var(--green); border-radius: 4px 50% 50% 50%; mix-blend-mode: multiply; }

.brand-word {
  display: flex; flex-direction: column; line-height: 1.02;
  font-weight: 800; font-size: 1.18rem; letter-spacing: -0.01em;
}
.brand-word b { color: var(--ink); }
.brand-word span { color: var(--blue); }

.nav-links {
  display: flex;
  align-items: center;
  gap: 26px;
  list-style: none;
  margin: 0 auto 0 18px;
  padding: 0;
}
.nav-links a {
  text-decoration: none;
  color: var(--ink);
  font-weight: 600;
  font-size: 0.96rem;
  white-space: nowrap;
}
.nav-links a:hover { color: var(--blue); }
.caret { color: var(--muted); font-size: 0.7em; }

.nav-ctas { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

.nav-btn-outline, .nav-btn-solid {
  display: inline-flex; align-items: center;
  height: 46px; padding: 0 22px;
  border-radius: 999px;
  font-weight: 700; font-size: 0.95rem;
  text-decoration: none;
  transition: transform 140ms ease, background 140ms ease;
}
.nav-btn-outline { border: 1.5px solid var(--blue); color: var(--blue); background: #fff; }
.nav-btn-solid { background: var(--blue); color: #fff; box-shadow: 0 10px 22px rgba(42,67,224,0.28); }
.nav-btn-outline:hover, .nav-btn-solid:hover { transform: translateY(-1px); }
.nav-btn-solid:hover { background: var(--blue-strong); }

/* ===================== HERO ===================== */

.hero-section { padding: 56px 0 40px; }

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

.eyebrow { margin: 0 0 10px; color: var(--muted); font-size: 1rem; font-weight: 600; }

.hero-title {
  margin: 0 0 26px;
  font-size: 3.4rem;
  line-height: 1.04;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.hero-points { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 14px; }
.hero-points li { display: flex; align-items: center; gap: 12px; font-size: 1.05rem; color: var(--ink-soft); }
.hero-points svg { flex-shrink: 0; width: 24px; height: 24px; color: var(--green-ink); }

.cpf-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; }
.cpf-row input {
  flex: 1 1 240px; min-height: 60px !important; margin-bottom: 0 !important;
  font-size: 1.1rem; border-radius: var(--radius-sm) !important;
}
.big-cta { min-height: 60px; padding: 0 30px; font-size: 1.02rem; flex: 0 0 auto; }

.trust-row {
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center;
  margin: 18px 2px 0; color: var(--muted); font-size: 0.9rem; font-weight: 600;
}
.trust-row > span { display: inline-flex; align-items: center; gap: 7px; }
.trust-row svg { width: 17px; height: 17px; color: var(--green-ink); }
.hero-sample { margin-top: 14px; display: inline-block; }

/* fotos do hero (placeholders) */
.hero-media { position: relative; min-height: 440px; display: flex; gap: 18px; align-items: stretch; }
.hero-photo {
  border-radius: 26px; overflow: hidden; position: relative;
  background: linear-gradient(160deg, #cdd6ff, #eef1ff);
  display: grid; place-items: end center;
}
.person-illo { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.hero-photo-main { flex: 1 1 62%; }
.hero-photo-side { flex: 1 1 34%; background: linear-gradient(160deg, #3f57ea, var(--blue)); margin-top: 40px; }
.ph-person {
  width: 78%; height: 80%;
  background: radial-gradient(circle at 50% 32%, rgba(255,255,255,.55) 0 22%, transparent 23%),
              linear-gradient(180deg, transparent 44%, rgba(255,255,255,.35) 45%);
  border-radius: 40% 40% 0 0;
}
.hero-badge-search {
  position: absolute; top: -8px; left: -8px;
  width: 78px; height: 78px; border-radius: 50%;
  background: var(--green); color: #fff; display: grid; place-items: center;
  box-shadow: 0 12px 24px rgba(16,185,129,.35);
}
.hero-badge-search svg { width: 30px; height: 30px; }
.hero-chip {
  position: absolute; top: 22px; right: -6px;
  background: #eef1ff; color: var(--ink); font-weight: 800; font-size: 1rem;
  padding: 12px 20px; border-radius: 999px; box-shadow: var(--shadow-sm);
}
.hero-shield {
  position: absolute; bottom: 4px; right: -10px;
  width: 54px; height: 54px; border-radius: 50%;
  background: #eef1ff; color: var(--blue); display: grid; place-items: center;
  box-shadow: var(--shadow-sm);
}
.hero-shield svg { width: 26px; height: 26px; }

/* ===================== FAIXA AZUL / CARDS ===================== */

.cards-band { background: var(--blue-band); padding: 56px 0; }
.offer-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.offer-card {
  background: #fff; border-radius: 16px; padding: 34px 30px;
  box-shadow: 0 20px 45px rgba(10,20,80,.22);
  display: flex; flex-direction: column;
}
.offer-ico {
  width: 52px; height: 52px; display: grid; place-items: center;
  color: var(--green-ink); margin-bottom: 18px;
}
.offer-ico svg { width: 40px; height: 40px; }
.offer-card h3 { margin: 0 0 14px; font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.offer-card p { margin: 0 0 26px; color: var(--muted); font-size: 1rem; flex: 1 1 auto; }
.offer-link { color: var(--blue); font-weight: 700; text-decoration: none; font-size: 1rem; }
.offer-link span { font-weight: 800; }
.offer-link:hover { text-decoration: underline; }

/* ===================== COMO CONSULTAR ===================== */

.how-section { padding: 60px 0; }
.section-title { margin: 0 0 34px; font-size: 2.3rem; font-weight: 800; letter-spacing: -0.01em; }
.how-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.how-panel { border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 30px; }
.how-panel h4 { margin: 0 0 16px; font-size: 1.1rem; font-weight: 800; }
.how-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.how-steps li { display: flex; align-items: center; gap: 14px; font-size: 1.02rem; color: var(--ink-soft); }
.step-num {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  background: var(--green); color: #fff; font-weight: 800;
  display: grid; place-items: center; font-size: 0.95rem;
}

/* ===================== DEPOIMENTOS ===================== */

.testi-section { padding: 20px 0 60px; }
.testi-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.testi-card {
  border: 1px solid var(--line); border-radius: var(--radius);
  padding: 30px; display: flex; flex-direction: column; justify-content: space-between;
}
.testi-card p { margin: 0 0 24px; color: var(--ink-soft); font-size: 1rem; line-height: 1.6; }
.testi-author { display: flex; align-items: center; gap: 12px; }
.testi-avatar {
  width: 48px; height: 48px; border-radius: 50%; color: #fff;
  display: grid; place-items: center; font-weight: 800;
}
.testi-author strong { display: block; font-size: 1rem; }
.stars { color: var(--green); font-size: 0.95rem; letter-spacing: 2px; }

/* ===================== SEÇÃO APP ===================== */

.app-section { background: var(--panel-alt); padding: 60px 0; }
.app-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.app-copy h2 { margin: 0 0 16px; font-size: 2.2rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.01em; }
.app-copy p { margin: 0 0 26px; color: var(--muted); font-size: 1.05rem; }
.store-badges { display: flex; gap: 14px; flex-wrap: wrap; }
.store-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: #0e1240; color: #fff; text-decoration: none;
  padding: 14px 22px; border-radius: 12px; font-weight: 700; font-size: 0.92rem;
}
.app-media { display: grid; place-items: center; }
.app-phone {
  width: 240px; height: 360px; border-radius: 34px;
  background: linear-gradient(160deg, #3f57ea, var(--blue));
  border: 8px solid #0e1240; overflow: hidden; display: grid; place-items: end center;
  box-shadow: var(--shadow);
}

/* ===================== RODAPÉ ===================== */

.site-footer { border-top: 1px solid var(--line); padding: 50px 0 40px; }
.footer-brand { margin-bottom: 34px; }
.footer-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.footer-cols h5 { margin: 0 0 16px; font-size: 1rem; font-weight: 800; }
.footer-cols a { display: block; margin-bottom: 12px; color: var(--muted); text-decoration: none; font-size: 0.94rem; }
.footer-cols a:hover { color: var(--blue); }
.social-row { display: flex; gap: 12px; }
.footer-art { display: block; width: 100%; height: auto; }
.app-label { margin: 0 0 8px; font-weight: 800; font-size: 0.86rem; }
.app-badges { display: flex; gap: 8px; }
.app-badge { display: flex; align-items: center; gap: 8px; background: var(--ink); color: #fff; border-radius: 8px; padding: 6px 12px; font-size: 0.7rem; line-height: 1.2; }
.app-badge b { display: block; font-size: 0.92rem; font-weight: 700; }
.footer-cnpj { margin: 18px 0 4px; font-size: 0.86rem; color: var(--muted); }
.footer-endereco { margin: 0; font-size: 0.86rem; color: var(--muted); line-height: 1.5; }
.footer-bottom-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 34px; }
.footer-badges { display: flex; flex-wrap: wrap; gap: 14px; }
.footer-badge { display: inline-flex; align-items: center; gap: 4px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; font-size: 0.78rem; color: var(--muted); }
.footer-badge b { color: var(--ink); }
.social {
  width: 38px; height: 38px; border-radius: 50%; background: var(--blue-soft); color: var(--blue);
  display: grid; place-items: center; font-weight: 800;
}
.footer-rule { border: 0; border-top: 1px solid var(--line); margin: 34px 0 20px; }
.footer-legal { color: var(--muted); font-size: 0.86rem; max-width: 820px; }

/* ===================== CARD FLUTUANTE ===================== */

.floating-promo {
  position: fixed; right: 22px; bottom: 22px; z-index: 45;
  display: flex; align-items: center; gap: 14px;
  max-width: 420px; padding: 16px 18px;
  background: #e8f7ff; border: 1px solid #bfe6f5; border-radius: 16px;
  box-shadow: var(--shadow);
}
.promo-ico {
  flex-shrink: 0; width: 46px; height: 46px; border-radius: 12px;
  background: #6b3df0; color: #fff; display: grid; place-items: center;
}
.promo-ico svg { width: 24px; height: 24px; }
.floating-promo strong { display: block; font-size: 0.95rem; margin-bottom: 4px; }
.floating-promo a { color: var(--blue); font-weight: 700; text-decoration: none; font-size: 0.9rem; }
.promo-close {
  position: absolute; top: 6px; right: 10px;
  background: none; border: 0; color: var(--muted); font-size: 1.3rem; cursor: pointer; line-height: 1;
}
.floating-promo.hidden { display: none; }

/* ===================== ETAPAS 2 e 3 (painéis) ===================== */

.panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow); }
.step-panel { margin: 40px 0; }
.lead { margin: 0 0 20px; color: var(--muted); font-size: 0.96rem; }

.step2-title { margin: 6px 0 8px; font-size: 1.9rem; font-weight: 800; letter-spacing: -0.01em; }

/* Modal de quitação: plataforma financeira séria, não landing agressiva. */
.qt-box { text-align: left; padding: 30px; }
.qt-selo { display: inline-block; background: #FFF4CC; color: #B45309; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; }
.qt-title { margin: 14px 0 8px; color: #172B4D; font-size: 23px; font-weight: 700; line-height: 1.25; }
.qt-subtitle { margin: 0 0 22px; color: #71839B; font-size: 14.5px; line-height: 1.55; }
.qt-valores, .qt-info { border: 1px solid #DCE5ED; border-radius: var(--radius-sm); padding: 18px 20px; margin-bottom: 16px; }
.qt-valores { padding-bottom: 4px; }
.qt-linha { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; }
.qt-linha span { color: #71839B; font-size: 14px; }
.qt-linha b { color: #172B4D; font-size: 15px; font-weight: 700; }
.qt-desconto b { color: #087F5B; }
.qt-divisor { height: 1px; background: #DCE5ED; margin: 4px 0; }
.qt-final { padding-top: 14px; }
.qt-final span { color: #5E718A; font-size: 14px; }
.qt-final b { color: #172B4D; font-size: 25px; font-weight: 800; }
.qt-info { margin-bottom: 22px; }
.qt-timer { color: #B45309 !important; font-weight: 700; }
.qt-cta { display: block; width: 100%; background: #0F8B99; color: #fff; font-weight: 700; font-size: 16px; padding: 15px; border: 0; border-radius: 999px; text-align: center; transition: background .15s ease; }
.qt-cta:hover { background: #087F8D; }
.qt-voltar { display: block; width: 100%; margin-top: 10px; background: transparent; border: 0; color: #71839B; font-size: 14px; font-weight: 600; text-align: center; padding: 6px; }
.qt-voltar:hover { color: #172B4D; }
.qt-nota { margin: 18px 0 0; color: #7B8EA5; font-size: 12.5px; line-height: 1.5; text-align: center; }

.rights-panel { max-width: 900px; margin: 40px auto; }
.rights-hero { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 32px; align-items: center; margin-bottom: 28px; }
.rights-title { margin: 6px 0 10px; font-size: 2rem; font-weight: 800; letter-spacing: -0.01em; }
.rights-hero-image { width: 100%; border-radius: var(--radius); box-shadow: var(--shadow); }
@media (max-width: 720px) { .rights-hero { grid-template-columns: 1fr; } }
.rights-card, .rights-contact { text-align: left; border-radius: var(--radius-sm); padding: 20px 22px; margin-bottom: 18px; }
.rights-card { background: #fff; border: 1px solid #DCE5ED; }
.rights-card h3, .rights-contact h3 { margin: 0 0 8px; font-size: 1rem; font-weight: 800; }
.rights-card p, .rights-contact p { margin: 0 0 6px; color: var(--ink-soft); font-size: 0.94rem; line-height: 1.55; }
.rights-card p:last-child { margin-bottom: 0; }
.rights-prazo { color: #0F8B99; }
.rights-contact { background: var(--blue-soft); border: 1px solid #0F8B99; }
.rights-phone { display: block; margin-top: 10px; text-decoration: none; }
.rights-phone b { display: block; font-weight: 800; font-size: 1.05rem; color: #0F8B99; }
.rights-phone span { display: block; font-size: 0.82rem; color: var(--muted); font-weight: 600; }
.rights-encerramento { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.86rem; line-height: 1.6; text-align: center; }
.panel .eyebrow { color: var(--blue); font-weight: 800; font-size: 0.82rem; }

label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 0.88rem; }
input:not([type="checkbox"]) {
  width: 100%; min-height: 52px; margin-bottom: 16px; padding: 0 16px;
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; color: var(--ink);
}
input:not([type="checkbox"])::placeholder { color: #9aa0c2; }
input:not([type="checkbox"]):focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }

button.primary {
  min-height: 46px; padding: 0 22px; border: 1px solid var(--blue); border-radius: 999px;
  background: var(--blue); color: #fff; font-weight: 800; cursor: pointer;
  box-shadow: 0 12px 26px rgba(42,67,224,0.28); transition: transform 140ms ease, background 140ms ease;
}
button.primary:hover:not(:disabled) { transform: translateY(-1px); background: var(--blue-strong); }
button.ghost {
  min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px;
  background: transparent; color: var(--blue); font-weight: 700; cursor: pointer;
}
button:disabled { opacity: 0.5; cursor: not-allowed; }

.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

.validation { margin: 0 0 10px; font-size: 0.86rem; color: var(--muted); }
.validation.error { color: var(--red); background: var(--red-soft); border-radius: var(--radius-sm); padding: 10px 12px; }

.cpf-echo {
  display: flex; align-items: center; gap: 12px; margin: 0 0 22px; padding: 14px 18px;
  border-radius: var(--radius-sm); background: var(--blue-soft); border: 1px solid #d4daff;
}
.cpf-echo span { color: var(--blue); font-size: 0.74rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; }
.cpf-echo strong { font-size: 1.15rem; font-weight: 800; color: var(--ink); }

.term-box { max-height: 220px; overflow-y: auto; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-alt); white-space: pre-wrap; font-size: 0.85rem; line-height: 1.6; }
.term-inline { margin-top: 8px; }
.term-inline summary { cursor: pointer; color: var(--blue); font-weight: 700; font-size: 0.84rem; }
.term-inline .term-box { margin-top: 10px; }
.term-sig { margin: 8px 0 0; color: var(--muted); font-size: 0.74rem; }

.check-row {
  display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px;
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-alt);
  font-weight: 400; font-size: 0.9rem; color: var(--ink-soft); margin-bottom: 12px;
}
.check-row input { margin-top: 3px; width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--blue); }

.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.82rem; }

/* resultado */
.result-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin-bottom: 22px; padding: 22px 24px; border-radius: var(--radius);
  background: linear-gradient(120deg, var(--blue), #3f57ea); color: #fff;
  box-shadow: 0 18px 40px rgba(42,67,224,0.28);
}
.result-head .summary-label { color: rgba(255,255,255,0.82); }
.result-head .big { color: #fff; }
.result-head button { background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.34); color: #fff; }
.result-head button:hover:not(:disabled) { background: rgba(255,255,255,0.26); }
.summary-label { display: block; color: var(--muted); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 700; }
.big { display: block; font-size: 2.3rem; line-height: 1.1; font-weight: 800; margin: 4px 0; letter-spacing: -0.02em; }

.source-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.source-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.source-card h3 { margin: 0; font-size: 1.05rem; font-weight: 800; }

.badge { display: inline-block; padding: 5px 13px; border-radius: 999px; font-size: 0.74rem; font-weight: 800; white-space: nowrap; }
.badge.ok { background: var(--green-soft); color: var(--green-ink); }
.badge.warn { background: var(--amber-soft); color: var(--amber); }
.badge.muted { background: var(--blue-soft); color: var(--blue); }

.muted-text { margin: 6px 0; color: var(--muted); font-size: 0.82rem; }
.empty-state { margin: 8px 0 4px; padding: 14px 16px; border-radius: var(--radius-sm); background: var(--green-soft); color: var(--green-ink); font-weight: 700; font-size: 0.9rem; }

.debt-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.debt-row { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-alt); }
.debt-avatar { flex-shrink: 0; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; color: #fff; font-weight: 800; font-size: 0.95rem; }
.debt-main { flex: 1 1 auto; min-width: 0; }
.debt-credor { display: block; font-size: 1rem; font-weight: 800; color: var(--ink); }
.debt-side { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.debt-valor { font-weight: 800; font-size: 1.05rem; white-space: nowrap; color: var(--ink); }
.debt-cta { min-height: 38px; padding: 0 20px; font-size: 0.86rem; box-shadow: none; }
.debt-sub { color: var(--muted); font-size: 0.82rem; margin-top: 3px; }
.debt-status, .debt-main .pill { display: inline-block; margin-top: 6px; margin-right: 6px; padding: 3px 11px; border-radius: 999px; font-size: 0.72rem; font-weight: 800; }
.debt-status { text-transform: uppercase; letter-spacing: 0.03em; }
.status-red { background: var(--red-soft); color: var(--red); }
.status-amber { background: var(--amber-soft); color: var(--amber); }
.status-green { background: var(--green-soft); color: var(--green-ink); }
.pill { white-space: nowrap; }
.conf-alta { background: var(--green-soft); color: var(--green-ink); }
.conf-media { background: var(--amber-soft); color: var(--amber); }
.conf-baixa { background: var(--red-soft); color: var(--red); }

.confirm-row { display: flex; gap: 10px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
.confirm-input { flex: 1 1 220px; margin-bottom: 0 !important; }

.bank-block { margin-top: 22px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--blue-soft); }
.bank-block h3 { margin: 0 0 6px; font-size: 1.05rem; font-weight: 800; }
.bank-block .lead { margin-bottom: 14px; }
.bank-block.discreto { background: none; border: 0; padding: 16px 0 0; }
.bank-block.discreto h3 { font-size: 0.92rem; color: var(--muted); }

.extra { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.extra summary { cursor: pointer; font-weight: 700; font-size: 0.9rem; color: var(--blue); }
.extra .lead { margin: 12px 0; }
.extra input[type="file"] { margin: 8px 0; padding: 12px; background: #fff; min-height: auto; border: 1px dashed var(--line); border-radius: var(--radius-sm); cursor: pointer; }

.assisted-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.assisted-list li { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--panel-alt); }
.assisted-list a { font-weight: 800; color: var(--blue); text-decoration: none; }
.assisted-list a:hover { text-decoration: underline; }
.assisted-list p { margin: 4px 0 0; font-size: 0.85rem; color: var(--muted); }

.linklike { min-height: auto; padding: 0; border: 0; background: none; color: var(--muted); font-size: 0.8rem; font-weight: 500; text-decoration: underline; cursor: pointer; }
.linklike:hover { color: var(--red); }
.footnote-inline { margin: 20px 0 0; text-align: right; }

/* modal negociação */
.modal-overlay { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(10,14,45,0.55); backdrop-filter: blur(3px); }
.modal-box { width: 100%; max-width: 420px; background: #fff; border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); text-align: center; animation: modal-in 160ms ease; }
@keyframes modal-in { from { transform: translateY(8px) scale(0.98); opacity: 0; } to { transform: none; opacity: 1; } }
.modal-tag { display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--amber-soft); color: var(--amber); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.04em; }
.modal-box h3 { margin: 14px 0 4px; font-size: 1.3rem; font-weight: 800; }
.modal-credor { margin: 0 0 16px; color: var(--muted); font-weight: 700; }
.modal-valores { display: grid; gap: 8px; padding: 16px; border-radius: var(--radius-sm); background: var(--panel-alt); text-align: left; }
.modal-valores div { display: flex; justify-content: space-between; align-items: baseline; }
.modal-valores span { color: var(--muted); font-size: 0.88rem; }
.modal-valores b { font-size: 1.05rem; font-weight: 800; }
.modal-valores .risco { text-decoration: line-through; color: var(--muted); font-weight: 700; }
.modal-valores .destaque { color: var(--green-ink); font-size: 1.3rem; }
.modal-parcela { margin: 10px 0 18px; color: var(--ink-soft); font-size: 0.9rem; }
.modal-actions { display: flex; gap: 10px; justify-content: center; margin-top: 6px; }
.modal-actions button { flex: 1 1 auto; }
.modal-aviso { margin: 16px 0 0; color: var(--muted); font-size: 0.76rem; }
.modal-ok { width: 60px; height: 60px; margin: 0 auto 6px; display: grid; place-items: center; border-radius: 50%; background: var(--green-soft); color: var(--green-ink); font-size: 1.8rem; font-weight: 800; }

/* tela de carregamento entre a consulta do CPF e o resultado */
.loading-box { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 34px 30px; }
.loading-spinner { width: 52px; height: 52px; border-radius: 50%; border: 4px solid var(--blue-soft); border-top-color: var(--blue); animation: loading-spin 0.85s linear infinite; }
@keyframes loading-spin { to { transform: rotate(360deg); } }
.loading-box h3 { margin: 0; font-size: 1.08rem; font-weight: 800; color: var(--ink); }
.loading-steps { list-style: none; margin: 0; padding: 0; width: 100%; display: flex; flex-direction: column; gap: 12px; text-align: left; }
.loading-steps li { display: flex; align-items: center; gap: 12px; font-size: 0.88rem; font-weight: 600; color: var(--muted); transition: color 0.25s ease; }
.loading-steps li.is-active,
.loading-steps li.is-done { color: var(--ink); }
.loading-steps .step-icon { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--line); display: grid; place-items: center; transition: border-color 0.25s ease, background-color 0.25s ease; }
.loading-steps li.is-active .step-icon { border-color: var(--blue); border-top-color: transparent; animation: loading-spin 0.7s linear infinite; }
.loading-steps li.is-done .step-icon { border-color: var(--green); background: var(--green); position: relative; }
.loading-steps li.is-done .step-icon::after { content: "✓"; font-size: 0.66rem; font-weight: 900; color: #fff; }

/* cards de acordo (negativação simulada) */
.acordo-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
.acordo-card { border: 1px solid #dce2ef; border-radius: 18px; padding: 20px; background: #fff; box-shadow: 0 7px 20px rgba(18, 44, 103, .07); display: flex; flex-direction: column; gap: 14px; }
.acordo-card-head { display: flex; align-items: center; gap: 12px; }
.acordo-card-id strong { display: block; font-size: 1.05rem; font-weight: 800; }
.acordo-card-id span { color: var(--muted); font-size: 0.85rem; }
.acordo-card-id small { display: block; margin-top: 3px; color: #8a95a9; font-size: .74rem; }
.credor-logo { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e2e7f2; border-radius: 12px; background: #fff; }
.credor-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.credor-wordmark { padding: 5px; color: var(--marca); font-size: .6rem; font-weight: 900; line-height: 1.02; text-align: center; letter-spacing: -.04em; word-break: break-word; }
.acordo-alerta { margin: 4px 0 10px; padding: 8px 12px; border-radius: var(--radius-sm); background: var(--red-soft); color: var(--red); font-weight: 800; font-size: 0.82rem; text-align: center; }
.acordo-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.acordo-tag { padding: 6px 12px; border-radius: 999px; font-size: 0.76rem; font-weight: 700; }
.tag-pay { background: #efe7ff; color: #6b3df0; }
.tag-time { background: #e9fff1; color: #137448; }
.tag-sit { background: var(--red-soft); color: var(--red); text-transform: capitalize; }
.acordo-price { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.acordo-de { display: block; color: var(--muted); font-size: 0.82rem; }
.acordo-por { display: block; font-size: 1.7rem; font-weight: 800; color: var(--ink); letter-spacing: -0.01em; }
.acordo-desc { text-align: right; color: var(--muted); font-size: 0.8rem; white-space: nowrap; }
.acordo-desc b { display: block; color: var(--green-ink); font-size: 1.05rem; }
.acordo-ver { width: 100%; margin-top: 2px; }

/* tela de confirmação de acordo */
.acordo-box { text-align: left; }
.acordo-head { display: flex; align-items: center; gap: 12px; margin: 14px 0 18px; }
.acordo-head strong { display: block; font-size: 1.05rem; font-weight: 800; }
.acordo-head span { color: var(--muted); font-size: 0.85rem; }
.acordo-valores { background: var(--panel-alt); border-radius: var(--radius-sm); padding: 16px; display: grid; gap: 10px; margin-bottom: 6px; }
.acordo-valores > div { display: flex; justify-content: space-between; align-items: baseline; }
.acordo-valores span { color: var(--muted); font-size: 0.9rem; }
.acordo-valores b { font-weight: 800; }
.acordo-valores em { font-style: normal; background: var(--green-soft); color: var(--green-ink); padding: 1px 8px; border-radius: 999px; font-size: 0.76rem; margin-left: 6px; }
.acordo-valores .abate { color: var(--green-ink); }
.acordo-total { border-top: 1px dashed #cfd6f5; padding-top: 10px; }
.acordo-total b { font-size: 1.3rem; color: var(--ink); }
.acordo-linha { display: flex; justify-content: space-between; align-items: baseline; padding: 13px 2px; border-bottom: 1px solid var(--line); font-size: 0.92rem; }
.acordo-linha span { color: var(--muted); }
.acordo-linha b { font-weight: 800; }
.acordo-box .modal-actions { margin-top: 18px; }

/* ===================== RESPONSIVO ===================== */

@media (max-width: 960px) {
  .nav-links { display: none; }
  .hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .hero-media { min-height: 340px; }
  .offer-cards, .testi-grid { grid-template-columns: 1fr; }
  .how-cols, .app-grid { grid-template-columns: 1fr; }
  .footer-cols { grid-template-columns: repeat(2, 1fr); }
  .hero-title { font-size: 2.6rem; }
}

@media (max-width: 620px) {
  .container { padding: 0 16px; }
  .hero-title { font-size: 2.1rem; }
  .big-cta { flex: 1 1 100%; }
  .big { font-size: 1.9rem; }
  .footer-cols { grid-template-columns: 1fr; }
  .floating-promo { left: 12px; right: 12px; max-width: none; }
  .debt-row { flex-wrap: wrap; }
  .debt-side { flex-direction: row; width: 100%; justify-content: space-between; align-items: center; }
}

/* ===================== NEXO ACORDO — DIREÇÃO VISUAL 2026 ===================== */
:root {
  --ink: #10263c;
  --ink-soft: #466077;
  --muted: #718499;
  --line: #dce7ee;
  --panel-alt: #f4f8fa;
  --blue: #087e8b;
  --blue-strong: #056673;
  --blue-band: #102d45;
  --blue-soft: #e1f5f4;
  --green: #d9ff64;
  --green-ink: #0b6e5d;
  --green-soft: #e9f9cf;
  --shadow: 0 26px 65px rgba(20, 53, 72, .13);
}

body { background: #fbfdfd; }
.container { max-width: 1220px; }
.site-nav { height: 80px; border: 0; background: rgba(251,253,253,.9); backdrop-filter: blur(14px); }
.site-nav:after { content: ""; height: 1px; position: absolute; bottom: 0; left: 0; right: 0; background: rgba(16,38,60,.08); }
.brand-logo { width: 38px; height: 34px; transform: rotate(-8deg); }
.brand-logo .dot { width: 23px; height: 23px; background: var(--blue); }
.brand-logo .dot-green { background: var(--green); }
.brand-word { font-size: 1.22rem; letter-spacing: -.06em; flex-direction: row; gap: 4px; }
.brand-word b { color: var(--ink); }.brand-word span { color: var(--blue); }
.nav-links { gap: 25px; }.nav-links a { color: #40586b; font-size: .9rem; }
.nav-btn-solid { height: 45px; padding: 0 19px; background: var(--ink); box-shadow: none; border-radius: 10px; }
.nav-btn-solid:hover { background: var(--blue-strong); }

.hero-section { padding: 66px 0 76px; overflow: hidden; position: relative; background: linear-gradient(115deg,#f8fffd 0%,#effbf9 52%,#d9f7f2 100%); }
.hero-section:before { content:""; position:absolute; width: 680px; height:680px; border-radius:50%; border: 1px solid rgba(8,126,139,.13); right:-300px; top:-260px; }
.hero-grid { gap: 66px; grid-template-columns: 1.03fr .97fr; }
.eyebrow { color: var(--blue); text-transform: uppercase; letter-spacing:.11em; font-size:.73rem; font-weight: 800; }
.live-dot { display:inline-block; width:8px; height:8px; border-radius:99px; background: #91bd21; margin-right:8px; box-shadow: 0 0 0 4px rgba(145,189,33,.13); }
.hero-title { max-width:680px; font-size: 4.35rem; line-height:.99; letter-spacing:-.065em; margin-bottom:22px; color:var(--ink); }
.hero-title em { color:var(--blue); font-style:normal; position:relative; white-space:nowrap; }
.hero-title em:after { content:""; height:8px; border-radius:10px; background:var(--green); position:absolute; left:3px; right:1px; bottom:2px; z-index:-1; transform: rotate(-1.5deg); }
.hero-intro { color: var(--ink-soft); max-width: 565px; font-size:1.1rem; line-height:1.65; margin:0 0 24px; }
.hero-points { grid-template-columns:1fr 1fr; gap:10px 18px; margin-bottom:28px; }
.hero-points li { color:#3d596d; font-size:.93rem; gap:8px; }.hero-points svg { width:19px; height:19px; color:var(--blue); }
.hero-form { max-width:620px; padding: 7px; background: #fff; border: 1px solid #d5e8e7; box-shadow: 0 15px 35px rgba(20,75,81,.10); border-radius:15px; }
.cpf-row { flex-wrap:nowrap; gap:8px; }.cpf-row input { min-height:54px!important; border:0!important; box-shadow:none!important; font-size:1rem; padding:0 13px; }.big-cta { min-height:54px; border-radius:10px!important; padding:0 18px; white-space:nowrap; box-shadow:none!important; background:var(--ink)!important; }.big-cta:hover:not(:disabled){ background:var(--blue)!important; }
.trust-row { margin:9px 8px 0; gap:13px; font-size:.72rem; }.trust-row svg { color:var(--blue); width:14px; }.hero-sample { margin:9px 8px 3px; color:var(--blue); }
.hero-media { min-height:490px; padding:18px 0 0; }
.hero-photo { border-radius: 32px; box-shadow: 0 26px 48px rgba(18,59,76,.16); }
.hero-photo-main { flex-basis: 70%; background: linear-gradient(160deg,#7fd6ce,#087e8b); transform:rotate(2deg); }
.hero-photo-main:after { content:""; position:absolute; inset:0; background: radial-gradient(circle at 80% 13%,rgba(217,255,100,.7),transparent 27%),linear-gradient(180deg, transparent 55%,rgba(3,57,68,.28)); }
.hero-photo-side { flex-basis:30%; margin:84px 0 42px; border:5px solid #fff; background: #d9ff64; transform:rotate(-4deg); }
.hero-photo-main .person-illo { z-index:2; filter: saturate(1.13); }.hero-photo-side .person-illo { z-index:1; }
.hero-badge-search { top:22px; left:-17px; width:64px; height:64px; background:var(--ink); box-shadow:0 12px 25px rgba(16,38,60,.25); z-index:4; }.hero-badge-search svg{ width:24px; }
.hero-chip { top:45px; right:-18px; color:var(--ink); background:#fff; font-size:.78rem; padding:10px 14px; z-index:4; }
.hero-shield { width:52px; height:52px; right:16px; bottom:-11px; z-index:4; background:var(--green); color:var(--ink); }
.hero-kicker { position:absolute; top:4px; right:22px; z-index:5; padding:10px 14px; border-radius: 10px 10px 10px 0; background:var(--green); color:var(--ink); font-size:.68rem; letter-spacing:.1em; font-weight:800; transform:rotate(-5deg); }.hero-kicker strong{ font-size:1rem; margin-left:3px; }
.hero-orbit { position:absolute; border:1px dashed rgba(8,126,139,.35); border-radius:50%; }.orbit-one{ width:145px;height:145px;bottom:-28px;left:-46px; }.orbit-two{ width:64px;height:64px;top:42px;right:20px; }

.cards-band { position:relative; padding:82px 0; background:var(--ink); }.cards-band:before { content:"POR VOCÊ"; color:rgba(255,255,255,.035); font-size:11vw; font-weight:900; letter-spacing:-.1em; position:absolute; left:0; top:-7vw; white-space:nowrap; }
.offer-cards { gap:18px; position:relative; }.offer-card { min-height:246px; border-radius:20px; padding:27px; box-shadow:none; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:#fff; position:relative; overflow:hidden; }.offer-card:hover{ background:rgba(255,255,255,.11); transform:translateY(-5px); transition:.2s ease; }.offer-card:after{ content:""; width:94px;height:94px;border-radius:50%;background:rgba(217,255,100,.13);position:absolute;right:-35px;top:-30px; }.offer-ico{ color:var(--green);margin:0 0 11px; width:42px;height:42px; }.offer-ico svg { width:34px;height:34px; }.offer-number{ color:var(--green); font-size:.72rem;font-weight:800;letter-spacing:.13em; position:absolute;right:26px;top:28px; }.offer-card h3{font-size:1.38rem;letter-spacing:-.03em;margin:0 0 9px;max-width:265px;}.offer-card p{color:#b8ccd7;font-size:.92rem;margin-bottom:18px;}.offer-link{ color:var(--green); font-size:.9rem; }

.how-section { padding:92px 0; background:#fff; }.section-kicker{ color:var(--blue);font-weight:800;letter-spacing:.13em;font-size:.72rem;margin:0 0 9px; }.section-title { max-width:650px; font-size:3rem; line-height:1.03;letter-spacing:-.055em;margin-bottom:36px; }.how-cols{ gap:18px; }.how-panel{padding:34px;border:0;border-radius:20px;background:#f3f8f7; }.how-panel:nth-child(2){background:#edf7f6;}.how-panel h4{font-size:1.18rem;color:var(--ink);}.how-steps{gap:17px;}.how-steps li{font-size:.96rem;color:#50677a;align-items:flex-start;}.step-num{width:31px;height:31px;background:var(--blue);font-size:.8rem; }
.testi-section{ padding:88px 0 96px; background:linear-gradient(135deg,#ecfaf7,#dff5f0); }.trust-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;}.trust-heading .section-title{margin-bottom:38px;max-width:690px;}.testi-grid{gap:18px;}.testi-card{border:1px solid #d6eae7;border-radius:18px;background:rgba(255,255,255,.8);padding:27px;min-height:240px;box-shadow:0 10px 24px rgba(20,75,81,.04);}.testi-card p{color:var(--ink);font-size:1.03rem;line-height:1.58;}.testi-avatar{width:40px;height:40px;background:var(--blue)!important;}.stars{color:#91bd21;}

.site-footer{background:#fff;border-top:1px solid var(--line);padding:58px 0 37px;color:var(--ink);}.site-footer .brand-word b{color:var(--ink);}.footer-cols h5{color:var(--ink);}.footer-cols a{color:var(--muted);}.footer-cols a:hover{color:var(--blue);}.social{background:var(--panel-alt);color:var(--ink);}.footer-rule{border-color:var(--line);}.footer-legal{color:var(--muted);}.floating-promo{background:var(--ink);border:0;color:#fff;border-radius:15px;box-shadow:0 18px 45px rgba(16,38,60,.25);}.promo-ico{background:var(--green);color:var(--ink);}.floating-promo a{color:var(--green);}.promo-close{color:#d7e4eb;}

@media (max-width: 960px) { .hero-title{font-size:3.4rem}.hero-points{grid-template-columns:1fr}.hero-media{min-height:390px}.hero-grid{gap:24px}.hero-kicker{right:4px}.trust-heading{display:block} }
@media (max-width: 620px) { .site-nav{height:70px}.hero-section{padding:42px 0 55px}.hero-title{font-size:2.75rem}.hero-intro{font-size:1rem}.cpf-row{flex-wrap:wrap}.cpf-row input{flex-basis:100%}.big-cta{width:100%}.hero-media{min-height:330px}.hero-photo-side{margin-top:55px}.hero-kicker{font-size:.58rem;top:0}.cards-band{padding:55px 0}.section-title{font-size:2.35rem}.how-section,.testi-section{padding:58px 0}.offer-card{min-height:0}.hero-shield{right:3px} }

/* Feirão Regulariza */
:root { --feirao-blue:#073de3; --feirao-indigo:#061e8d; --feirao-yellow:#f9e900; --feirao-ink:#0d1d48; }
.site-nav { height:112px; background:linear-gradient(105deg,#061e8d 0%,#073de3 62%,#0d52dc 100%); border:0; box-shadow:0 8px 24px rgba(2,20,110,.22); }
.site-nav:after { height:3px; background:linear-gradient(90deg,var(--feirao-yellow),#45df9a); }
.brand { width:520px; height:92px; gap:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.brand-partnership-wrap { display:grid; grid-template-rows:29px 1fr; width:100%; height:100%; }
.brand-partnership-copy { align-self:center; justify-self:center; padding:7px 20px; border:1px solid rgba(255,255,255,.36); border-radius:999px; background:rgba(1,20,119,.22); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.16em; line-height:1; text-align:center; text-transform:uppercase; }
.brand-partnership-copy b { color:#22e28b; font-weight:900; }
.brand-logo-list { display:flex; align-items:center; justify-content:center; gap:20px; min-width:0; }
.brand-logo-list img { display:block; min-width:0; height:55px; max-width:31%; object-fit:contain; }
.brand-logo-list img + img { padding-left:20px; border-left:1px solid rgba(255,255,255,.34); }
.nav-links a { color:#fff; font-weight:700; }
.nav-links a:hover { color:var(--feirao-yellow); }
.nav-btn-solid { background:var(--feirao-yellow); color:var(--feirao-ink); border-radius:999px; box-shadow:none; }
.nav-btn-solid:hover { background:#fff; }
@media (max-width:960px) { .site-nav { height:94px; } .brand { width:370px; height:75px; } .brand-partnership-wrap { grid-template-rows:23px 1fr; } .brand-partnership-copy { padding:5px 13px; font-size:.53rem; } .brand-logo-list { gap:11px; } .brand-logo-list img { height:40px; } .brand-logo-list img + img { padding-left:11px; } .nav-links { gap:15px; margin-left:0; } }
@media (max-width:700px) { .nav-links { display:none; } .brand { width:min(315px,calc(100vw - 190px)); } }
@media (max-width:480px) { .site-nav { height:72px; } .brand { width:calc(100vw - 155px); height:50px; } .brand-partnership-wrap { grid-template-rows:15px 1fr; } .brand-partnership-copy { padding:3px 6px; font-size:.34rem; letter-spacing:.07em; } .brand-logo-list { gap:5px; } .brand-logo-list img { height:25px; } .brand-logo-list img + img { padding-left:5px; } .nav-btn-solid { height:38px; padding:0 12px; font-size:.78rem; } .nav-inner { gap:10px; } }
.hero-section { background:radial-gradient(circle at 72% 18%,#4d73ff 0,transparent 30%),linear-gradient(125deg,#031a86 0%,#073de3 55%,#1669ed 100%); padding:54px 0 66px; }
.hero-section:before { border-color:rgba(255,255,255,.16); }.hero-copy { position:relative; z-index:2; }.feirao-pill { display:inline-flex;align-items:center;background:var(--feirao-yellow);color:#11204a;padding:8px 12px;border-radius:6px;font-size:.67rem;letter-spacing:.08em; }.feirao-pill .live-dot{background:#0eaa55;box-shadow:none; }
.hero-title { color:#fff; font-size:4.65rem;max-width:620px; }.hero-title em { color:var(--feirao-yellow); }.hero-title em:after { background:rgba(255,255,255,.33); }.hero-intro { color:#dbe6ff; max-width:520px; }.hero-points li { color:#fff; }.hero-points svg{color:var(--feirao-yellow);}
.hero-form { border:0;background:#fff;box-shadow:0 24px 50px rgba(0,13,88,.34); }.big-cta { background:var(--feirao-yellow)!important;color:#11204a!important; }.big-cta:hover:not(:disabled){background:#fff45b!important;}.trust-row{color:#69758c;}.trust-row svg{color:var(--feirao-blue);}.hero-sample{color:var(--feirao-blue);}
.hero-media { min-height:458px;display:block;position:relative; }.feirao-hero-image { width:100%;height:100%;object-fit:cover;object-position:center;border-radius:28px;box-shadow:0 28px 55px rgba(0,11,77,.38);position:absolute;inset:0; }.hero-media:after{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(130deg,transparent 60%,rgba(4,26,122,.35));pointer-events:none;}.hero-photo{display:none}.hero-kicker{background:var(--feirao-yellow);color:var(--feirao-ink);right:-12px;top:22px;z-index:4;box-shadow:0 10px 20px rgba(0,0,0,.14);}.hero-chip{z-index:4;right:-8px;top:auto;bottom:45px;color:var(--feirao-blue);font-weight:800;}.hero-shield{z-index:4;background:var(--feirao-yellow);color:var(--feirao-ink);bottom:-15px;}.orbit-one,.orbit-two{border-color:rgba(249,233,0,.5);z-index:3;}
.campaign-strip{background:var(--feirao-yellow);color:var(--feirao-ink);}.campaign-strip .container{min-height:58px;display:flex;align-items:center;justify-content:center;gap:25px;font-size:.88rem;}.campaign-strip strong{font-size:.8rem;letter-spacing:.08em;}.campaign-strip a{font-weight:800;text-decoration:none;border-bottom:2px solid currentColor;}
.cards-band{background:var(--feirao-blue);padding:70px 0;}.cards-band:before{content:"FEIRÃO";color:rgba(255,255,255,.045);}.offer-card{background:#fff;color:var(--feirao-ink);border:0;}.offer-card:hover{background:#fff;box-shadow:0 16px 0 rgba(0,0,0,.12);}.offer-card:after{background:#eef2ff}.offer-number{color:var(--feirao-blue);}.offer-ico{color:var(--feirao-blue);}.offer-card p{color:#596883;}.offer-link{color:var(--feirao-blue);}
.how-section{background:#f6f8ff;}.how-panel{background:#fff;box-shadow:0 10px 26px rgba(8,43,155,.07);}.how-panel:nth-child(2){background:#fff;}.step-num{background:var(--feirao-blue);}
.partners-section{padding:88px 0;background:#fff;}.partners-note{margin:-18px 0 30px;color:#66738a;font-size:.93rem;}.partner-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;}.partner-grid span{height:84px;display:grid;place-items:center;background:#fff;border:1px solid #e1e6f3;border-radius:13px;box-shadow:0 5px 12px rgba(20,45,113,.06);font-size:1.02rem;font-weight:800;letter-spacing:-.04em;padding:8px;text-align:center;transition:transform .16s ease,box-shadow .16s ease;}.partner-grid span:hover{transform:translateY(-3px);box-shadow:0 12px 20px rgba(20,45,113,.12)}.brand-atacadao{color:#15994b}.brand-bmg{color:#fa6905}.brand-c6{color:#121212}.brand-carrefour{color:#175cae}.brand-casas{color:#e72949}.brand-consiga{color:#147638}.brand-crediativos{color:#2379b5}.brand-nissan{color:#202020}.brand-crefaz{color:#1c315c}.brand-digio{color:#1a5c84}.brand-geru{color:#14aaf5}.brand-havan{color:#1d4c94}.brand-omni{color:#1459c4}.brand-picpay{color:#19bc68}.brand-santander{color:#e91d2b}
.testi-section{background:linear-gradient(138deg,#061e8d,#073de3);color:#fff;}.testi-section .section-kicker{color:var(--feirao-yellow);}.testi-section .section-title{color:#fff;}.stories-media{border-radius:22px;overflow:hidden;margin:0 0 28px;height:330px;box-shadow:0 24px 45px rgba(0,12,87,.25);}.stories-media img{width:100%;height:100%;object-fit:cover;object-position:center 28%;}.testi-card{border:0;background:#fff;min-height:200px;}.testi-card p{color:var(--feirao-ink);}.testi-avatar{background:var(--feirao-blue)!important;}.stars{color:#f0b900;}

/* Cartões de orientação: substituem relatos fictícios por conteúdo útil. */
.guide-card{position:relative;padding:30px!important;min-height:215px!important;overflow:hidden;}.guide-card:after{content:"";position:absolute;width:160px;height:160px;right:-72px;bottom:-98px;border-radius:50%;background:rgba(249,233,0,.28);}.guide-number{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--feirao-yellow);color:var(--feirao-ink);font-size:.78rem;font-weight:900;letter-spacing:.04em;}.guide-card h3{margin:20px 0 10px;color:var(--feirao-ink);font-size:1.24rem;letter-spacing:-.035em;}.guide-card p{position:relative;z-index:1;margin:0!important;max-width:270px;color:#51617a!important;font-size:.95rem!important;line-height:1.58!important;}

/* Relatos com linguagem visual de rede social, sem representar uma conta real. */
.social-feed-head{max-width:920px;margin:0 0 24px;padding:14px 17px;display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.23);border-radius:14px;background:rgba(255,255,255,.1);}.social-feed-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--feirao-blue);font-size:1.2rem;box-shadow:inset 0 0 0 7px #1f62e8;}.social-feed-head strong{display:block;font-size:.92rem;}.social-feed-head small{display:block;margin-top:2px;color:#cfdaff;font-size:.75rem;}.social-feed-live{margin-left:auto;padding:6px 9px;border-radius:999px;background:rgba(249,233,0,.96);color:var(--feirao-ink);font-size:.69rem;font-weight:800;}.social-post{min-height:0!important;padding:20px!important;gap:0;}.social-post .testi-author{margin-bottom:15px;}.social-post .testi-author strong{font-size:.94rem;color:var(--feirao-ink);}.social-post .testi-author small{display:block;margin-top:2px;color:#6e7b93;font-size:.73rem;}.testi-avatar{flex:0 0 43px!important;width:43px!important;height:43px!important;border:2px solid #fff;box-shadow:0 0 0 1px #d7dfef;background-color:#dbe5ff!important;background-image:url("./assets/feirao-historias.png")!important;background-size:700% auto!important;background-repeat:no-repeat!important;}.avatar-luana{background-position:53% 11%!important;}.avatar-mateus{background-position:13% 68%!important;}.avatar-gabriela{background-position:70% 66%!important;}.post-menu{margin-left:auto;border:0;background:transparent;color:#71809a;font-size:1rem;font-weight:800;letter-spacing:1px;cursor:default;}.social-post p{margin:0 0 18px!important;font-size:.95rem!important;line-height:1.52!important;}.post-reactions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid #e6ebf5;color:#71809a;font-size:.73rem;}.post-reactions span:first-child{letter-spacing:-3px;font-size:.9rem;}.post-actions{display:flex;align-items:center;gap:16px;padding-top:10px;border-top:1px solid #e6ebf5;color:#52617a;font-size:.76rem;font-weight:700;}.post-actions b{margin-left:auto;color:#f1b800;font-size:.78rem;letter-spacing:1px;}@media(max-width:620px){.social-feed-head{align-items:flex-start}.social-feed-live{display:none}.post-actions{gap:12px;font-size:.7rem;}}
@media(max-width:960px){.hero-title{font-size:3.55rem}.partner-grid{grid-template-columns:repeat(3,1fr)}.feirao-hero-image{object-position:center}.hero-media{min-height:360px}}@media(max-width:620px){.hero-title{font-size:2.8rem}.campaign-strip .container{padding:13px 16px;min-height:0;gap:8px;flex-direction:column;text-align:center}.campaign-strip span{font-size:.76rem}.hero-media{min-height:280px}.hero-kicker{font-size:.55rem;right:2px}.partner-grid{grid-template-columns:repeat(2,1fr);gap:9px}.partner-grid span{height:66px;font-size:.88rem}.partners-section{padding:58px 0}.stories-media{height:220px}.hero-chip{font-size:.65rem;bottom:18px}}

/* Logos dos parceiros contratados */
.partner-grid span { padding: 0; overflow: hidden; }
.partner-grid img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; background: #fff; }

/* Vitrine de oferta do Feirão */
.deal-section { padding: 94px 0; overflow: hidden; position: relative; background: #f6f8ff; }
.deal-section:before { content:""; position:absolute; width:640px; height:640px; border-radius:50%; right:-280px; top:-310px; background:rgba(7,61,227,.08); }
.deal-grid { display:grid; grid-template-columns:1fr 430px; align-items:center; gap:86px; position:relative; }
.deal-tag { display:inline-block; margin:0 0 15px; padding:7px 11px; border-radius:5px; background:var(--feirao-yellow); color:var(--feirao-ink); font-size:.7rem; letter-spacing:.11em; font-weight:900; }
.deal-copy h2 { max-width:590px; margin:0 0 18px; color:var(--feirao-ink); font-size:3.55rem; line-height:1.02; letter-spacing:-.06em; }
.deal-lead { max-width:570px; margin:0 0 26px; color:#536682; font-size:1.08rem; line-height:1.6; }
.deal-checks { margin:0 0 29px; padding:0; list-style:none; display:grid; gap:13px; color:#20365a; font-size:1rem; }.deal-checks li { display:flex; align-items:center; gap:10px; }.deal-checks li>span { width:24px; height:24px; display:grid;place-items:center;border-radius:50%;background:#dce5ff;color:var(--feirao-blue);font-weight:900; }.deal-checks strong { color:var(--feirao-blue); }
.deal-cta { display:inline-flex; align-items:center; gap:12px; padding:16px 24px; border-radius:999px; text-decoration:none; background:var(--feirao-blue); color:#fff; font-weight:800; box-shadow:0 16px 28px rgba(7,61,227,.22); transition:transform .16s ease,background .16s ease; }.deal-cta:hover { background:var(--feirao-indigo); transform:translateY(-2px); }.deal-cta span{font-size:1.25rem;line-height:0}.deal-disclaimer{margin:13px 0 0;color:#7988a2;font-size:.72rem;max-width:490px;}
.deal-card { min-height:460px; padding:30px; border-radius:26px; background:linear-gradient(145deg,#0625a5,#0b52eb 68%,#2b7aff); color:#fff; box-shadow:0 28px 48px rgba(7,40,153,.27); transform:rotate(2.5deg); position:relative; overflow:hidden; }.deal-card:before { content:""; position:absolute; width:300px;height:300px;right:-125px;bottom:-125px;border-radius:50%;background:var(--feirao-yellow);opacity:.95;}.deal-card:after { content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.35);border-radius:50%;left:-92px;top:100px;}.deal-card-top,.deal-card-label,.deal-percent,.deal-card-copy,.deal-card-divider,.deal-card-footer{position:relative;z-index:1}.deal-card-top{display:flex;justify-content:space-between;align-items:center;font-size:.67rem;font-weight:800;letter-spacing:.1em}.deal-card-top b{background:rgba(255,255,255,.14);padding:7px 8px;border-radius:5px;font-size:.58rem}.deal-card-label{margin:65px 0 0;color:#cbd9ff;font-size:.94rem}.deal-percent{display:block;margin:-2px 0 0;font-size:9.8rem;line-height:.86;letter-spacing:-.1em;color:var(--feirao-yellow)}.deal-percent span{font-size:4.1rem}.deal-card-copy{margin:15px 0 24px;max-width:220px;font-size:1.05rem;line-height:1.3;font-weight:700}.deal-card-divider{height:1px;background:rgba(255,255,255,.3)}.deal-card-footer{display:flex;justify-content:space-between;margin-top:16px;font-size:.83rem}.deal-card-footer b{color:var(--feirao-yellow);letter-spacing:.06em}.deal-stamp{position:absolute;z-index:3;right:-4px;bottom:52px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--feirao-yellow);color:var(--feirao-ink);font-size:.76rem;line-height:1.05;font-weight:900;letter-spacing:.07em;transform:rotate(-12deg);box-shadow:0 8px 16px rgba(0,0,0,.13)}
@media(max-width:960px){.deal-grid{grid-template-columns:1fr;gap:40px}.deal-card{max-width:440px;justify-self:center;width:100%}.deal-copy h2{font-size:3rem}}@media(max-width:620px){.deal-section{padding:60px 0}.deal-copy h2{font-size:2.55rem}.deal-card{min-height:410px;padding:23px;transform:none}.deal-percent{font-size:8.2rem}.deal-percent span{font-size:3.4rem}.deal-card-label{margin-top:55px}}

/* Foto conectada ao momento do lead: consulta no celular antes de ver a oferta */
.deal-visual { min-height:520px; position:relative; }
.deal-photo { position:absolute; top:0; right:0; width:92%; height:344px; object-fit:cover; object-position:center; border-radius:24px; box-shadow:0 18px 34px rgba(11,41,102,.16); }
.deal-visual .deal-card { position:absolute; z-index:2; left:0; bottom:0; width:340px; min-height:342px; padding:24px; transform:rotate(-2deg); }
.deal-visual .deal-card-label { margin-top:38px; font-size:.82rem; }.deal-visual .deal-percent { font-size:7.3rem; }.deal-visual .deal-percent span { font-size:3rem; }.deal-visual .deal-card-copy { margin:10px 0 16px; font-size:.87rem; }.deal-visual .deal-stamp { width:74px; height:74px; right:-8px; bottom:34px; font-size:.61rem; }
@media(max-width:960px){.deal-visual{width:440px;max-width:100%;justify-self:center}}@media(max-width:620px){.deal-visual{min-height:465px;width:100%}.deal-photo{width:100%;height:290px}.deal-visual .deal-card{width:86%;min-height:285px;padding:20px}.deal-visual .deal-card-label{margin-top:26px}.deal-visual .deal-percent{font-size:6.3rem}.deal-visual .deal-percent span{font-size:2.5rem}.deal-visual .deal-stamp{bottom:26px}}

/* Composição limpa: foto inteira, sem recortes agressivos nem colagens */
.feirao-hero-image { object-fit:contain; object-position:center bottom; background:#ffe5e8; }
.hero-media:after { background:linear-gradient(130deg,transparent 65%,rgba(255,207,214,.18)); }
.deal-visual { min-height:0; display:grid; gap:18px; }
.deal-photo { position:relative; inset:auto; width:100%; height:255px; object-fit:cover; object-position:center; border-radius:22px; box-shadow:none; }
.deal-visual .deal-card { position:relative; left:auto; bottom:auto; width:100%; min-height:296px; padding:25px; transform:none; border-radius:20px; box-shadow:0 18px 32px rgba(7,40,153,.19); }
.deal-visual .deal-card-label { margin-top:30px; }.deal-visual .deal-percent{font-size:6.7rem}.deal-visual .deal-percent span{font-size:2.75rem}.deal-visual .deal-card-copy{font-size:.9rem}.deal-visual .deal-stamp{bottom:28px}
.confidence-banner { display:grid; grid-template-columns:.55fr 1fr 1fr; align-items:center; gap:30px; padding:30px 36px; margin:0 0 28px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.09); }.confidence-banner span{color:var(--feirao-yellow);font-size:.7rem;font-weight:900;letter-spacing:.12em}.confidence-banner strong{font-size:1.42rem;line-height:1.15;letter-spacing:-.035em}.confidence-banner p{margin:0;color:#d2e0ff;font-size:.92rem;line-height:1.5}
@media(max-width:620px){.feirao-hero-image{object-fit:contain}.deal-photo{height:230px}.deal-visual .deal-card{width:100%;min-height:278px}.deal-visual .deal-percent{font-size:5.8rem}.deal-visual .deal-percent span{font-size:2.35rem}.confidence-banner{grid-template-columns:1fr;gap:11px;padding:24px}.confidence-banner strong{font-size:1.3rem}}

/* Criativo de campanha: arte inteira, sem cortes ou elementos sobrepostos */
.deal-section { padding:72px 0; background:#f3f7f1; }
.campaign-creative { display:block; overflow:hidden; border-radius:24px; background:#fff; box-shadow:0 20px 45px rgba(17,89,51,.14); transition:transform .18s ease,box-shadow .18s ease; }
.campaign-creative:hover { transform:translateY(-3px); box-shadow:0 26px 52px rgba(17,89,51,.20); }
.campaign-creative img { display:block; width:100%; height:auto; }
.campaign-disclaimer { margin:12px 3px 0; color:#75839a; font-size:.75rem; text-align:center; }
@media(max-width:620px){.deal-section{padding:42px 0}.campaign-creative{border-radius:16px}.campaign-disclaimer{font-size:.67rem}}

/* Retrato transparente no hero: integrado ao azul, sem fundo recortado */
.feirao-hero-image { background:transparent; object-fit:contain; object-position:center bottom; z-index:2; filter:drop-shadow(0 20px 25px rgba(0,13,70,.28)); }
.hero-media:after { z-index:1; background:radial-gradient(circle at 72% 78%,rgba(249,233,0,.2),transparent 28%); }

/* Formulário limpo de demonstração e retrato integrado ao hero */
.cpf-row { display:grid; grid-template-columns:1.15fr 1fr .95fr auto; gap:8px; }
.cpf-row input { min-width:0; flex:auto; }
.hero-man-message { position:absolute; z-index:4; right:4px; top:114px; color:#fff; font-size:.76rem; line-height:1.05; font-weight:800; letter-spacing:.09em; text-align:right; text-shadow:0 2px 10px rgba(0,0,60,.4); }
.hero-man-message strong { color:var(--feirao-yellow); font-size:1.3rem; letter-spacing:-.04em; }
#stepData { display:none !important; }
@media(max-width:1140px){.cpf-row{grid-template-columns:1fr 1fr}.cpf-row .big-cta{grid-column:1 / -1}.hero-man-message{right:16px;top:70px}}@media(max-width:620px){.cpf-row{grid-template-columns:1fr}.cpf-row .big-cta{grid-column:auto}.hero-man-message{font-size:.62rem;top:56px;right:7px}.hero-man-message strong{font-size:1rem}}

/* ---- Oferta de quitação total (tela de resultado) ---- */
.sim-flag{display:inline-block;margin-top:8px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:none;}
.quitacao{position:relative;overflow:hidden;margin:22px 0 26px;padding:26px 28px 24px;border-radius:20px;background:linear-gradient(135deg,var(--feirao-indigo),var(--feirao-blue));color:#fff;box-shadow:0 20px 44px rgba(6,30,141,.24);}
.quitacao:after{content:"";position:absolute;width:280px;height:280px;right:-120px;top:-150px;border-radius:50%;background:rgba(249,233,0,.16);pointer-events:none;}
.quitacao-topo{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.quitacao-kicker{font-size:.7rem;font-weight:900;letter-spacing:.1em;color:var(--feirao-yellow);}
.quitacao-clock{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:rgba(249,233,0,.96);color:var(--feirao-ink);font-size:.78rem;font-weight:800;}
.quitacao-clock svg{width:15px;height:15px;}
.quitacao-clock b{font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.quitacao-clock.expirado{background:rgba(255,255,255,.3);color:#fff;}
.quitacao-titulo{position:relative;z-index:1;margin:16px 0 6px;font-size:1.9rem;line-height:1.15;letter-spacing:-.035em;font-weight:800;color:#fff;}
.quitacao-titulo em{font-style:normal;color:var(--feirao-yellow);}
.quitacao-titulo strong{white-space:nowrap;}
.quitacao-sub{position:relative;z-index:1;margin:0 0 20px;color:#cfdaff;font-size:.95rem;}
.quitacao-numeros{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
.quitacao-numeros>div{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);}
.quitacao-numeros span{display:block;margin-bottom:5px;color:#c3d0ff;font-size:.71rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.quitacao-numeros b{display:block;font-size:1.28rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;}
.quitacao-numeros .risco{text-decoration:line-through;text-decoration-thickness:2px;color:#a9bbff;}
.quitacao-numeros .abate{color:#8ef0b8;}
.quitacao-destaque{background:var(--feirao-yellow)!important;border-color:var(--feirao-yellow)!important;color:var(--feirao-ink);}
.quitacao-destaque span{color:#4a4a17!important;}
.quitacao-destaque b{font-size:1.55rem;}
.quitacao-barra{position:relative;z-index:1;margin-bottom:18px;}
.quitacao-barra:before{content:"";display:block;height:7px;border-radius:999px;background:rgba(255,255,255,.16);}
.quitacao-barra-fill{position:absolute;left:0;top:0;height:7px;border-radius:999px;background:linear-gradient(90deg,#8ef0b8,var(--feirao-yellow));transition:width .6s ease;}
.quitacao-barra small{display:block;margin-top:9px;color:var(--feirao-yellow);font-size:.79rem;font-weight:800;}
.quitacao-cta{position:relative;z-index:1;width:100%;background:var(--feirao-yellow);color:var(--feirao-ink);border:0;}
.quitacao-cta:hover:not(:disabled){background:#fff;}
.quitacao-nota{position:relative;z-index:1;margin:12px 0 0;color:#b8c7ff;font-size:.73rem;line-height:1.5;}
@media(max-width:620px){.quitacao{padding:22px 18px;}.quitacao-titulo{font-size:1.5rem;}.quitacao-numeros{grid-template-columns:1fr;}}

/* Destaque do formulário quando algum botão da página aponta para ele. */
.cpf-row.chamando { animation: chamaForm .9s ease; }
@keyframes chamaForm {
  0%   { box-shadow:0 0 0 0 rgba(249,233,0,.85); }
  60%  { box-shadow:0 0 0 12px rgba(249,233,0,0); }
  100% { box-shadow:0 0 0 0 rgba(249,233,0,0); }
}

/* Campos rotulados. O cartão tem 620px, então 4 colunas espremeriam os
   rótulos: nome ocupa a linha inteira, CPF e celular dividem a seguinte. */
.cpf-row { grid-template-columns:1fr 1fr; align-items:end; gap:10px; }
.cpf-row .campo-largo, .cpf-row .big-cta { grid-column:1 / -1; }
.campo { display:flex; flex-direction:column; gap:6px; min-width:0; }
.campo label {
  padding-left:3px; color:#5c6a85; font-size:.68rem; font-weight:800;
  letter-spacing:.07em; text-transform:uppercase;
}
.campo input { width:100%; }
.campo input::placeholder { color:#9aa6bb; font-weight:500; }
.campo input:focus { outline:2px solid var(--feirao-blue); outline-offset:-2px; border-radius:10px; }
@media(max-width:620px){ .cpf-row { grid-template-columns:1fr; } }

/* ---- Selo do feirão: marca sólida + prazo, com farol pulsando ---- */
.feirao-pill {
  display:inline-flex !important; align-items:center; gap:0 !important;
  margin:0 0 22px !important; padding:6px 6px 6px 8px !important;
  border:1px solid rgba(255,255,255,.24) !important; border-radius:999px !important;
  background:rgba(255,255,255,.09) !important;
  -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px);
  box-shadow:0 10px 26px rgba(2,14,80,.28), inset 0 1px 0 rgba(255,255,255,.16);
  color:#fff !important; font-size:.82rem !important; letter-spacing:.01em !important;
  text-transform:none !important; line-height:1;
}
/* Farol: ponto fixo + anel que abre e some. */
.feirao-pill .pulso {
  position:relative; flex:0 0 auto; width:22px; height:22px; margin-right:4px;
  display:grid; place-items:center;
}
.feirao-pill .pulso i {
  width:9px; height:9px; border-radius:50%; background:#2bd97c;
  box-shadow:0 0 10px rgba(43,217,124,.9);
}
.feirao-pill .pulso:before {
  content:""; position:absolute; width:9px; height:9px; border-radius:50%;
  border:2px solid #2bd97c; animation:faroleiro 1.9s ease-out infinite;
}
@keyframes faroleiro {
  0%   { transform:scale(1);   opacity:.85; }
  100% { transform:scale(2.6); opacity:0; }
}
.feirao-pill .pill-marca {
  padding:0 12px 0 4px; font-weight:600; white-space:nowrap;
  text-transform:uppercase; letter-spacing:.09em; font-size:.72rem; color:#dfe7ff;
}
.feirao-pill .pill-marca b { font-weight:900; color:#fff; }
.feirao-pill .pill-sep {
  width:1px; height:17px; background:rgba(255,255,255,.22); flex:0 0 auto;
}
.feirao-pill .pill-prazo {
  margin-left:9px; padding:7px 14px; border-radius:999px;
  background:var(--feirao-yellow); color:var(--feirao-ink);
  font-weight:800; font-size:.73rem; white-space:nowrap;
  text-transform:uppercase; letter-spacing:.05em;
}
.feirao-pill .pill-prazo b { font-weight:900; }
@media (prefers-reduced-motion: reduce) { .feirao-pill .pulso:before { animation:none; opacity:0; } }
@media(max-width:620px){
  .feirao-pill { flex-wrap:wrap; gap:6px 0 !important; border-radius:20px !important; }
  .feirao-pill .pill-sep { display:none; }
  .feirao-pill .pill-prazo { margin-left:0; }
}

/* Título longo: o grifo do <em> era um :after absoluto e só funcionava em
   uma linha. Vira fundo clonado por fragmento, então acompanha a quebra. */
.hero-title { font-size:3.85rem; }
.hero-title em {
  white-space:normal;
  background-image:linear-gradient(rgba(255,255,255,.33), rgba(255,255,255,.33));
  background-size:100% 7px; background-position:0 94%; background-repeat:no-repeat;
  -webkit-box-decoration-break:clone; box-decoration-break:clone;
}
.hero-title em:after { display:none; }
@media(max-width:960px){ .hero-title{ font-size:3.1rem; } }
@media(max-width:620px){ .hero-title{ font-size:2.5rem; } }
