/* Single Software — Home page styles
   Carrega depois de main.css. So estilos especificos da home.
*/

:root {
  --color-home-card-border: var(--color-accent-magenta);
  --color-home-card-bg: var(--color-bg-elevated);
  --color-home-pill-track: rgba(67, 25, 100, .3);
  --gradient-magenta-blue: linear-gradient(125deg, #f741f7 0%, #a73ef9 50%, #3c6dfa 100%);
  --gradient-purple-soft: linear-gradient(135deg, rgba(167, 62, 249, .35), rgba(247, 65, 247, .25));
}

/* ── Topbar (Figma 4307:14907 — gray/950 solido, 80px, padding 8/54) ── */
.topbar--home {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #080808;
  border-bottom: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  filter: drop-shadow(0 4px 2px rgba(0, 0, 0, .3));
}
.topbar--home .topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 8px 54px;
  gap: 16px;
}
.topbar--home .topbar__brand {
  display: block;
  flex-shrink: 0;
}
.topbar--home .topbar__brand img {
  height: 23px;
  width: 189px;
  display: block;
}
.topbar__nav {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 42px;
}
.topbar__nav-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 10px;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  background: none;
  border: 0;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s;
}
.topbar__nav-item:hover { background: rgba(255, 255, 255, .08); color: #f7f7f7; }
.topbar__nav-item .material-icons { font-size: 12px; line-height: 1; }
.topbar__nav-item--shadowban {
  background: linear-gradient(116.77deg, #f741f7 0.88%, #a73ef9 50.44%, #3c6dfa 100%);
  filter: drop-shadow(0 4px 2px rgba(0, 0, 0, .25));
}
.topbar__nav-item--shadowban:hover {
  background: linear-gradient(116.77deg, #f741f7 0.88%, #a73ef9 50.44%, #3c6dfa 100%);
  filter: drop-shadow(0 6px 12px rgba(247, 65, 247, .45));
  color: #f7f7f7;
}
.topbar__flag {
  width: 22px;
  height: 14px;
  object-fit: cover;
  display: block;
  border-radius: 2px;
}
.topbar--home .topbar__burger {
  display: none;
  background: none;
  border: 0;
  color: #f7f7f7;
  padding: 8px;
  cursor: pointer;
}

@media (max-width: 1199px) {
  .topbar--home .topbar__nav { display: none; }
  .topbar--home .topbar__burger { display: inline-flex; }
  .topbar--home .topbar__inner { padding: 8px 24px; }
}

.topbar__mobile[hidden] { display: none; }
.topbar__mobile {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4) var(--container-pad-x) var(--space-6);
  background: #080808;
  border-top: 1px solid var(--color-divider);
}
.topbar__mobile a {
  color: var(--color-text);
  text-decoration: none;
  padding: var(--space-3);
  font-size: var(--fs-h5);
  font-weight: 800;
  border-radius: var(--radius-md);
}
.topbar__mobile a:hover { background: var(--color-divider); }

/* ── Botao gradiente especial (hero / footer / cta) ────────── */
.btn-gradient {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: 14px 24px;
  border-radius: 12px;
  background: var(--gradient-magenta-blue);
  color: var(--color-light-50);
  font-family: var(--font-display);
  font-size: 20px;
  line-height: 1.3;
  text-decoration: none;
  font-weight: var(--fw-regular);
  box-shadow: 0 8px 24px rgba(247, 65, 247, .25);
  transition: transform .2s, box-shadow .2s;
}
.btn-gradient:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(247, 65, 247, .4); color: var(--color-light-50); }
.btn-gradient svg { fill: currentColor; }

.btn-link {
  display: inline-flex;
  align-items: center;
  margin-top: var(--space-3);
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  color: var(--color-accent-magenta);
  text-decoration: none;
}
.btn-link:hover { color: var(--color-brand-strong); }

/* ── HERO (Figma 4307:14933 — 1280x752, padding 54px, gap 56px) ── */
.hero {
  position: relative;
  height: 752px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 54px;
  overflow: hidden;
  background: var(--color-bg);
}
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 90% 100% at -10% -15%, #f741f7 0%, rgba(247, 65, 247, .75) 18%, rgba(167, 62, 249, .35) 40%, transparent 65%),
    radial-gradient(ellipse 90% 100% at 110% 115%, #f741f7 0%, rgba(247, 65, 247, .75) 18%, rgba(167, 62, 249, .35) 40%, transparent 65%);
  pointer-events: none;
}
.hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 56px;
  text-align: center;
}
.hero__logo {
  width: 200px;
  height: 25px;
  display: block;
  flex-shrink: 0;
}
.hero__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
}
.hero__title {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 48px;
  line-height: 56px;
  color: #f7f7f7;
  width: auto;
  max-width: 100%;
  margin: 0;
  letter-spacing: 0;
  white-space: nowrap;
}
.hero__subtitle {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  color: #f7f7f7;
  white-space: nowrap;
  margin: 0;
}
.hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 48px;
  padding: 16px 24px;
  border-radius: 12px;
  background: linear-gradient(90deg, #3c6dfa 0%, #f741f7 60.075%);
  color: #f7f7f7;
  text-decoration: none;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  white-space: nowrap;
  transition: transform .2s, box-shadow .2s;
  box-shadow: 0 8px 24px rgba(247, 65, 247, .2);
}
.hero__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(247, 65, 247, .4);
  color: #f7f7f7;
}
.hero__cta .material-icons {
  font-size: 24px;
  line-height: 1;
}

@media (max-width: 1023px) {
  .hero { height: auto; min-height: 600px; padding: 64px 24px; }
  .hero__content { gap: 40px; }
  .hero__title { font-size: 36px; line-height: 44px; width: auto; max-width: 640px; }
  .hero__subtitle { font-size: 18px; line-height: 26px; white-space: normal; max-width: 540px; }
  .hero__cta { font-size: 20px; padding: 14px 22px; }
}
@media (max-width: 639px) {
  .hero { min-height: 520px; padding: 48px 20px; }
  .hero__content { gap: 32px; }
  .hero__logo { width: 160px; height: 20px; }
  .hero__title { font-size: 26px; line-height: 34px; }
  .hero__subtitle { font-size: 15px; line-height: 22px; }
  .hero__cta { font-size: 16px; height: 44px; padding: 12px 20px; gap: 8px; }
  .hero__cta .material-icons { font-size: 20px; }
}

/* ── DATAS (Figma 4307:14946 — pad 48/120/54, gap 70, 2 cols) ── */
.datas-section {
  padding: 48px 120px 54px;
  background: var(--color-bg);
}
.datas-section__inner {
  display: flex;
  gap: 70px;
  align-items: stretch;
  max-width: 1280px;
  margin: 0 auto;
}
.datas-section__text {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: flex-start;
}
.datas-section__title {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 30px;
  line-height: 38px;
  color: #f7f7f7;
  margin: 0;
  width: 100%;
}
.datas-section__paragraphs {
  display: flex;
  flex-direction: column;
  gap: 22px;
  width: 100%;
}
.datas-section__paragraphs p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  margin: 0;
}
.datas-section__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #a73ef9;
  color: #f7f7f7;
  padding: 10px 12px;
  border-radius: 10px;
  text-decoration: none;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  transition: filter .2s, transform .2s;
}
.datas-section__cta:hover { filter: brightness(1.15); color: #f7f7f7; transform: translateY(-1px); }
.datas-section__cta .material-icons { font-size: 16px; line-height: 1; }

.datas-section__cards {
  flex: 1 0 0;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.datas-card {
  border: 1px solid #f741f7;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.datas-card strong {
  display: block;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 36px;
  line-height: 44px;
  color: #f7f7f7;
  margin: 0;
}
.datas-card strong.datas-card__num--green { color: #97ff7d; }
.datas-card span {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  margin-top: 4px;
}

@media (max-width: 1023px) {
  .datas-section { padding: 40px 24px; }
  .datas-section__inner { flex-direction: column; gap: 40px; }
}
@media (max-width: 540px) {
  .datas-section__cards { grid-template-columns: 1fr; grid-template-rows: auto; }
  .datas-card { padding: 24px 16px; }
}

/* ── FEATURE 1: FLUIDEZ (Figma 4307:14967 — bg #431964 1280x532) ── */
.feature-fluidez {
  background: #431964;
  padding: 48px 120px 12px;
}
.feature-fluidez__inner {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0;
}

/* Card shared (usado em todas as features) */
.feature-card {
  width: 472px;
  height: 472px;
  flex-shrink: 0;
  background: #210C32;
  border: 2px solid #f741f7;
  border-radius: 16px;
  padding: 20px 54px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
.feature-card__head {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.feature-card__icon {
  font-family: 'Material Icons';
  font-size: 96px;
  line-height: 1;
  background: linear-gradient(101deg, #f741f7 0.88%, #a73ef9 50.44%, #3c6dfa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  flex-shrink: 0;
}
.feature-card__head h3 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 30px;
  line-height: 38px;
  color: #f7f7f7;
  flex: 1 0 0;
  min-width: 0;
  margin: 0;
}
.feature-card__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
.feature-card__text p {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  color: #f7f7f7;
  margin: 0;
}

.feature-fluidez__media {
  width: 568px;
  height: 372px;
  border-radius: 0 16px 16px 0;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
  margin-left: 0;
}
.feature-fluidez__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 1199px) {
  .feature-fluidez { padding: 48px 24px 12px; }
  .feature-fluidez__inner { flex-direction: column; gap: 24px; align-items: stretch; }
  .feature-card { width: 100%; max-width: 472px; margin: 0 auto; }
  .feature-fluidez__media { width: 100%; max-width: 568px; margin: 0 auto; border-radius: 16px; height: 320px; }
}
@media (max-width: 540px) {
  .feature-card { height: auto; padding: 32px 24px; gap: 24px; }
  .feature-card__head { flex-direction: column; gap: 16px; text-align: center; }
  .feature-card__icon { font-size: 72px; }
  .feature-card__head h3 { font-size: 24px; line-height: 32px; text-align: center; }
}

/* ── FEATURE 2: ECOSYSTEM (Figma 4307:14980 — invertido) ── */
.feature-card--r12 { border-radius: 12px; }

.feature-ecosystem {
  background: #431964;
  padding: 12px 120px;
}
.feature-ecosystem__inner {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
}
.feature-ecosystem__media {
  width: 568px;
  height: 372px;
  border-radius: 16px 0 0 16px;
  overflow: hidden;
  flex-shrink: 0;
}
.feature-ecosystem__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

@media (max-width: 1199px) {
  .feature-ecosystem { padding: 12px 24px; }
  .feature-ecosystem__inner { flex-direction: column; gap: 24px; align-items: stretch; }
  .feature-ecosystem__media { width: 100%; max-width: 568px; margin: 0 auto; border-radius: 16px; height: 320px; order: -1; }
  .feature-ecosystem .feature-card { margin: 0 auto; }
}

/* ── FEATURE 3: ENGAJAR (Figma 4431:4188 — igual fluidez, padding invertido) ── */
.feature-engajar {
  background: #431964;
  padding: 12px 120px 48px;
}
.feature-engajar__inner {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0;
}
.feature-engajar__media {
  width: 568px;
  height: 372px;
  border-radius: 0 16px 16px 0;
  overflow: hidden;
  flex-shrink: 0;
}
.feature-engajar__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

@media (max-width: 1199px) {
  .feature-engajar { padding: 12px 24px 48px; }
  .feature-engajar__inner { flex-direction: column; gap: 24px; align-items: stretch; }
  .feature-engajar .feature-card { margin: 0 auto; }
  .feature-engajar__media { width: 100%; max-width: 568px; margin: 0 auto; border-radius: 16px; height: 320px; }
}

/* ── BOXTEXT 4 PILARES (Figma 4307:14993 — pad 72/120/54) ── */
.boxtext {
  display: flex;
  flex-direction: column;
  gap: 48px;
  align-items: center;
  padding: 72px 120px 54px;
  background: var(--color-bg);
}
.boxtext__grid {
  display: grid;
  grid-template-columns: repeat(4, 250px);
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: center;
  width: 100%;
}
.pillar {
  position: relative;
  width: 250px;
  background: rgba(12, 4, 17, .4);
  border: 1px solid #f741f7;
  border-radius: 12px;
  padding: 40px 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.pillar__icon {
  position: absolute;
  left: 50%;
  top: -28px;
  transform: translateX(-50%);
  width: 56px;
  height: 56px;
  border-radius: 90px;
  background: #3c6dfa;
  color: #f7f7f7;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Material Icons';
  font-size: 32px;
  line-height: 1;
}
.pillar__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: center;
  width: 100%;
}
.pillar__body h4 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 20px;
  line-height: 28px;
  color: #f7f7f7;
  margin: 0;
}
.pillar__body p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #f7f7f7;
  margin: 0;
}

.boxtext__cta-gradient {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 48px;
  padding: 16px 24px;
  border-radius: 12px;
  background: linear-gradient(90deg, #3c6dfa 0%, #f741f7 60.075%);
  color: #f7f7f7;
  text-decoration: none;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(247, 65, 247, .2);
  transition: transform .2s, box-shadow .2s;
}
.boxtext__cta-gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(247, 65, 247, .4);
  color: #f7f7f7;
}
.boxtext__cta-gradient .material-icons { font-size: 24px; line-height: 1; }

@media (max-width: 1199px) {
  .boxtext { padding: 72px 24px 54px; }
  .boxtext__grid { grid-template-columns: repeat(2, 250px); }
}
@media (max-width: 599px) {
  .boxtext__grid { grid-template-columns: 250px; }
  .boxtext__cta-gradient { font-size: 16px; padding: 14px 20px; white-space: normal; text-align: center; }
}

/* ── WE ARE US (Figma 4307:15015 — bg #0C0411, padding 0/120) ── */
.weare {
  background: #0C0411;
  padding: 0 120px;
}
.weare__inner {
  display: flex;
  align-items: center;
  gap: 44px;
  max-width: 1040px;
  margin: 0 auto;
  min-height: 662px;
}
.weare__left {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 48px 0;
}
.weare__title {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 30px;
  line-height: 38px;
  color: #f7f7f7;
  margin: 0;
}
.weare__lead {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: #f7f7f7;
  margin: 0;
}

.weare-card {
  background: #431964;
  border-radius: 12px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
}
.weare-card__icon-box {
  background: #642595;
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 12px 0 0 12px;
}
.weare-card__icon-box .material-icons {
  font-family: 'Material Icons Round', 'Material Icons';
  font-size: 48px;
  color: #ffffff;
  line-height: 1;
}
.weare-card__body {
  flex: 1 0 0;
  min-width: 0;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  justify-content: center;
}
.weare-card__body h4 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 20px;
  line-height: 28px;
  color: #f9f1ff;
  margin: 0;
}
.weare-card__body p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  margin: 0;
}
.weare-card__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 10px 0;
  color: #f741f7;
  text-decoration: none;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
}
.weare-card__link span:last-child { text-decoration: underline; text-decoration-skip-ink: none; }
.weare-card__link .material-icons { font-size: 18px; line-height: 18px; }
.weare-card__link:hover { color: #a73ef9; }

.weare__testimonial {
  position: relative;
  background: #210c32;
  border: 2px solid #f741f7;
  border-radius: 16px;
  padding: 40px 54px;
  width: 400px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.weare__testimonial-head {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
}
.weare__avatar {
  width: 90px;
  height: 90px;
  border-radius: 150px;
  object-fit: cover;
  border: 1px solid #f7f7f7;
  flex-shrink: 0;
}
.weare__brand {
  width: 141px;
  height: 60px;
  object-fit: contain;
}
.weare__quote {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin: 0;
}
.weare__quote-text {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 24px;
  color: #f7f7f7;
  margin: 0;
}
.weare__author { margin: 0; }
.weare__author strong {
  display: block;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
}
.weare__author span {
  display: block;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #f7f7f7;
}
.weare__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 32px;
  background: rgba(255, 255, 255, .1);
  border: 0;
  border-radius: 8px;
  color: #f7f7f7;
  cursor: pointer;
  opacity: .9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.weare__arrow:hover { background: rgba(255, 255, 255, .2); opacity: 1; }
.weare__arrow .material-icons { font-size: 16px; line-height: 1; }
.weare__arrow--prev { left: -18px; }
.weare__arrow--next { right: -18px; }

@media (max-width: 1199px) {
  .weare { padding: 48px 24px; }
  .weare__inner { flex-direction: column; align-items: stretch; gap: 32px; min-height: auto; }
  .weare__left { padding: 0; }
  .weare__testimonial { width: 100%; max-width: 600px; margin: 0 auto; }
}
@media (max-width: 639px) {
  .weare-card { flex-direction: column; }
  .weare-card__icon-box { width: 100%; height: 80px; border-radius: 12px 12px 0 0; }
  .weare__testimonial-head { flex-direction: column; gap: 16px; }
  .weare__testimonial { padding: 32px 24px; }
}

/* ── PROVIDERS (Figma 4307:15098 — pad 48 top, gap 32) ── */
.providers {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
  justify-content: center;
  padding: 48px 120px 0;
  background: var(--color-bg);
}
.providers__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  text-align: center;
  width: 100%;
}
.providers__head h2 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 30px;
  line-height: 38px;
  color: #f7f7f7;
  margin: 0;
}
.providers__head p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: #f7f7f7;
  margin: 0;
}
.providers__grid {
  display: flex;
  justify-content: center;
}
.providers__grid img {
  display: block;
  max-width: 100%;
  width: 912px;
  height: auto;
}

@media (max-width: 1023px) {
  .providers { padding: 48px 24px 0; }
  .providers__head h2 { font-size: 24px; line-height: 32px; }
  .providers__head p { font-size: 16px; line-height: 22px; }
}

/* ── GARELLY (Figma 4307:15120 — 2 strips offset, 270h each) ── */
.garelly {
  padding: 54px 0 64px;
  background: var(--color-bg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.garelly__row {
  width: 100%;
  height: 270px;
  overflow: hidden;
}
.garelly__row img {
  display: block;
  width: 1280px;
  max-width: none;
  height: 270px;
  object-fit: cover;
}
.garelly__row--1 img { transform: translateX(-109px); width: calc(1280px + 218px); }
.garelly__row--2 img { transform: translateX(-218px); width: calc(1280px + 436px); }
.garelly__cta {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
.garelly__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .08);
  color: #f7f7f7;
  text-decoration: none;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  border: 1px solid rgba(255, 255, 255, .15);
  transition: background .15s;
}
.garelly__cta-btn:hover { background: rgba(255, 255, 255, .15); color: #f7f7f7; }
.garelly__cta-btn .material-icons { font-size: 18px; line-height: 1; }

@media (max-width: 639px) {
  .garelly { padding: 32px 0 48px; gap: 16px; }
  .garelly__row, .garelly__row img { height: 180px; }
  .garelly__row img { width: 100%; transform: none; }
}

/* ── SUPORTE ESTRATÉGICO (Figma 4308:16219) ── */
.support {
  position: relative;
  background: var(--color-bg);
  padding: 0;
  max-width: 1280px;
  margin: 0 auto;
}
.support__bg {
  display: block;
  width: 100%;
  height: auto;
}
.support__cta {
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 12px;
  background: #f7f7f7;
  color: #1a1a1a;
  text-decoration: none;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .35);
  transition: transform .15s, box-shadow .15s;
  white-space: nowrap;
}
.support__cta:hover { transform: translateX(-50%) translateY(-1px); box-shadow: 0 12px 32px rgba(247, 65, 247, .35); color: #1a1a1a; }
.support__cta .material-icons { font-size: 18px; line-height: 1; }

@media (max-width: 639px) {
  .support__cta { font-size: 14px; padding: 10px 18px; top: 14px; }
}

/* ── FORMS (Figma 4404:2945 — pad 60/120/54, gap 48) ── */
.forms {
  padding: 60px 120px 54px;
  background: var(--color-bg);
}
.forms__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  max-width: 1040px;
  margin: 0 auto;
}
.forms__single {
  width: 430px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-self: stretch;
}
.forms__lead {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-self: stretch;
}
.forms__heading {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.forms__heading h3 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 30px;
  line-height: 38px;
  color: #f7f7f7;
  margin: 0;
}
.forms__heading p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: #f7f7f7;
  margin: 0;
}

.forms__channels {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1 0 0;
  list-style: none;
  padding: 0;
  margin: 0;
}
.contact-box {
  background: rgba(255, 255, 255, .05);
  border: 1px solid #f741f7;
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  gap: 24px;
  align-items: center;
  flex: 1 0 0;
}
.contact-box__icon {
  font-family: 'Material Icons';
  font-size: 24px;
  color: #f741f7;
  line-height: 1;
  flex-shrink: 0;
  width: 29px;
  text-align: center;
}
.contact-box__text {
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.contact-box__text strong {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 20px;
  line-height: 28px;
  color: #f7f7f7;
}
.contact-box__text a,
.contact-box__text span {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  text-decoration: none;
}
.contact-box__text a:hover { color: #f741f7; }
.contact-box__text small {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #f7f7f7;
}

/* Lead form */
.lead-form {
  background: rgba(255, 255, 255, .05);
  border: 1px solid #f741f7;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 29px;
  align-items: center;
  justify-content: center;
  flex: 1 0 0;
}
.lead-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  width: 100%;
}
.lead-form__grid > input,
.lead-form__input-icon {
  background: rgba(134, 50, 199, .2);
  border: 0.4px solid #666666;
  border-radius: 8px;
  padding: 11px 12px;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #f7f7f7;
  width: 100%;
  outline: none;
  transition: border-color .15s;
}
.lead-form__grid > input::placeholder { color: #808080; }
.lead-form__grid > input:focus,
.lead-form__input-icon:focus-within { border-color: #f741f7; }
.lead-form__input-icon {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
}
.lead-form__input-icon .material-icons { margin-left: 12px; font-size: 14px; color: #f7f7f7; line-height: 1; }
.lead-form__input-icon input {
  flex: 1 0 0;
  background: transparent;
  border: 0;
  padding: 11px 12px 11px 0;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #f7f7f7;
  outline: none;
}
.lead-form__input-icon input::placeholder { color: #808080; }

.lead-form__row {
  display: flex;
  gap: 16px;
  width: 100%;
}
.lead-form__radios {
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1 0 0;
}
.lead-form__radios legend {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #ebebeb;
}
.lead-form__radios label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #ebebeb;
  cursor: pointer;
}
.lead-form__radios > label + label,
.lead-form__radios input[type=radio] + label,
.lead-form__radios input[type=checkbox] + label { margin-left: 24px; }
.lead-form__radios { gap: 8px; }
.lead-form__radios label:not(:first-of-type) { display: inline-flex; }
.lead-form__radios > div { display: flex; gap: 24px; }
.lead-form__radios input[type=radio],
.lead-form__radios input[type=checkbox] {
  appearance: none;
  width: 18px;
  height: 18px;
  background: #333;
  border: 1px solid #595959;
  border-radius: 4px;
  cursor: pointer;
}
.lead-form__radios input[type=radio]:checked,
.lead-form__radios input[type=checkbox]:checked {
  background: #f741f7;
  border-color: #f741f7;
}
.lead-form__radios > label:first-of-type { margin-bottom: 0; }
/* Radios in same row */
.lead-form__radios legend + label { display: inline-flex; }

.lead-form__radios {
  display: grid;
  grid-template-rows: auto auto;
  gap: 8px;
}
.lead-form__radios > legend { grid-row: 1; }
.lead-form__radios > label { grid-row: 2; display: inline-flex; }
.lead-form__radios > label:nth-of-type(1) { grid-column: 1; }
.lead-form__radios > label:nth-of-type(2) { grid-column: 2; }
.lead-form__radios > label:nth-of-type(3) { grid-column: 3; }

.lead-form__select {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(247, 247, 247, .3);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #f7f7f7;
  cursor: pointer;
  transition: background .15s;
}
.lead-form__select:hover { background: rgba(255, 255, 255, .15); }
.lead-form__select .material-icons { font-size: 16px; line-height: 1; }

.lead-form__submit {
  background: linear-gradient(142.13deg, #f741f7 0.88%, #a73ef9 50.44%, #3c6dfa 100%);
  border: 0;
  border-radius: 8px;
  padding: 10px 16px;
  width: 100%;
  height: 44px;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  color: #f9f1ff;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
}
.lead-form__submit:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(247, 65, 247, .35); }

@media (max-width: 1023px) {
  .forms { padding: 48px 24px; }
  .forms__inner { flex-direction: column; gap: 32px; }
  .forms__single, .forms__lead { width: 100%; max-width: 562px; margin: 0 auto; }
  .lead-form__grid { grid-template-columns: 1fr; }
  .lead-form__row { flex-direction: column; }
}

/* ── FAQ ───────────────────────────────────────────────────── */
.faq { padding: var(--space-12) 0; }
.faq__title {
  text-align: center;
  font-size: 26px;
  line-height: 34px;
  font-weight: var(--fw-bold);
  margin-bottom: var(--space-8);
  color: var(--color-light-50);
}
.faq__title a { color: var(--color-accent-magenta); text-decoration: underline; }
.faq__list {
  background: var(--color-home-pill-track);
  border-radius: 12px;
  padding: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.faq__item {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(247, 247, 247, .25);
  border-radius: 12px;
  overflow: hidden;
}
.faq__item summary {
  list-style: none;
  cursor: pointer;
  padding: var(--space-3) var(--space-5);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  font-size: 16px;
  line-height: 22px;
  color: var(--color-light-50);
}
.faq__item summary::-webkit-details-marker { display: none; }
.faq__chevron {
  flex-shrink: 0;
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .08);
  border-radius: 50%;
  color: var(--color-light-50);
  font-size: 20px;
  font-weight: var(--fw-regular);
  transition: transform .2s, background .2s;
}
.faq__item[open] .faq__chevron { transform: rotate(45deg); background: var(--color-accent-magenta); }
.faq__item p {
  padding: 0 var(--space-5) var(--space-4);
  font-size: 14px; line-height: 22px;
  color: var(--color-light-50); opacity: .85;
}

/* ── CTA FINAL (Figma 4307:15241 — pad 48/120) ── */
.cta-final {
  padding: 48px 120px;
  background: var(--color-bg);
}
.cta-final__box {
  display: flex;
  align-items: center;
  gap: 32px;
  height: 280px;
  padding-left: 40px;
  border-radius: 24px;
  background: linear-gradient(125.84deg, #f741f7 0.88%, #a73ef9 50.44%, #3c6dfa 100%);
  overflow: hidden;
  max-width: 1040px;
  margin: 0 auto;
}
.cta-final__copy {
  flex: 1 0 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: flex-start;
}
.cta-final__copy h2 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 28px;
  line-height: 34px;
  color: #ffffff;
  margin: 0;
}
.cta-final__copy p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  margin: 0;
}
.cta-final__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
  color: #1a1a1a;
  border-radius: 8px;
  padding: 10px 16px;
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 16px;
  line-height: 22px;
  width: 291px;
  height: 44px;
  text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}
.cta-final__btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,.25); color: #1a1a1a; background: #ffffff; }

.cta-final__visual {
  width: 290px;
  height: 280px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}
.cta-final__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1023px) {
  .cta-final { padding: 32px 24px; }
  .cta-final__box { flex-direction: column; height: auto; padding: 32px 24px; gap: 24px; }
  .cta-final__visual { width: 100%; max-width: 290px; }
  .cta-final__btn { width: 100%; max-width: 291px; }
}

/* ── FOOTER (Figma 4307:15249 — bg #642595 Secondary/700) ── */
.footer {
  position: relative;
  background: #642595;
  margin-top: 0;
  padding: 44px 0 0;
  border-top: 0;
}
.footer__top-btn {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 28px;
  background: linear-gradient(90deg, #3c6dfa 0%, #f741f7 60.075%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #edf4f9;
  text-decoration: none;
  z-index: 2;
  transition: transform .15s;
}
.footer__top-btn:hover { transform: translate(-50%, -55%); color: #edf4f9; }
.footer__top-btn .material-icons { font-size: 26px; line-height: 1; }

.footer__inner {
  display: flex;
  flex-direction: column;
  gap: 44px;
  padding: 0 54px;
}
.footer__brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 0;
  border-bottom: 2px solid #8632c7;
  gap: 24px;
}
.footer__brand-left {
  display: flex;
  align-items: center;
  gap: 24px;
}
.footer__logo {
  width: 150px;
  height: 64px;
  object-fit: contain;
  filter: none;
}
.footer__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  height: 48px;
  padding: 16px 24px;
  border-radius: 12px;
  background: linear-gradient(90deg, #3c6dfa 0%, #f741f7 60.075%);
  color: #f7f7f7;
  text-decoration: none;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  width: 239px;
  white-space: nowrap;
  justify-content: center;
  transition: transform .15s, box-shadow .15s;
}
.footer__cta:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(247, 65, 247, .4); color: #f7f7f7; }
.footer__cta .material-icons { font-size: 24px; line-height: 1; }

.footer__social {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0;
  width: 288px;
}
.footer__social a {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border-radius: 0;
  transition: transform .15s;
}
.footer__social a:hover { transform: scale(1.1); background: none; }
.footer__social img { width: 36px; height: 36px; filter: none; }

.footer__cols {
  display: flex;
  gap: 44px;
  align-items: stretch;
}
.footer__col {
  flex: 1 0 0;
  background: #431964;
  padding: 24px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer__col h4 {
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 18px;
  line-height: 24px;
  color: #f741f7;
  margin: 0;
  padding: 10px 16px;
}
.footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.footer__col a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 16px;
  line-height: 22px;
  color: #f7f7f7;
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 10px;
  transition: background .15s;
}
.footer__col a:hover { background: rgba(255, 255, 255, .08); color: #f7f7f7; }
.footer__col-link-icon .material-icons { font-size: 18px; line-height: 18px; }

.footer__copyright {
  background: #431964;
  padding: 24px 16px 44px;
  margin-top: 44px;
}
.footer__copyright p {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #f7f7f7;
  text-align: center;
  margin: 0;
}

@media (max-width: 1023px) {
  .footer__inner { padding: 0 24px; }
  .footer__brand-row { flex-direction: column; align-items: flex-start; gap: 16px; }
  .footer__brand-left { flex-wrap: wrap; }
  .footer__cols { flex-direction: column; }
}
@media (max-width: 539px) {
  .footer__brand-left { flex-direction: column; align-items: flex-start; }
  .footer__cta { width: 100%; max-width: 239px; }
}
