:root {
  --cor-primaria: #000022;
  --cor-secundaria: #2BE9E6;
  --cor-texto: #ffffff;
  --cor-texto-suave: #b7bfd3;
  --cor-painel: #0b1230;
  --cor-borda: rgba(255, 255, 255, 0.12);
  --grade-tamanho: 64px;
  --grade-opacidade: 0.0275;
  --largura-conteudo: 1120px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--cor-texto);
  font-family: "Open Sans", Arial, sans-serif;
  line-height: 1.5;
  background-color: var(--cor-primaria);
  background-image:
    linear-gradient(rgba(43, 233, 230, var(--grade-opacidade)) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43, 233, 230, var(--grade-opacidade)) 1px, transparent 1px);
  background-size: var(--grade-tamanho) var(--grade-tamanho);
}

a { color: inherit; text-decoration: none; }

.container {
  width: min(var(--largura-conteudo), calc(100% - 48px));
  margin-inline: auto;
}

.cabecalho {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid transparent;
  background-color: transparent;
  transition: background-color 200ms ease, border-color 200ms ease;
}

.cabecalho--rolado {
  border-bottom-color: rgba(255, 255, 255, .07);
  background-color: var(--cor-primaria);
}

.cabecalho__conteudo {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

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

.marca__logo {
  display: block;
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.marca__texto {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.2;
}

.marca__texto strong {
  font-family: "Changa One", sans-serif;
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 0.02em;
}

.navegacao {
  display: flex;
  align-items: center;
  gap: 40px;
}

.navegacao a {
  color: var(--cor-texto-suave);
  font-size: 15px;
  white-space: nowrap;
  transition: color 160ms ease;
}

.navegacao a:hover,
.navegacao a:focus-visible { color: var(--cor-secundaria); }

.botao {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--cor-primaria);
  background: var(--cor-secundaria);
  font-size: 15px;
  font-weight: 700;
  transition: transform 160ms ease, filter 160ms ease;
}

.botao:hover { transform: translateY(-2px); filter: brightness(1.08); }

.hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 76px);
}

.hero__conteudo {
  height: auto;
  min-height: calc(100svh - 76px);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(min-content, 1fr);
  align-items: center;
  justify-items: center;
  gap: 0;
  padding-block: clamp(32px, 8svh, 64px);
}

.hero__texto {
  width: 100%;
  max-width: 1040px;
  height: auto;
  position: relative;
  z-index: 1;
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
}

.hero h1 {
  width: 100%;
  max-width: 1040px;
  margin: 0;
  font-size: clamp(54px, 5vw, 72px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.08;
  text-wrap: balance;
}

.hero h1 span {
  background: linear-gradient(95deg, #28d5e1 2%, #2fd7bd 90%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.hero__descricao {
  width: 100%;
  max-width: 880px;
  margin: 22px auto 0;
  color: var(--cor-texto-suave);
  font-size: 20px;
  line-height: 1.65;
  text-align: center;
  text-wrap: balance;
}

.hero__acoes {
  width: min(100%, 484px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 20px;
  margin-top: 30px;
}

.hero__botao-principal,
.hero__botao-secundario {
  width: 232px;
  flex: 0 0 232px;
  gap: 11px;
  padding-inline: 18px;
}

.hero__botao-secundario {
  color: #111525;
  background: #fff;
}

.hero__botao-secundario:hover { background: #edf2fb; }

.hero__botao-icone {
  display: block;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  object-fit: contain;
}

.problemas {
  position: relative;
  padding-block: 72px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.problemas__conteudo {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 12px;
}

.problemas__introducao {
  margin-bottom: 40px;
  text-align: center;
}

.problemas__etiqueta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 10px 20px;
  border: 1px solid rgba(239, 68, 68, .5);
  border-radius: 9999px;
  color: #f87171;
  background: rgba(239, 68, 68, .35);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.problemas svg { display: block; width: 24px; height: 24px; }
.problemas__etiqueta svg { width: 20px; height: 20px; }

.problemas__introducao h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 36px;
}

.problemas__introducao h2 span { color: #f87171; }

.problemas__grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}

.problema-card {
  height: 100%;
  padding: 20px;
  border: 1px solid rgba(var(--problema-rgb), .2);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(var(--problema-rgb), .4), rgba(var(--problema-rgb), .2));
  transition: transform 300ms ease, border-color 300ms ease;
}

.problema-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--problema-rgb), .4);
}

.problema-card--planilhas { --problema-rgb: 239, 68, 68; --problema-cor: #f87171; }
.problema-card--retrabalho { --problema-rgb: 249, 115, 22; --problema-cor: #fb923c; }
.problema-card--erros { --problema-rgb: 245, 158, 11; --problema-cor: #fbbf24; }
.problema-card--sistemas { --problema-rgb: 234, 179, 8; --problema-cor: #facc15; }
.problema-card--decisoes { --problema-rgb: 132, 204, 22; --problema-cor: #a3e635; }
.problema-card--crescimento { --problema-rgb: 34, 197, 94; --problema-cor: #4ade80; }

.problema-card__icone {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  border-radius: 12px;
  color: var(--problema-cor);
  background: rgba(var(--problema-rgb), .1);
}

.problema-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  line-height: 28px;
}

.problema-card p {
  margin: 0;
  color: #94a3b8;
  font-size: 16px;
  line-height: 26px;
}

.problemas__conclusao { margin-top: 40px; text-align: center; }
.problemas__conclusao p { margin: 0 0 8px; color: #cbd5e1; font-size: 20px; line-height: 28px; }
.problemas__conclusao strong { color: #fff; font-weight: 600; }
.problemas__conclusao p:last-child { margin: 0; color: #fff; font-size: 24px; font-weight: 700; line-height: 32px; }
.problemas__conclusao span {
  background: linear-gradient(90deg, #2be9e6, #00c9c7);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 640px) {
  .problemas__conteudo { padding-inline: 20px; }
  .problemas__introducao h2 { font-size: 36px; line-height: 40px; }
  .problemas__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .problemas { padding-block: 96px; }
  .problemas__conteudo { padding-inline: 24px; }
  .problemas__introducao h2 { font-size: 48px; line-height: 48px; }
  .problemas__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.solucoes {
  padding-block: 48px;
  scroll-margin-top: 100px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.solucoes__conteudo {
  width: 100%;
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: 12px;
}

.solucoes__introducao {
  max-width: 960px;
  margin: 0 auto 40px;
  text-align: center;
}

.solucoes__etiqueta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 10px 20px;
  border: 1px solid rgba(43, 233, 230, .35);
  border-radius: 9999px;
  color: var(--cor-secundaria);
  background: rgba(43, 233, 230, .12);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.solucoes__etiqueta svg { width: 20px; height: 20px; flex-shrink: 0; }

.solucoes__introducao h2 {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.solucoes__introducao h2 span {
  background: linear-gradient(95deg, #28d5e1, #2fd7bd);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.solucoes__introducao > p {
  max-width: 800px;
  margin: 20px auto 0;
  color: var(--cor-texto-suave);
  font-size: 18px;
  line-height: 1.65;
  text-wrap: balance;
}

.solucoes__grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
}

.solucao-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(var(--solucao-rgb), .25);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(var(--solucao-rgb), .3), rgba(11, 18, 48, .96) 65%);
  transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}

.solucao-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--solucao-cor), var(--solucao-cor-final));
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  opacity: 0;
  transition: transform 250ms ease, opacity 250ms ease;
}

.solucao-card--apps { --solucao-rgb: 167, 139, 250; --solucao-cor: #c4b5fd; --solucao-cor-final: #a855f7; }
.solucao-card--automate { --solucao-rgb: 56, 189, 248; --solucao-cor: #67e8f9; --solucao-cor-final: #3b82f6; }
.solucao-card--bi { --solucao-rgb: 251, 191, 36; --solucao-cor: #fde68a; --solucao-cor-final: #f97316; }

.solucao-card__icone {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 18px;
  border: 1px solid rgba(var(--solucao-rgb), .35);
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, rgba(var(--solucao-rgb), .65), var(--solucao-cor-final));
  box-shadow: 0 8px 24px rgba(var(--solucao-rgb), .12);
}

.solucao-card__icone svg { display: block; width: 28px; height: 28px; }

.solucao-card h3 {
  margin: 0 0 8px;
  color: var(--solucao-cor);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.solucao-card__beneficio {
  margin: 0 0 12px;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}

.solucao-card__descricao {
  margin: 0;
  color: var(--cor-texto-suave);
  font-size: 16px;
  line-height: 1.6;
}

.solucao-card__exemplo {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(var(--solucao-rgb), .2);
  color: var(--cor-texto-suave);
  font-size: 14px;
  line-height: 1.55;
}

.solucao-card__exemplo span {
  display: block;
  margin-bottom: 4px;
  color: var(--solucao-cor);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) .solucao-card__icone {
  width: 64px;
  height: 64px;
  margin-bottom: 24px;
  border: 0;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
}
.solucao-card--apps .solucao-card__icone { background: linear-gradient(135deg, #8b5cf6, #a855f7); }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) .solucao-card__icone svg { width: 32px; height: 32px; }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) h3 { font-size: 26px; }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) p { text-align: left; }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) .solucao-card__beneficio { font-size: 18px; }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) .solucao-card__descricao { margin-bottom: 24px; font-size: 17px; }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) .solucao-card__exemplo { font-size: 16px; }
:is(.solucao-card--apps, .solucao-card--automate, .solucao-card--bi) .solucao-card__exemplo span { font-size: 13px; }

@media (hover: hover) {
  .solucao-card:hover {
    transform: translateY(-6px);
    border-color: rgba(var(--solucao-rgb), .55);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .2), 0 0 24px rgba(var(--solucao-rgb), .08);
  }
  .solucao-card:hover::before { transform: scaleX(1); opacity: 1; }
}

.solucoes__integracoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 32px;
  padding: 24px;
  border: 1px solid var(--cor-borda);
  border-radius: 18px;
  background: rgba(11, 18, 48, .7);
}

.solucoes__integracoes h3 { margin: 0 0 6px; font-size: 18px; line-height: 1.4; }
.solucoes__integracoes p { margin: 0; color: var(--cor-texto-suave); font-size: 14px; }
.solucoes__integracoes ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.solucoes__integracoes li {
  padding: 7px 12px;
  border: 1px solid rgba(43, 233, 230, .2);
  border-radius: 8px;
  color: #d5f5f4;
  background: rgba(43, 233, 230, .06);
  font-size: 13px;
  font-weight: 500;
}

@media (min-width: 640px) {
  .solucoes__conteudo { padding-inline: 20px; }
  .solucoes__introducao h2 { font-size: 36px; }
  .solucoes__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .solucoes { padding-block: 64px; }
  .solucoes__conteudo { padding-inline: 24px; }
  .solucoes__introducao { margin-bottom: 48px; }
  .solucoes__introducao h2 { font-size: 48px; }
  .solucoes__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .solucao-card { padding: 28px; }
  .solucao-card__beneficio { min-height: 2.8em; }
  .solucoes__integracoes { padding: 24px 28px; }
}

.processo__conteudo {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin-top: 72px;
  margin-inline: auto;
  padding-inline: 16px;
}

.processo__introducao { margin-bottom: 80px; text-align: center; transform: translateY(20px); }

.processo__introducao h2 { margin: 0 0 24px; color: var(--cor-texto); font-size: 26px; font-weight: 700; line-height: 32px; }
.processo__introducao p { margin: 0; color: #94a3b8; font-size: 16px; line-height: 1.625; }

.processo__etapas { position: relative; margin: 0; padding: 0; list-style: none; }
.processo__etapa { position: relative; transform: translateY(30px); }
.processo__etapa + .processo__etapa { margin-top: 48px; }

.processo-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 68, .8);
  border-radius: 16px;
  background: rgba(15, 23, 42, .8);
  backdrop-filter: blur(4px);
  transition: border-color 300ms ease;
}
.processo-card:hover { border-color: #334155; }

.processo-card__icone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #2be9e6, #00c9c7);
  box-shadow: 0 10px 15px -3px rgba(59, 130, 246, .2), 0 4px 6px -4px rgba(59, 130, 246, .2);
}
.processo-card__icone svg { display: block; width: 28px; height: 28px; }
.processo-card__texto { flex: 1; min-width: 0; }
.processo-card__cabecalho { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.processo-card__numero {
  color: #2be9e6;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 14px;
  line-height: 20px;
}
.processo-card h3 { margin: 0; color: #fff; font-size: 20px; font-weight: 700; line-height: 28px; }
.processo-card p { margin: 0 0 12px; color: #94a3b8; font-size: 16px; line-height: 1.625; }
.processo-card__detalhe {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #34d399;
  font-size: 14px;
  line-height: 20px;
}
.processo-card__detalhe::before { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: #34d399; content: ""; }
.processo__marcador { display: none; }

.processo__conclusao { margin-top: 80px; text-align: center; transform: translateY(20px); }
.processo__convite {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  border: 1px solid rgba(59, 130, 246, .2);
  border-radius: 16px;
  background: linear-gradient(90deg, rgba(59, 130, 246, .1), rgba(6, 182, 212, .1));
}
.processo__convite-icone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #2be9e6, #00c9c7);
}
.processo__convite-icone svg { display: block; width: 24px; height: 24px; }
.processo__convite-texto { min-width: 0; text-align: left; }
.processo__convite-texto strong { display: block; color: #fff; font-size: 16px; font-weight: 600; line-height: 24px; }
.processo__convite-texto > span { display: block; color: #94a3b8; font-size: 14px; line-height: 20px; }
.processo__convite-seta { width: 20px; height: 20px; flex-shrink: 0; margin-left: 8px; color: #2be9e6; }
.processo__convite:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

@media (min-width: 640px) {
  .processo__conteudo { padding-inline: 24px; }
  .processo__introducao h2 { font-size: 30px; line-height: 36px; }
}

@media (min-width: 1024px) {
  .processo__conteudo { margin-top: 96px; padding-inline: 32px; }
  .processo__introducao h2 { font-size: 36px; line-height: 40px; }
  .processo__etapas::before {
    position: absolute;
    inset: 0 auto 0 50%;
    width: 3px;
    background: linear-gradient(180deg, rgba(59, 130, 246, .2), rgba(59, 130, 246, .6), rgba(59, 130, 246, .2));
    content: "";
    transform: translateX(-50%);
  }
  .processo__etapa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; }
  .processo__etapa + .processo__etapa { margin-top: 32px; }
  .processo-card { padding: 32px; }
  .processo__etapa:nth-child(odd) .processo-card { grid-column: 1; flex-direction: row-reverse; margin-right: 32px; text-align: right; }
  .processo__etapa:nth-child(odd) .processo-card__cabecalho { flex-direction: row-reverse; }
  .processo__etapa:nth-child(even) .processo-card { grid-column: 2; margin-left: 32px; }
  .processo__marcador {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    display: block;
    width: 20px;
    height: 20px;
    transform: translate(-50%, -50%);
  }
  .processo__marcador::before {
    position: absolute;
    inset: 0;
    border: 4px solid #000022;
    border-radius: 50%;
    background: linear-gradient(135deg, #2be9e6, #00c9c7);
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, .5), 0 4px 6px -4px rgba(59, 130, 246, .5);
    content: "";
  }
  .processo__marcador::after {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: #3b82f6;
    opacity: .2;
    animation: processo-pulso 1s cubic-bezier(0, 0, .2, 1) infinite;
    content: "";
  }
}

@keyframes processo-pulso {
  75%, 100% { transform: scale(2); opacity: 0; }
}

.contratacao {
  padding-block: 64px;
  scroll-margin-top: 100px;
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.contratacao__conteudo { width: 100%; max-width: 1280px; margin-inline: auto; padding-inline: 12px; }
.contratacao__introducao { max-width: 960px; margin: 0 auto 48px; text-align: center; }
.contratacao__etiqueta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  padding: 10px 20px;
  border: 1px solid rgba(43, 233, 230, .35);
  border-radius: 9999px;
  color: var(--cor-secundaria);
  background: rgba(43, 233, 230, .12);
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}
.contratacao__etiqueta svg { display: block; width: 20px; height: 20px; flex-shrink: 0; }
.contratacao__introducao h2 { margin: 0; font-size: 30px; font-weight: 700; line-height: 1.12; letter-spacing: -.025em; text-wrap: balance; }
.contratacao__introducao h2 span {
  background: linear-gradient(95deg, #28d5e1, #2fd7bd);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.contratacao__introducao > p { max-width: 760px; margin: 20px auto 0; color: var(--cor-texto-suave); font-size: 18px; line-height: 1.65; text-wrap: balance; }

.contratacao__grade { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.contratacao-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  gap: 18px;
  padding: 28px 24px;
  border: 1px solid rgba(43, 233, 230, .25);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(43, 233, 230, .16), rgba(11, 18, 48, .96) 65%);
  text-align: left;
  transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
}
.contratacao-card::before {
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 3px;
  background: linear-gradient(90deg, #2be9e6, #00c9c7);
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  opacity: 0;
  transition: transform 250ms ease, opacity 250ms ease;
}
.contratacao-card--destaque {
  border-color: var(--cor-secundaria);
  background: linear-gradient(145deg, rgba(43, 233, 230, .3), rgba(11, 18, 48, .96) 65%);
  box-shadow: 0 8px 28px rgba(43, 233, 230, .1);
}
.contratacao-card__destaque {
  position: absolute;
  top: -14px;
  left: 24px;
  z-index: 1;
  padding: 5px 14px;
  border-radius: 9999px;
  color: var(--cor-primaria);
  background: var(--cor-secundaria);
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.contratacao-card__icone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  margin-bottom: 6px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #2be9e6, #00c9c7);
  box-shadow: 0 8px 24px rgba(43, 233, 230, .12);
}
.contratacao-card__icone svg { display: block; width: 32px; height: 32px; }
.contratacao-card h3 { margin: 0; color: #fff; font-size: 26px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.contratacao-card p { flex: 1; margin: 0; color: var(--cor-texto-suave); font-size: 17px; line-height: 1.6; }
.contratacao-card__tag {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 6px;
  padding: 7px 14px;
  border: 1px solid rgba(43, 233, 230, .2);
  border-radius: 9999px;
  color: var(--cor-secundaria);
  background: rgba(43, 233, 230, .1);
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
}
.contratacao__nota { max-width: 720px; margin: 32px auto 0; color: var(--cor-texto-suave); font-size: 16px; font-style: italic; line-height: 1.6; text-align: center; text-wrap: balance; }

@media (hover: hover) {
  .contratacao-card:hover { transform: translateY(-6px); border-color: rgba(43, 233, 230, .55); box-shadow: 0 16px 36px rgba(0, 0, 0, .2), 0 0 24px rgba(43, 233, 230, .08); }
  .contratacao-card:hover::before { transform: scaleX(1); opacity: 1; }
  .contratacao-card--destaque:hover { border-color: var(--cor-secundaria); }
}
@media (min-width: 640px) {
  .contratacao__conteudo { padding-inline: 20px; }
  .contratacao__introducao h2 { font-size: 36px; }
}
@media (max-width: 768px) {
  .contratacao-card--destaque { order: -1; }
}
@media (min-width: 769px) {
  .contratacao__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
}
@media (min-width: 1024px) {
  .contratacao { padding-block: 80px; }
  .contratacao__conteudo { padding-inline: 24px; }
  .contratacao__introducao h2 { font-size: 48px; }
  .contratacao-card { padding: 32px 28px; }
  .contratacao-card__destaque { left: 28px; }
}

.botao:focus-visible,
.navegacao a:focus-visible,
.marca:focus-visible {
  outline: 2px solid var(--cor-texto);
  outline-offset: 4px;
}

@media (min-width: 701px) and (max-width: 1000px) {
  .cabecalho__conteudo { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .navegacao { order: 3; width: 100%; justify-content: center; gap: 32px; }
}

@media (max-width: 700px) {
  .container { width: min(var(--largura-conteudo), calc(100% - 32px)); }

  .cabecalho__conteudo {
    min-height: 68px;
    flex-wrap: wrap;
    gap: 12px;
    padding-block: 12px;
  }

  .marca__logo { width: 38px; height: 38px; }
  .marca__texto { min-height: 38px; }
  .marca__texto strong { font-size: 23px; }

  .navegacao {
    order: 3;
    width: 100%;
    justify-content: space-between;
    gap: 12px;
    padding-top: 10px;
    border-top: 1px solid transparent;
  }

  .cabecalho--rolado .navegacao { border-top-color: var(--cor-borda); }

  .navegacao a { font-size: 14px; }

  .botao--cabecalho {
    min-height: 40px;
    padding-inline: 13px;
    font-size: 13px;
  }

  .hero { min-height: auto; }

  .hero__conteudo {
    height: auto;
    min-height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 0;
    padding-block: 56px 42px;
  }

  .hero__texto {
    height: auto;
    min-height: auto;
  }

  .hero h1 { font-size: clamp(46px, calc(9vw + 2px), 60px); }
  .hero__descricao { font-size: 18px; }

  .hero__botao-principal,
  .hero__botao-secundario {
    width: min(100%, 232px);
    min-height: 40px;
    flex: 0 0 auto;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .navegacao {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: center;
    gap: 10px 12px;
  }
}

@media (max-width: 380px) {
  .container { width: min(var(--largura-conteudo), calc(100% - 24px)); }
  .navegacao { gap: 8px; }
  .navegacao a { font-size: 12px; }
  .hero__conteudo { padding-top: 44px; }
  .hero h1 { font-size: 42px; }
  .hero__acoes { align-items: center; flex-direction: column; }

}

.whatsapp-flutuante {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  color: #fff;
  background: #25d366;
  box-shadow: 0 4px 14px rgba(37, 211, 102, .35), 0 8px 28px rgba(37, 211, 102, .25);
  transition: transform 300ms ease, background-color 300ms ease, box-shadow 300ms ease;
}
.whatsapp-flutuante:hover {
  transform: translateY(-4px) scale(1.08);
  background: #1ebe57;
  box-shadow: 0 8px 20px rgba(37, 211, 102, .45), 0 16px 40px rgba(37, 211, 102, .35);
}
.whatsapp-flutuante:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.whatsapp-flutuante__icone { position: relative; z-index: 1; display: block; width: 26px; height: 26px; }
.whatsapp-flutuante__pulso {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: #25d366;
  pointer-events: none;
  animation: whatsapp-pulsar 2.5s ease-in-out infinite;
}
@keyframes whatsapp-pulsar {
  from { transform: scale(1); opacity: .6; }
  to { transform: scale(1.6); opacity: 0; }
}
@media (max-width: 700px) {
  .whatsapp-flutuante { right: 18px; bottom: 18px; width: 48px; height: 48px; }
  .whatsapp-flutuante__icone { width: 24px; height: 24px; }
}

.rodape {
  padding: 24px 16px;
  color: rgba(183, 191, 211, 0.55);
  text-align: center;
}
.rodape p { margin: 0; font-size: 14px; line-height: 1.6; text-wrap: balance; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
  .processo__marcador::after { animation: none; }
  .whatsapp-flutuante__pulso { animation: none; opacity: 0; }
  .whatsapp-flutuante:hover { transform: none; }
}
