/* =========================================================================
   SparkNews — página Consultoria (Delta Prime) com o design do portal
   Fontes: Space Grotesk (títulos), Inter (texto), IBM Plex Mono (rótulos).
   Cores: tokens do tema (claro/escuro) + faixas escuras #0F1A24 / #06261D.
   ========================================================================= */
.snc {
  --c-brand: var(--sn-brand, #00A878);
  --c-brand-hover: var(--sn-brand-hover, #008F66);
  --c-brand-soft: var(--sn-brand-soft, #E6F7F2);
  --c-ink: var(--sn-ink, #111827);
  --c-ink-2: var(--sn-ink-2, #64748B);
  --c-surface: var(--sn-surface, #fff);
  --c-surface-2: var(--sn-surface-2, #F8FAFC);
  --c-line: var(--sn-line, #E2E8F0);
  --c-dark: #0F1A24;
  --c-dark-2: #06261D;
  font-family: Inter, system-ui, sans-serif; color: var(--c-ink);
}
.snc *, .snc *::before, .snc *::after { box-sizing: border-box; }
.snc img { max-width: 100%; height: auto; display: block; }
.snc-wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.snc-narrow { max-width: 820px; }

/* Títulos e textos */
.snc-kicker { margin: 0 0 10px; text-align: center; font: 700 11px/1.3 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--c-brand); }
.snc-h2 { margin: 0 auto 28px; max-width: 760px; text-align: center; font: 700 30px/1.15 "Space Grotesk", system-ui, sans-serif; letter-spacing: -.02em; color: var(--c-ink); }
@media (min-width: 768px) { .snc-h2 { font-size: 38px; } }
.snc-h2 mark { white-space: nowrap; background: var(--c-brand-soft); color: var(--c-brand); padding: 0 .18em; border-radius: 4px; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.snc-left { text-align: left; margin-left: 0; }
.snc-on-dark { color: #fff; }
.snc-on-dark mark { background: rgba(0, 168, 120, .18); color: #34D399; }
.snc-p { margin: 0 0 14px; font-size: 16px; line-height: 1.7; color: var(--c-ink-2); }

/* Botões */
.snc-cta { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: 28px; }
.snc .snc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--c-brand); color: #fff; border-radius: 999px; padding: 15px 30px; text-decoration: none;
  font: 700 15px/1 "Space Grotesk", system-ui, sans-serif; text-transform: uppercase; letter-spacing: .03em;
  box-shadow: 0 10px 26px -10px rgba(0, 168, 120, .7); transition: background-color .15s ease, transform .15s ease;
}
.snc .snc-btn:hover { background: var(--c-brand-hover); color: #fff; transform: translateY(-1px); }
.snc-cta__note { font: 500 11px/1.3 "IBM Plex Mono", ui-monospace, monospace; color: var(--c-ink-2); }

/* Hero */
.snc-hero {
  position: relative; overflow: hidden; padding: 36px 0 56px; text-align: center; color: #fff;
  background: radial-gradient(70% 55% at 50% 0%, rgba(0, 168, 120, .28), transparent 70%), linear-gradient(180deg, var(--c-dark-2) 0%, var(--c-dark) 100%);
}
.snc-sponsor { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 0 0 22px; font: 500 12px/1.3 "IBM Plex Mono", ui-monospace, monospace; color: rgba(255, 255, 255, .65); }
.snc-badge { border: 1px solid rgba(255, 255, 255, .3); border-radius: 4px; padding: 3px 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: rgba(255, 255, 255, .85); font-size: 10.5px; }
.snc-logo { width: 150px; margin: 0 auto 14px; }
.snc-h1 { margin: 0; font: 700 40px/1.05 "Space Grotesk", system-ui, sans-serif; letter-spacing: -.03em; text-transform: uppercase; color: #fff; }
.snc-h1 span { color: #34D399; }
@media (min-width: 768px) { .snc-h1 { font-size: 60px; } }
.snc-sub { margin: 12px auto 0; max-width: 620px; font-size: 17px; line-height: 1.5; color: rgba(255, 255, 255, .75); }
.snc-hero__img { margin: 26px auto 8px; max-width: 900px; filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .45)); }
.snc-lead { margin: 18px auto 0; max-width: 720px; font-size: 16px; line-height: 1.7; color: rgba(255, 255, 255, .82); }
.snc-lead strong { color: #fff; }
.snc-hero .snc-cta__note { color: rgba(255, 255, 255, .55); }
.snc-urg { margin-top: -26px; position: relative; z-index: 2; }
.snc-urg .sn-urg { margin: 0; }

/* Seções */
.snc-sec { padding: 64px 0; background: var(--c-surface); }
.snc-sec--soft { background: var(--c-surface-2); border-top: 1px solid var(--c-line); border-bottom: 1px solid var(--c-line); }
.snc-dark { padding: 64px 0; color: #fff; background: radial-gradient(60% 60% at 50% 0%, rgba(0, 168, 120, .2), transparent 70%), var(--c-dark); }

/* Comparativo real x dólar */
.snc-compare { position: relative; margin: 0 auto 36px; max-width: 860px; border-radius: 12px; overflow: hidden; border: 1px solid var(--c-line); background: #fff; user-select: none; }
.snc-compare__stage { position: relative; }
.snc-compare__a { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.snc-compare__a img { width: 100%; height: 100%; object-fit: cover; }
.snc-compare__line { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: var(--c-brand); pointer-events: none; }
.snc-compare__line i { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--c-brand); color: #fff; font-style: normal; font-size: 16px; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.snc-compare input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.snc-compare figcaption { padding: 9px 14px; font: 500 12px/1.4 "IBM Plex Mono", ui-monospace, monospace; color: var(--c-ink-2); background: var(--c-surface-2); border-top: 1px solid var(--c-line); text-align: center; }

/* Cards */
.snc-grid3 { display: grid; grid-template-columns: 1fr; gap: 18px; }
@media (min-width: 768px) { .snc-grid3 { grid-template-columns: repeat(3, 1fr); } }
.snc-card { background: var(--c-surface); border: 1px solid var(--c-line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.snc-card:hover { border-color: var(--c-brand); transform: translateY(-2px); box-shadow: 0 14px 30px -18px rgba(17, 24, 39, .35); }
.snc-card__img { aspect-ratio: 16 / 10; overflow: hidden; }
.snc-card__img img { width: 100%; height: 100%; object-fit: cover; }
.snc-card h3, .snc-benefit h3, .snc-step h3 { margin: 18px 20px 8px; font: 700 18px/1.3 "Space Grotesk", system-ui, sans-serif; color: var(--c-ink); }
.snc-card p, .snc-step p { margin: 0 20px 22px; font-size: 14px; line-height: 1.65; color: var(--c-ink-2); }

/* Quem somos */
.snc-split { display: grid; gap: 32px; align-items: center; }
@media (min-width: 900px) { .snc-split { grid-template-columns: 1.1fr .9fr; gap: 56px; } }
.snc-split .snc-kicker { text-align: left; }
.snc-split__img img { border-radius: 12px; border: 1px solid var(--c-line); width: 100%; }

/* Modelo financeiro */
.snc-model { padding: 56px 0; text-align: center; background: var(--c-brand-soft); }
.snc-model .snc-h2 { margin-bottom: 4px; text-transform: uppercase; }
.snc-model__sub { margin: 0; font: 700 24px/1.2 "Space Grotesk", system-ui, sans-serif; color: var(--c-brand); text-transform: uppercase; }

/* Benefícios */
.snc-benefits { margin-top: 70px; row-gap: 80px; }
.snc-benefit {
  position: relative; text-align: center; padding: 70px 20px 26px; border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02)); border: 1px solid rgba(255, 255, 255, .1);
}
.snc-benefit__icon { position: absolute; top: -56px; left: 50%; transform: translateX(-50%); width: auto !important; height: 112px !important; filter: drop-shadow(0 12px 18px rgba(0, 0, 0, .4)); }
.snc-benefit h3 { color: #fff; margin: 8px 0 8px; font-size: 21px; }
.snc-benefit p { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, .72); }

/* Passos */
.snc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .snc-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .snc-steps { grid-template-columns: repeat(4, 1fr); } }
.snc-step { position: relative; overflow: hidden; background: var(--c-surface); border: 1px solid var(--c-line); border-radius: 12px; padding: 20px 0 34px; }
.snc-step__ico { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 20px; border-radius: 10px; background: var(--c-brand-soft); color: var(--c-brand); }
.snc-step__k { margin: 16px 20px 0 !important; font: 700 11px/1.2 "IBM Plex Mono", ui-monospace, monospace !important; letter-spacing: .1em; text-transform: uppercase; color: var(--c-brand) !important; }
.snc-step h3 { margin-top: 4px; }
.snc-step__n { position: absolute; right: 14px; bottom: 6px; font: 700 40px/1 "Space Grotesk", system-ui, sans-serif; color: var(--c-line); opacity: .9; pointer-events: none; }

/* Garantia */
.snc-guarantee { max-width: 720px; margin: 0 auto; text-align: center; padding: 34px 24px; border-radius: 16px; background: linear-gradient(180deg, rgba(0, 168, 120, .14), rgba(255, 255, 255, .02)); border: 1px solid rgba(0, 168, 120, .3); }
.snc-seal { width: 132px; height: 132px; margin: 0 auto 18px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at 50% 35%, #0E4A38, var(--c-dark-2)); border: 2px solid rgba(52, 211, 153, .5); box-shadow: 0 0 0 8px rgba(0, 168, 120, .1), 0 0 40px rgba(0, 168, 120, .35); }
.snc-seal b { font: 700 48px/1 "Space Grotesk", system-ui, sans-serif; color: #fff; }
.snc-seal span { font: 700 9.5px/1.2 "IBM Plex Mono", ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.snc-seal i { font-style: normal; color: #FDBB3A; font-size: 13px; letter-spacing: 1px; margin-top: 3px; }
.snc-guarantee .snc-h2 { margin-bottom: 12px; }
.snc-guarantee p { margin: 0; font-size: 15.5px; line-height: 1.7; color: rgba(255, 255, 255, .78); }

/* FAQ */
.snc-faq { display: flex; flex-direction: column; gap: 10px; }
.snc-faq details { border: 1px solid var(--c-line); border-radius: 10px; background: var(--c-surface); padding: 0 18px; transition: border-color .15s ease; }
.snc-faq details[open] { border-color: var(--c-brand); background: var(--c-surface-2); }
.snc-faq summary { cursor: pointer; list-style: none; position: relative; padding: 16px 30px 16px 0; font: 600 15.5px/1.4 "Space Grotesk", system-ui, sans-serif; color: var(--c-ink); }
.snc-faq summary::-webkit-details-marker { display: none; }
.snc-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font: 400 24px/1 Inter, sans-serif; color: var(--c-brand); }
.snc-faq details[open] summary::after { content: "–"; }
.snc-faq details p { margin: 0 0 16px; font-size: 15px; line-height: 1.65; color: var(--c-ink-2); }
.snc-legal { margin: 26px auto 0; max-width: 680px; text-align: center; font-size: 12px; line-height: 1.6; color: var(--c-ink-2); }

@media (max-width: 640px) {
  .snc-sec, .snc-dark { padding: 48px 0; }
  .snc .snc-btn { width: 100%; }
  .snc-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .snc-card, .snc .snc-btn { transition: none; } }
