/* ===== Fontes (servidas pelo próprio site) ===== */
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('/assets/fonts/jakarta-latin.woff2') format('woff2');
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('/assets/fonts/jakarta-latin-ext.woff2') format('woff2');
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-latin.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter-latin-ext.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ===== Tokens da marca (tirados da logo) ===== */
:root {
  --unity-primaria: #0159f7;
  --unity-azul-escuro: #001880;
  --unity-quase-preto: #010725;
  --unity-ciano: #11dbfc;
  --unity-azul-medio: #0097fe;
  --unity-ciano-claro: #c6f7fe;
  --unity-fundo-claro: #ebf4fc;
  --unity-gradiente: linear-gradient(135deg, #0159f7, #11dbfc);
  --unity-verde-whats: #0b7a3e;

  --fundo: #ffffff;
  --fundo-suave: var(--unity-fundo-claro);
  --fundo-ciano: #e6fbfe;
  --superficie: #ffffff;
  --superficie-2: #f5f9fe;
  --texto: var(--unity-quase-preto);
  --texto-suave: #3b4668;
  --titulo: var(--unity-azul-escuro);
  --destaque: var(--unity-primaria);
  --borda: #d3e0f2;
  --link: var(--unity-primaria);
  --erro: #b3261e;
  --sombra: 0 10px 30px rgba(1, 24, 128, 0.08);
  --sombra-forte: 0 22px 48px rgba(1, 89, 247, 0.18);
  --topo-fundo: rgba(255, 255, 255, 0.86);
  --raio: 20px;
  --raio-p: 12px;
  --fonte-titulo: 'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif;
  --fonte-texto: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --faixa-h: 0px;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --fundo: var(--unity-quase-preto);
    --fundo-suave: #040f38;
    --fundo-ciano: #031a3f;
    --superficie: #071746;
    --superficie-2: #0a1d55;
    --texto: #e7effc;
    --texto-suave: #b4c3e3;
    --titulo: #ffffff;
    --destaque: var(--unity-ciano);
    --borda: #1d3170;
    --link: var(--unity-ciano);
    --erro: #ff8a80;
    --sombra: 0 10px 30px rgba(0, 0, 0, 0.35);
    --sombra-forte: 0 22px 48px rgba(0, 0, 0, 0.45);
    --topo-fundo: rgba(1, 7, 37, 0.86);
  }
}

/* ===== Base ===== */
[hidden] {
  display: none !important;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(84px + var(--faixa-h));
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--fundo);
  color: var(--texto);
  font-family: var(--fonte-texto);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.homolog {
  --faixa-h: 40px;
}
h1,
h2,
h3,
h4 {
  font-family: var(--fonte-titulo);
  color: var(--titulo);
  line-height: 1.2;
  margin: 0 0 0.5em;
  letter-spacing: -0.015em;
}
h1 {
  font-size: clamp(2.2rem, 5.4vw, 3.6rem);
  font-weight: 800;
  letter-spacing: -0.03em;
}
h2 {
  font-size: clamp(1.75rem, 3.6vw, 2.6rem);
  font-weight: 800;
}
h3 {
  font-size: 1.2rem;
  font-weight: 700;
}
p {
  margin: 0 0 1em;
}
a {
  color: var(--link);
  text-underline-offset: 3px;
}
img,
svg {
  max-width: 100%;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
:focus-visible {
  outline: 3px solid var(--unity-azul-medio);
  outline-offset: 2px;
  border-radius: 6px;
}
.sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.pular {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 200;
  background: var(--unity-azul-escuro);
  color: #fff;
  padding: 10px 16px;
  border-radius: 10px;
  font-weight: 600;
}
.pular:focus {
  top: 12px;
}
.ic {
  width: 1.2em;
  height: 1.2em;
  flex: none;
  vertical-align: -0.2em;
}
.ic--grande {
  width: 2.25rem;
  height: 2.25rem;
  color: var(--destaque);
}
.container {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 16px;
}
.container--estreito {
  max-width: 820px;
}
.centro {
  text-align: center;
  margin-top: 36px;
}
mark.preencher {
  background: #ffe58a;
  color: #3d2e00;
  padding: 0 0.25em;
  border-radius: 4px;
  font-weight: 600;
}
@media (min-width: 768px) {
  .container {
    padding: 0 24px;
  }
}

/* ===== Faixa de homologação ===== */
.faixa-homolog {
  position: sticky;
  top: 0;
  z-index: 110;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 16px;
  background: #ffd54f;
  color: #2b2100;
  font-size: 0.85rem;
  white-space: nowrap;
  overflow: hidden;
}
.faixa-homolog a {
  color: #001880;
  font-weight: 700;
}
.faixa-homolog span {
  display: none;
}
@media (min-width: 900px) {
  .faixa-homolog span {
    display: inline;
  }
}

/* ===== Botões ===== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 46px;
  padding: 0.7rem 1.3rem;
  border: 2px solid transparent;
  border-radius: 999px;
  font-family: var(--fonte-titulo);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.btn:hover {
  transform: translateY(-1px);
}
.btn:active {
  transform: translateY(0);
}
.btn--primario {
  background: var(--unity-primaria);
  color: #fff;
  box-shadow: 0 10px 24px rgba(1, 89, 247, 0.28);
}
.btn--primario:hover {
  background: #0047d6;
  box-shadow: 0 12px 28px rgba(1, 89, 247, 0.38);
}
.btn--secundario {
  background: transparent;
  color: var(--unity-primaria);
  border-color: var(--unity-primaria);
}
.btn--secundario:hover {
  background: rgba(1, 89, 247, 0.08);
}
.btn--escuro {
  background: var(--unity-azul-escuro);
  color: #fff;
}
.btn--escuro:hover {
  background: #00106b;
}
.btn--whats {
  background: var(--unity-verde-whats);
  color: #fff;
}
.btn--whats:hover {
  background: #096733;
}
.btn--fino {
  min-height: 38px;
  padding: 0.4rem 0.9rem;
  font-size: 0.9rem;
  background: transparent;
  border-color: var(--borda);
  color: var(--titulo);
}
.btn--fino:hover {
  border-color: var(--unity-primaria);
}
.btn--grande {
  min-height: 54px;
  padding: 0.9rem 1.7rem;
  font-size: 1.05rem;
}
.btn--bloco {
  width: 100%;
}
.btn[disabled] {
  opacity: 0.6;
  cursor: progress;
  transform: none;
}
.link {
  background: none;
  border: 0;
  padding: 0;
  color: var(--link);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
@media (prefers-color-scheme: dark) {
  .btn--secundario {
    color: #fff;
    border-color: var(--unity-ciano);
  }
  .btn--secundario:hover {
    background: rgba(17, 219, 252, 0.1);
  }
  .btn--escuro {
    background: #1b2f86;
  }
}

/* ===== Cabeçalho ===== */
.topo {
  position: sticky;
  top: var(--faixa-h);
  z-index: 100;
  background: var(--topo-fundo);
  backdrop-filter: saturate(160%) blur(12px);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.topo.rolou {
  border-bottom-color: var(--borda);
  box-shadow: 0 6px 20px rgba(1, 24, 128, 0.06);
}
.topo__linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  gap: 16px;
}
.topo__logo {
  display: flex;
  align-items: center;
}
.topo__logo img {
  height: 48px;
  width: auto;
  display: block;
}
.topo__menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1.5px solid var(--borda);
  border-radius: 12px;
  background: var(--superficie);
  color: var(--titulo);
  cursor: pointer;
}
.menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  display: none;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px 20px;
  background: var(--fundo);
  border-bottom: 1px solid var(--borda);
  box-shadow: var(--sombra);
}
.menu.aberto {
  display: flex;
}
.menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu li a {
  display: block;
  padding: 12px 4px;
  color: var(--titulo);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid var(--borda);
}
.menu .btn {
  margin-top: 8px;
}
@media (min-width: 1000px) {
  .topo__menu {
    display: none;
  }
  .menu {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
  }
  .menu ul {
    display: flex;
    gap: 4px;
  }
  .menu li a {
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    font-size: 0.95rem;
  }
  .menu li a:hover {
    background: var(--fundo-suave);
  }
  .menu .btn {
    margin: 0;
  }
}

/* ===== Hero ===== */
.hero {
  position: relative;
  overflow: hidden;
  padding: 48px 0 64px;
  background: radial-gradient(circle at 88% 12%, rgba(17, 219, 252, 0.28), transparent 42%), radial-gradient(circle at 8% 95%, rgba(1, 89, 247, 0.14), transparent 45%), var(--fundo-suave);
}
.hero__grade {
  display: grid;
  gap: 40px;
  align-items: center;
}
.selo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  color: var(--titulo);
  font-weight: 600;
  font-size: 0.9rem;
  box-shadow: var(--sombra);
}
.selo .ic {
  color: var(--unity-primaria);
}
.hero h1 {
  margin-top: 20px;
}
.hero h1 strong {
  color: var(--unity-primaria);
  font-weight: 800;
}
.hero__sub {
  font-size: 1.15rem;
  color: var(--texto-suave);
  max-width: 34em;
}
.hero__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 28px 0 24px;
}
.hero__destaques {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--texto-suave);
  font-weight: 500;
}
.hero__destaques li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hero__destaques .ic {
  color: var(--unity-primaria);
}
.hero__visual {
  position: relative;
  aspect-ratio: 1;
  max-width: 460px;
  width: 100%;
  margin: 0 auto;
}
.hero__simbolo {
  position: absolute;
  inset: 14%;
  width: 72%;
  height: 72%;
  filter: drop-shadow(0 24px 40px rgba(1, 89, 247, 0.35));
  animation: flutuar 6s ease-in-out infinite;
}
.orbita {
  position: absolute;
  border-radius: 50%;
  border: 2px solid rgba(1, 89, 247, 0.22);
}
.orbita--1 {
  inset: 4%;
}
.orbita--2 {
  inset: 18%;
  border-color: rgba(17, 219, 252, 0.5);
  border-style: dashed;
  animation: girar 40s linear infinite;
}
.flutuante {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 16px;
  background: var(--superficie);
  border: 1px solid var(--borda);
  box-shadow: var(--sombra);
  font-size: 0.9rem;
}
.flutuante .ic {
  width: 1.8rem;
  height: 1.8rem;
  color: var(--unity-primaria);
}
.flutuante strong {
  display: block;
  color: var(--titulo);
  font-family: var(--fonte-titulo);
}
.flutuante span {
  color: var(--texto-suave);
}
.flutuante--1 {
  top: 8%;
  left: -2%;
  animation: flutuar 7s ease-in-out infinite;
}
.flutuante--2 {
  bottom: 10%;
  right: -2%;
  animation: flutuar 8s ease-in-out -2s infinite;
}
@keyframes flutuar {
  50% {
    transform: translateY(-10px);
  }
}
@keyframes girar {
  to {
    transform: rotate(360deg);
  }
}
@media (min-width: 900px) {
  .hero {
    padding: 72px 0 96px;
  }
  .hero__grade {
    grid-template-columns: 1.15fr 0.85fr;
  }
}
@media (prefers-color-scheme: dark) {
  .hero h1 strong,
  .hero__destaques .ic,
  .selo .ic,
  .flutuante .ic {
    color: var(--unity-ciano);
  }
}

/* ===== Seções ===== */
.secao {
  padding: 64px 0;
}
.secao--suave {
  background: var(--fundo-suave);
}
.secao--ciano {
  background: var(--fundo-ciano);
}
.secao--escura {
  background: radial-gradient(circle at 90% 0%, rgba(17, 219, 252, 0.16), transparent 40%), var(--unity-azul-escuro);
  color: #e7effc;
  --titulo: #ffffff;
  --texto-suave: #c4d3f1;
  --destaque: var(--unity-ciano);
  --link: var(--unity-ciano);
}
@media (min-width: 900px) {
  .secao {
    padding: 96px 0;
  }
}
.secao__cabeca {
  max-width: 760px;
  margin: 0 auto 40px;
  text-align: center;
}
.secao__cabeca p:last-child {
  color: var(--texto-suave);
  font-size: 1.1rem;
}
.sobretitulo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--unity-primaria);
  font-family: var(--fonte-titulo);
  font-weight: 800;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.sobretitulo::before {
  content: '';
  width: 24px;
  height: 4px;
  border-radius: 4px;
  background: var(--unity-gradiente);
}
.sobretitulo a {
  color: inherit;
  text-decoration: none;
}
.sobretitulo--claro,
.secao--escura .sobretitulo {
  color: var(--unity-ciano);
}
@media (prefers-color-scheme: dark) {
  .sobretitulo {
    color: var(--unity-ciano);
  }
}
.subtitulo-secao {
  margin: 56px 0 20px;
  font-size: 1.5rem;
  text-align: center;
}
.cartao {
  background: var(--superficie);
  border: 1px solid var(--borda);
  border-radius: var(--raio);
  padding: 24px;
  box-shadow: var(--sombra);
}
@media (min-width: 768px) {
  .cartao {
    padding: 36px;
  }
}
.grade-2 {
  display: grid;
  gap: 16px;
}
@media (min-width: 640px) {
  .grade-2 {
    grid-template-columns: 1fr 1fr;
  }
}

/* ===== Formulários ===== */
.form {
  display: grid;
  gap: 16px;
}
.campo {
  min-width: 0;
}
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.rotulo,
legend.rotulo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  padding: 0;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--titulo);
}
input:not([type='radio']):not([type='checkbox']),
select,
textarea {
  width: 100%;
  min-height: 48px;
  padding: 0.7rem 0.9rem;
  border: 1.5px solid var(--borda);
  border-radius: var(--raio-p);
  background: var(--superficie);
  color: var(--texto);
  font-size: 1rem;
  transition: border-color 0.15s, box-shadow 0.15s;
}
textarea {
  resize: vertical;
  min-height: 110px;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--unity-primaria);
  box-shadow: 0 0 0 4px rgba(1, 89, 247, 0.16);
}
input[readonly] {
  background: var(--superficie-2);
  color: var(--texto-suave);
}
[aria-invalid='true'] {
  border-color: var(--erro) !important;
}
input[type='checkbox'],
input[type='radio'] {
  accent-color: var(--unity-primaria);
  width: 20px;
  height: 20px;
  margin: 0;
  flex: none;
}
.erro {
  margin: 4px 0 0;
  color: var(--erro);
  font-size: 0.9rem;
  font-weight: 500;
}
.ajuda {
  margin: 6px 0 0;
  font-size: 0.875rem;
  color: var(--texto-suave);
}
.consentimento {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.92rem;
  color: var(--texto-suave);
  cursor: pointer;
}
.consentimento input {
  margin-top: 2px;
}
.pote {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.campo-acao {
  display: flex;
  gap: 8px;
}
.campo-acao input {
  flex: 1;
  min-width: 0;
}
.segmentado {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px;
  background: var(--fundo-suave);
  border-radius: 16px;
}
.segmentado legend {
  float: left;
  width: 100%;
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--titulo);
}
.cobertura__painel .segmentado legend {
  padding: 8px 8px 0;
}
.segmentado label {
  flex: 1 1 auto;
  position: relative;
}
.segmentado input {
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.segmentado span {
  display: block;
  padding: 0.6rem 0.9rem;
  border-radius: 12px;
  text-align: center;
  font-weight: 600;
  font-size: 0.95rem;
  white-space: nowrap;
  color: var(--texto-suave);
  transition: background-color 0.15s, color 0.15s;
}
.segmentado input:checked + span {
  background: var(--unity-primaria);
  color: #fff;
  box-shadow: 0 6px 14px rgba(1, 89, 247, 0.25);
}
.segmentado input:focus-visible + span {
  outline: 3px solid var(--unity-azul-medio);
  outline-offset: 2px;
}
.segmentado--compacto {
  display: inline-flex;
}
.checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.checks legend {
  width: 100%;
}
.checks label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0.45rem 0.85rem;
  border: 1.5px solid var(--borda);
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.95rem;
}
.checks label:has(input:checked) {
  border-color: var(--unity-primaria);
  background: rgba(1, 89, 247, 0.07);
}
.aviso {
  padding: 12px 16px;
  border-radius: 12px;
  border-left: 4px solid #e0a100;
  background: #fff4d6;
  color: #4d3800;
  font-size: 0.95rem;
}
@media (prefers-color-scheme: dark) {
  .aviso {
    background: #2e2405;
    color: #ffe39a;
  }
}

/* ===== Cobertura ===== */
.cobertura {
  display: grid;
  gap: 32px;
  align-items: center;
}
@media (min-width: 900px) {
  .cobertura {
    grid-template-columns: 1.1fr 0.9fr;
    gap: 56px;
  }
}
.cobertura__painel h2 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}
.cobertura__painel > p {
  color: var(--texto-suave);
}
.resultado:empty {
  display: none;
}
.resultado {
  margin-top: 20px;
}
.res {
  padding: 18px 20px;
  border-radius: 16px;
  border: 1.5px solid var(--borda);
  background: var(--superficie-2);
}
.res--ok {
  border-color: var(--unity-azul-medio);
  background: rgba(17, 219, 252, 0.1);
}
.res--fora {
  border-color: #e0a100;
  background: rgba(255, 213, 79, 0.14);
}
.res__endereco {
  display: flex;
  gap: 8px;
  font-size: 0.92rem;
  color: var(--texto-suave);
  margin-bottom: 8px;
}
.res__msg {
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--titulo);
}
.res__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.res__precos {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 4px;
}
.avise {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px dashed var(--borda);
}
.avise__titulo {
  margin: 0;
  font-weight: 700;
  color: var(--titulo);
}
.mapa {
  margin: 0;
  text-align: center;
}
.mapa__svg {
  width: 100%;
  max-width: 380px;
  height: auto;
}
.mapa__cidade {
  fill: rgba(198, 247, 254, 0.75);
  stroke: var(--unity-azul-medio);
  stroke-width: 2;
}
.mapa__divisa {
  fill: none;
  stroke: rgba(0, 151, 254, 0.35);
  stroke-width: 1.5;
  stroke-dasharray: 4 6;
}
.mapa__fibra {
  fill: var(--unity-primaria);
  stroke: #fff;
  stroke-width: 3;
}
.mapa__pulso {
  fill: rgba(1, 89, 247, 0.22);
  transform-box: fill-box;
  transform-origin: center;
  animation: pulso 2.4s ease-out infinite;
}
.mapa__linha {
  stroke: var(--unity-azul-escuro);
  stroke-width: 1.5;
}
.mapa__etiqueta {
  fill: var(--unity-azul-escuro);
}
.mapa__rotulo {
  fill: #fff;
  font: 700 13px var(--fonte-titulo);
}
.mapa__ponto-ref {
  fill: var(--texto-suave);
}
.mapa__rotulo-ref {
  fill: var(--texto-suave);
  font: 500 11px var(--fonte-texto);
}
@keyframes pulso {
  0% {
    transform: scale(0.6);
    opacity: 1;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}
.mapa__legenda {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  list-style: none;
  padding: 0;
  margin: 12px 0 8px;
  font-size: 0.92rem;
  font-weight: 500;
}
.mapa__legenda li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.mapa__cor {
  width: 14px;
  height: 14px;
  border-radius: 4px;
}
.mapa__cor--fibra {
  background: var(--unity-primaria);
}
.mapa__cor--tv {
  background: var(--unity-ciano-claro);
  border: 2px solid var(--unity-azul-medio);
}
.mapa figcaption {
  font-size: 0.85rem;
  color: var(--texto-suave);
}
@media (prefers-color-scheme: dark) {
  .mapa__cidade {
    fill: rgba(17, 219, 252, 0.12);
  }
  .mapa__etiqueta {
    fill: var(--unity-primaria);
  }
  .mapa__linha {
    stroke: var(--unity-ciano);
  }
}

/* ===== Planos ===== */
.abas {
  display: flex;
  gap: 4px;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 28px;
  padding: 4px;
  background: var(--fundo-suave);
  border-radius: 999px;
  overflow-x: auto;
}
.aba {
  flex: 1 0 auto;
  padding: 0.7rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--texto-suave);
  font-family: var(--fonte-titulo);
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
.aba[aria-selected='true'] {
  background: var(--unity-primaria);
  color: #fff;
  box-shadow: 0 6px 16px rgba(1, 89, 247, 0.28);
}
.painel:focus-visible {
  outline-offset: 8px;
}
.painel__nota {
  text-align: center;
  color: var(--texto-suave);
  font-size: 0.95rem;
}
.painel__nota .ic {
  color: var(--destaque);
  margin-right: 4px;
}
.painel__nota--discreta {
  margin-top: 20px;
  font-size: 0.88rem;
}
.marca-tv {
  max-width: 760px;
  margin: 0 auto 28px;
  padding: 18px 20px;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1.5px dashed var(--borda);
}
.marca-tv .ic {
  color: var(--destaque);
}
.marca-tv__resultado {
  margin: 10px 0 0;
  font-size: 0.95rem;
  color: var(--texto-suave);
}
.marca-tv__resultado strong {
  color: var(--titulo);
}
@media (min-width: 720px) {
  .marca-tv {
    display: grid;
    grid-template-columns: auto 260px;
    align-items: center;
    column-gap: 16px;
  }
  .marca-tv .rotulo {
    margin: 0;
  }
  .marca-tv__resultado {
    grid-column: 1 / -1;
  }
}
.planos-grade {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  align-items: stretch;
}
.planos-grade--2 {
  max-width: 780px;
  margin: 0 auto;
}
.plano {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 28px 24px 24px;
  border-radius: 24px;
  background: var(--superficie);
  border: 1.5px solid var(--borda);
  box-shadow: var(--sombra);
}
.plano--destaque,
.plano--sugerido {
  border-color: var(--unity-primaria);
  box-shadow: var(--sombra-forte);
}
.plano--destaque::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  border-radius: 24px 24px 0 0;
  background: var(--unity-gradiente);
}
.plano__selo {
  position: absolute;
  top: -13px;
  left: 24px;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--unity-azul-escuro);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.plano__selo--sugestao {
  background: var(--unity-primaria);
}
.plano__nome {
  margin: 0;
  font-size: 1.2rem;
}
.plano__vel {
  font-size: 2.6rem;
  font-weight: 800;
  color: var(--unity-primaria);
  letter-spacing: -0.03em;
}
.plano__preco {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 4px;
  color: var(--texto-suave);
}
.plano__preco strong {
  font-family: var(--fonte-titulo);
  font-size: 2rem;
  font-weight: 800;
  color: var(--titulo);
  letter-spacing: -0.02em;
}
.plano__apartir {
  width: 100%;
  font-size: 0.85rem;
}
.plano__alt,
.plano__ideal {
  margin: 0;
  font-size: 0.92rem;
  color: var(--texto-suave);
}
.plano__lista {
  list-style: none;
  margin: 8px 0 12px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.plano__lista li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.plano__lista .ic {
  color: var(--unity-primaria);
  margin-top: 3px;
}
.plano .btn {
  margin-top: auto;
}
@media (prefers-color-scheme: dark) {
  .plano__vel,
  .plano__lista .ic {
    color: var(--unity-ciano);
  }
  .plano--destaque,
  .plano--sugerido {
    border-color: var(--unity-azul-medio);
  }
}
.chamada-combo {
  text-align: center;
  margin-top: 24px;
}
.comodos {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 780px;
  margin: 24px auto 0;
  padding: 20px 24px;
  border-radius: var(--raio);
  background: var(--fundo-suave);
}
.comodos h3 {
  margin: 0 0 4px;
}
.comodos p {
  margin: 0;
}
.modalidades {
  margin-top: 56px;
  text-align: center;
}
.modalidades .grade-2 {
  max-width: 860px;
  margin: 0 auto;
  text-align: left;
}
.modalidade {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 20px;
  border-radius: 16px;
  background: var(--superficie);
  border: 1px solid var(--borda);
}
.modalidade .ic {
  width: 1.8rem;
  height: 1.8rem;
  color: var(--destaque);
}
.modalidade strong {
  display: block;
  color: var(--titulo);
}
.modalidade span {
  color: var(--texto-suave);
  font-size: 0.95rem;
}
.observacao {
  margin-top: 16px;
  font-size: 0.88rem;
  color: var(--texto-suave);
}

/* ===== TV ===== */
.categorias,
.servicos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.categoria,
.servico {
  padding: 24px;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1px solid var(--borda);
  transition: transform 0.2s, box-shadow 0.2s;
}
.categoria:hover,
.servico:hover {
  transform: translateY(-3px);
  box-shadow: var(--sombra);
}
.categoria h3,
.servico h3 {
  margin: 14px 0 6px;
  font-size: 1.08rem;
}
.categoria p,
.servico p {
  margin: 0;
  color: var(--texto-suave);
  font-size: 0.95rem;
}

/* ===== Tecnologia ===== */
.secao--escura .servico,
.secao--escura .case {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
}
.cases {
  display: grid;
  gap: 16px;
}
@media (min-width: 800px) {
  .cases {
    grid-template-columns: 1fr 1fr;
  }
}
.case {
  position: relative;
  padding: 24px 24px 24px 28px;
  border-radius: var(--raio);
  border: 1px solid var(--borda);
  overflow: hidden;
}
.case::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--unity-gradiente);
}
.case h4 {
  font-size: 1.1rem;
}
.case p {
  color: var(--texto-suave);
}
.case__cliente {
  font-weight: 600;
  color: var(--destaque) !important;
}
.case__resultados {
  margin: 0;
}
.etapas {
  counter-reset: etapa;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.etapas li {
  counter-increment: etapa;
  position: relative;
  padding: 24px 20px 20px;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1px solid var(--borda);
}
.etapas li::before {
  content: counter(etapa);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  border-radius: 12px;
  background: var(--unity-primaria);
  color: #fff;
  font: 800 1.1rem var(--fonte-titulo);
}
.etapas strong {
  display: block;
  color: var(--titulo);
  font-family: var(--fonte-titulo);
  font-size: 1.05rem;
}
.etapas span {
  color: var(--texto-suave);
  font-size: 0.95rem;
}
.etapas--escuro li {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
}
.cartao--form {
  max-width: 880px;
  margin: 56px auto 0;
  --titulo: var(--unity-azul-escuro);
  --texto-suave: #3b4668;
  --destaque: var(--unity-primaria);
  --link: var(--unity-primaria);
  color: var(--unity-quase-preto);
  background: #fff;
}
@media (prefers-color-scheme: dark) {
  .cartao--form {
    --titulo: #fff;
    --texto-suave: #b4c3e3;
    --destaque: var(--unity-ciano);
    --link: var(--unity-ciano);
    color: #e7effc;
    background: var(--superficie);
  }
}
.cartao--form h3 {
  font-size: 1.5rem;
}
.sucesso {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 24px 0 8px;
}
.sucesso[hidden] {
  display: none;
}

/* ===== Quem somos ===== */
.sobre {
  display: grid;
  gap: 32px;
}
@media (min-width: 900px) {
  .sobre {
    grid-template-columns: 1.3fr 0.7fr;
    gap: 56px;
  }
}
.sobre__historia p {
  font-size: 1.12rem;
}
.linha-tempo {
  list-style: none;
  margin: 0;
  padding: 0 0 0 24px;
  border-left: 2px solid var(--borda);
  display: grid;
  gap: 20px;
}
.linha-tempo li {
  position: relative;
  display: grid;
}
.linha-tempo li::before {
  content: '';
  position: absolute;
  left: -32px;
  top: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--unity-gradiente);
  box-shadow: 0 0 0 4px var(--fundo);
}
.linha-tempo__quando {
  font-weight: 800;
  font-family: var(--fonte-titulo);
  color: var(--destaque);
  font-size: 0.9rem;
}
.numeros {
  margin: 56px 0;
  padding: 48px 0;
  background: radial-gradient(circle at 10% 10%, rgba(17, 219, 252, 0.18), transparent 40%), linear-gradient(135deg, var(--unity-azul-escuro), var(--unity-quase-preto));
  color: #e7effc;
}
.numeros__grade {
  display: grid;
  gap: 28px;
  text-align: center;
}
@media (min-width: 760px) {
  .numeros__grade {
    grid-template-columns: repeat(3, 1fr);
  }
}
.numero__valor {
  margin: 0;
  font: 800 clamp(2.6rem, 6vw, 3.6rem) / 1.1 var(--fonte-titulo);
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, var(--unity-azul-medio), var(--unity-ciano));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-variant-numeric: tabular-nums;
}
.numero__rotulo {
  margin: 6px 0 0;
  font-weight: 600;
}
.numero__nota {
  margin: 6px auto 0;
  max-width: 280px;
  font-size: 0.82rem;
  color: #c6d6f5;
}
.socios {
  display: grid;
  gap: 20px;
}
@media (min-width: 900px) {
  .socios {
    grid-template-columns: 1fr 1fr;
  }
}
.socio {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1px solid var(--borda);
  box-shadow: var(--sombra);
}
@media (min-width: 560px) {
  .socio {
    flex-direction: row;
    align-items: flex-start;
  }
}
.socio__foto {
  width: 112px;
  height: 112px;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
}
.socio__foto--iniciais {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--unity-primaria), var(--unity-azul-medio));
  color: #fff;
  font: 800 2.2rem var(--fonte-titulo);
  letter-spacing: 0.02em;
}
.socio h4 {
  margin: 0;
  font-size: 1.15rem;
}
.socio__cargo {
  margin: 2px 0 10px;
  color: var(--destaque);
  font-weight: 600;
  font-size: 0.92rem;
}
.socio p:not(.socio__cargo) {
  color: var(--texto-suave);
  font-size: 0.97rem;
}
.mvv {
  display: grid;
  gap: 16px;
  margin-top: 40px;
}
@media (min-width: 900px) {
  .mvv {
    grid-template-columns: repeat(3, 1fr);
  }
}
.mvv__item {
  padding: 24px;
  border-radius: var(--raio);
  background: var(--fundo-suave);
}
.mvv__item h3 {
  margin: 12px 0 8px;
}
.mvv__item p,
.mvv__item ul {
  margin: 0;
  color: var(--texto-suave);
}
.mvv__item ul {
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

/* ===== Área do cliente ===== */
.atalhos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.atalho {
  display: flex;
  align-items: center;
  gap: 14px;
  height: 100%;
  padding: 20px;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1.5px solid var(--borda);
  color: var(--titulo);
  font-weight: 700;
  font-family: var(--fonte-titulo);
  text-decoration: none;
  transition: border-color 0.15s, transform 0.15s;
}
.atalho:hover {
  border-color: var(--unity-primaria);
  transform: translateY(-2px);
}
.atalho .ic:last-child {
  margin-left: auto;
  color: var(--texto-suave);
}

/* ===== FAQ ===== */
.faq details {
  border-bottom: 1px solid var(--borda);
}
.faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 4px;
  font-family: var(--fonte-titulo);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--titulo);
  cursor: pointer;
  list-style: none;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq summary::after {
  content: '+';
  flex: none;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--superficie);
  border: 1px solid var(--borda);
  font-size: 1.2rem;
  transition: transform 0.2s;
}
.faq details[open] summary::after {
  transform: rotate(45deg);
}
.faq .texto-rico {
  padding: 0 4px 20px;
  color: var(--texto-suave);
}
.texto-rico p:last-child {
  margin-bottom: 0;
}
.texto-rico ul {
  padding-left: 20px;
}
.texto-rico h2 {
  margin-top: 36px;
  font-size: 1.35rem;
}

/* ===== Páginas legais ===== */
.legal h1 {
  font-size: clamp(2rem, 4vw, 2.8rem);
}
.legal .texto-rico {
  font-size: 1.02rem;
}

/* ===== Rodapé ===== */
.rodape {
  padding: 56px 0 24px;
  background: var(--unity-quase-preto);
  color: #c9d6f2;
  font-size: 0.95rem;
}
.rodape__grade {
  display: grid;
  gap: 32px;
}
@media (min-width: 760px) {
  .rodape__grade {
    grid-template-columns: 1.3fr 1fr 1fr 0.8fr;
  }
}
.rodape h2 {
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 14px;
}
.rodape a,
.rodape .link {
  color: #e7effc;
  text-decoration: none;
  font-weight: 400;
  text-align: left;
}
.rodape a:hover,
.rodape .link:hover {
  color: var(--unity-ciano);
  text-decoration: underline;
}
.rodape__slogan {
  margin: 12px 0 16px;
  color: var(--unity-ciano-claro);
}
.rodape__lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.rodape__lista li,
.rodape__lista a {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.rodape__lista .ic {
  color: var(--unity-ciano);
  margin-top: 3px;
}
.rodape__lista strong {
  color: #fff;
  font-weight: 600;
}
.rodape__lista--links {
  gap: 8px;
}
.redes {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.redes a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.redes a:hover {
  border-color: var(--unity-ciano);
}
.rodape__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.85rem;
  color: #a9b9db;
}
.rodape__legal p {
  margin: 0;
}

/* ===== WhatsApp flutuante e cookies ===== */
.whats-flutuante {
  position: fixed;
  right: 16px;
  bottom: calc(16px + var(--cookies-h, 0px));
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: var(--unity-verde-whats);
  color: #fff;
  box-shadow: 0 10px 26px rgba(11, 122, 62, 0.4);
  transition: transform 0.15s, bottom 0.2s;
}
.whats-flutuante:hover {
  transform: scale(1.06);
}
.whats-flutuante .ic {
  width: 30px;
  height: 30px;
}
.cookies {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 95;
  max-width: 560px;
  padding: 18px 20px;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1px solid var(--borda);
  box-shadow: 0 20px 50px rgba(1, 7, 37, 0.25);
  font-size: 0.93rem;
}
.cookies p {
  margin-bottom: 12px;
}
.cookies__botoes {
  display: flex;
  gap: 10px;
}
.cookies__botoes .btn {
  flex: 1;
}

/* ===== Pré-cadastro (diálogo) ===== */
.dialogo {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--superficie);
  color: var(--texto);
}
.dialogo::backdrop {
  background: rgba(1, 7, 37, 0.62);
  backdrop-filter: blur(3px);
}
@media (min-width: 700px) {
  .dialogo {
    width: min(680px, calc(100% - 32px));
    height: auto;
    max-height: calc(100dvh - 48px);
    margin: auto;
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(1, 7, 37, 0.45);
  }
}
.pc {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  max-height: inherit;
}
.pc__topo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 24px 0;
}
.pc__topo h2 {
  font-size: 1.5rem;
  margin: 0;
}
.pc__topo .sobretitulo {
  margin: 0;
}
.pc__fechar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid var(--borda);
  background: var(--superficie);
  color: var(--titulo);
  cursor: pointer;
}
.pc__passos {
  display: flex;
  gap: 8px 16px;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 14px 24px;
  border-bottom: 1px solid var(--borda);
  font-size: 0.88rem;
  color: var(--texto-suave);
}
.pc__passos li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}
.pc__passos span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid var(--borda);
  font-size: 0.8rem;
}
.pc__passos .ativo {
  color: var(--titulo);
}
.pc__passos .ativo span,
.pc__passos .feito span {
  background: var(--unity-primaria);
  border-color: var(--unity-primaria);
  color: #fff;
}
.pc__passo {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
  display: grid;
  gap: 16px;
  align-content: start;
}
.pc__passo[hidden] {
  display: none;
}
.opcao {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  margin-bottom: 8px;
  border: 1.5px solid var(--borda);
  border-radius: 14px;
  cursor: pointer;
}
.opcao:has(input:checked) {
  border-color: var(--unity-primaria);
  background: rgba(1, 89, 247, 0.06);
}
.opcao strong {
  display: block;
  color: var(--titulo);
}
.opcao small {
  color: var(--texto-suave);
  font-size: 0.88rem;
}
#pc-erro {
  margin: 0 24px 8px;
}
.pc__rodape {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 14px 24px 18px;
  border-top: 1px solid var(--borda);
  background: var(--superficie-2);
}
.pc__total {
  display: flex;
  flex-direction: column;
  margin: 0;
  line-height: 1.3;
}
.pc__total span {
  font-size: 0.85rem;
  color: var(--texto-suave);
}
.pc__total strong {
  font: 800 1.3rem var(--fonte-titulo);
  color: var(--titulo);
}
.pc__botoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}
[data-se][hidden] {
  display: none !important;
}

/* ===== Campanhas (peças do tráfego pago) ===== */
.campanhas {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  align-items: start;
}
.campanha {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--raio);
  background: var(--superficie);
  border: 1.5px solid var(--borda);
  box-shadow: var(--sombra);
  scroll-margin-top: calc(96px + var(--faixa-h));
}
.campanha:target {
  border-color: var(--unity-primaria);
  box-shadow: var(--sombra-forte);
}
.campanha__midia {
  display: block;
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
  background: var(--unity-quase-preto);
}
.campanha__corpo {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px 20px;
}
.campanha__corpo h3 {
  margin: 0;
  font-size: 1.1rem;
}
.campanha__corpo p {
  margin: 0;
  color: var(--texto-suave);
  font-size: 0.95rem;
}
.campanha__corpo .btn {
  margin-top: 6px;
}

/* ===== Movimento reduzido ===== */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* ===== Avaliações (dentro da faixa dos números) ===== */
.avaliacoes {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  text-align: center;
}
.estrelas {
  color: #ffc83d;
  letter-spacing: 2px;
  font-size: 1.05rem;
  line-height: 1;
}
.estrelas__vazias {
  color: rgba(255, 255, 255, 0.25);
}
.avaliacoes__nota {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  margin: 0 0 10px;
  color: #c6d6f5;
}
.avaliacoes__nota strong {
  font: 800 1.4rem var(--fonte-titulo);
  color: #fff;
}
.avaliacoes__titulo {
  margin: 0 0 28px;
  color: #fff;
  font-size: clamp(1.4rem, 2.6vw, 1.8rem);
}
.avaliacoes__lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  text-align: left;
}
.avaliacao {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
  border-radius: var(--raio);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.avaliacao blockquote {
  margin: 0;
  flex: 1;
}
.avaliacao blockquote p {
  margin: 0;
  color: #e7effc;
  font-size: 1rem;
  line-height: 1.55;
}
.avaliacao blockquote p::before {
  content: '“';
}
.avaliacao blockquote p::after {
  content: '”';
}
.avaliacao__autor {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
  margin: 0;
  font-size: 0.9rem;
  color: #c6d6f5;
}
.avaliacao__autor strong {
  color: #fff;
}
.avaliacoes__acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 28px 0 0;
}
.btn--claro {
  background: #fff;
  color: var(--unity-azul-escuro);
}
.btn--claro:hover {
  background: var(--unity-ciano-claro);
}
.btn--contorno-claro {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.6);
}
.btn--contorno-claro:hover {
  border-color: var(--unity-ciano);
}
/* No celular, os cartões viram um carrossel de deslizar. */
@media (max-width: 719px) {
  .avaliacoes__lista {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 12px;
    margin: 0 -16px;
    padding: 0 16px 8px;
    scrollbar-width: thin;
  }
  .avaliacao {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
}
