/* R199A — ReMind Prime Design System */

:root {
  --prime-blue: #2563eb;
  --prime-blue-2: #1d4ed8;
  --prime-blue-dark: #0f2f7f;
  --prime-ink: #0f172a;
  --prime-ink-2: #1e293b;
  --prime-muted: #475569;
  --prime-soft: #64748b;
  --prime-line: rgba(148, 163, 184, 0.22);
  --prime-line-strong: rgba(37, 99, 235, 0.22);
  --prime-bg: #f8fbff;
  --prime-card: rgba(255, 255, 255, 0.96);
  --prime-orange: #f97316;
  --prime-green: #22c55e;
  --prime-radius-xl: 28px;
  --prime-radius-lg: 22px;
  --prime-shadow-soft: 0 18px 50px rgba(15, 23, 42, 0.08);
  --prime-shadow-blue: 0 22px 60px rgba(37, 99, 235, 0.18);
}

html {
  scroll-behavior: smooth;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: var(--prime-ink);
  background:
    radial-gradient(circle at 8% 0%, rgba(37, 99, 235, 0.08), transparent 28%),
    radial-gradient(circle at 90% 20%, rgba(14, 165, 233, 0.08), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 48%, #ffffff 100%) !important;
}

h1,
h2,
h3,
.logo,
.brand,
.nav,
nav,
button,
.btn,
a[class*="btn"],
[class*="button"] {
  font-family: "Sora", "Inter", system-ui, sans-serif !important;
}

h1,
h2,
h3 {
  color: var(--prime-ink);
  letter-spacing: -0.045em;
}

p,
li {
  color: var(--prime-muted);
}

section {
  scroll-margin-top: 104px;
}

.container {
  width: min(1120px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-header,
.header,
.navbar,
nav[role="navigation"],
body > header {
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  background: rgba(255, 255, 255, 0.82) !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18) !important;
  box-shadow: 0 10px 34px rgba(15, 23, 42, 0.055) !important;
}

body > header {
  min-height: 74px;
}

body > header a,
nav a {
  color: #0f172a;
  font-weight: 700;
  letter-spacing: -0.02em;
}

a,
button {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

a:hover,
button:hover {
  transform: translateY(-1px);
}

.btn,
.button,
a[class*="btn"],
a[class*="button"],
button {
  border-radius: 999px;
}

.btn-primary,
.primary,
a[href="/teste-gratis"],
a[href*="teste-gratis"] {
  background: linear-gradient(135deg, var(--prime-blue), #1d4ed8) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 16px 36px rgba(37, 99, 235, 0.26) !important;
  font-weight: 800 !important;
}

.btn-primary:hover,
.primary:hover,
a[href="/teste-gratis"]:hover,
a[href*="teste-gratis"]:hover {
  box-shadow: 0 20px 46px rgba(37, 99, 235, 0.34) !important;
}

.hero,
section:first-of-type {
  position: relative;
  overflow: hidden;
}

.hero::before,
section:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(37, 99, 235, 0.12), transparent 30%),
    radial-gradient(circle at 82% 28%, rgba(59, 130, 246, 0.12), transparent 28%);
  opacity: .9;
}

.hero h1,
section:first-of-type h1 {
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -0.065em;
}

.hero p,
section:first-of-type p {
  line-height: 1.75;
}

img,
video {
  max-width: 100%;
}

[class*="card"],
[class*="feature"],
[class*="plan"],
[class*="faq-card"],
.r198h5-faq-card {
  border-color: var(--prime-line) !important;
}

[class*="card"]:not(.whatsapp-float):not([class*="btn"]),
[class*="feature"]:not(.whatsapp-float),
.r198h5-faq-card {
  background: var(--prime-card) !important;
  box-shadow: var(--prime-shadow-soft) !important;
}

#recursos,
#como-funciona,
#planos,
#perguntas-frequentes {
  position: relative;
}

#recursos h2,
#como-funciona h2,
#planos h2,
#perguntas-frequentes h2 {
  font-weight: 820;
  line-height: 1.12;
  letter-spacing: -0.055em;
}

#recursos p,
#como-funciona p,
#planos p,
#perguntas-frequentes p {
  line-height: 1.75;
}

#planos {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
  background:
    radial-gradient(circle at 50% 14%, rgba(37, 99, 235, 0.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

#planos [class*="card"],
#planos [class*="plan"] {
  border-radius: var(--prime-radius-xl) !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.09) !important;
}

#planos [class*="card"]:hover,
#planos [class*="plan"]:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 90px rgba(37, 99, 235, 0.16) !important;
}

#planos h3 {
  font-weight: 800;
}

#planos li {
  line-height: 1.7;
}

#planos strong,
#planos b {
  color: var(--prime-ink);
}

#perguntas-frequentes {
  padding-top: 92px !important;
  padding-bottom: 82px !important;
}

#perguntas-frequentes .r198h5-faq-wrap {
  width: min(1080px, calc(100% - 48px)) !important;
}

#perguntas-frequentes .r198h5-faq-header {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 52px !important;
  text-align: center !important;
}

#perguntas-frequentes .r198h5-eyebrow {
  background: rgba(37, 99, 235, 0.10) !important;
  color: #1d4ed8 !important;
}

#perguntas-frequentes .r198h5-faq-group {
  margin-top: 40px !important;
}

#perguntas-frequentes .r198h5-faq-group-title span {
  background: rgba(15, 23, 42, 0.04) !important;
  color: #0f172a !important;
  border: 1px solid rgba(148, 163, 184, 0.18);
}

#perguntas-frequentes .r198h5-faq-card {
  border-radius: 24px !important;
  padding: 26px 28px !important;
  min-height: 178px;
}

#perguntas-frequentes .r198h5-faq-card h3 {
  font-size: 1.02rem !important;
  font-weight: 800 !important;
}

#perguntas-frequentes .r198h5-faq-card p {
  font-size: .955rem !important;
  color: #475569 !important;
}

#perguntas-frequentes .r198h5-faq-card:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 99, 235, 0.24) !important;
  box-shadow: 0 26px 70px rgba(37, 99, 235, 0.12) !important;
}

footer,
.site-footer {
  border-top: 1px solid rgba(148, 163, 184, 0.18);
  background: #ffffff;
}

@media (max-width: 900px) {
  .container {
    width: min(100% - 32px, 720px) !important;
  }

  #planos {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }

  #perguntas-frequentes {
    padding-top: 72px !important;
    padding-bottom: 62px !important;
  }

  #perguntas-frequentes .r198h5-faq-header {
    text-align: left !important;
    margin-bottom: 36px !important;
  }

  #perguntas-frequentes .r198h5-faq-wrap {
    width: min(100% - 32px, 720px) !important;
  }

  #perguntas-frequentes .r198h5-faq-card {
    min-height: unset;
    padding: 22px !important;
  }
}

@media (max-width: 520px) {
  .container {
    width: calc(100% - 24px) !important;
  }

  body > header {
    min-height: 66px;
  }

  #perguntas-frequentes .r198h5-faq-wrap {
    width: calc(100% - 24px) !important;
  }

  #perguntas-frequentes .r198h5-faq-card {
    border-radius: 18px !important;
    padding: 18px !important;
  }
}
