@font-face {
  font-family: Cyrus Sans;
  src: url('../fonts/host-grotesk-latin.woff2') format('woff2');
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --tela: #f4f5f8;
  --cartao: #ffffff;
  --tinta: #111114;
  --corpo: #4c4c54;
  --suave: #62626a;
  --linha: #e3e5ea;
  --balao: #5a7ca8;
  --azul: #3c5577;
  --noite: #22395d;
  --alerta: #c8102e;
  --dia: #1f8a5b; --dia-f: #e3f3ea;
  --desvio: #b26a00; --desvio-f: #fdf0dc;
  --a-suporte: #efc1b6; --a-email: #cbbcec; --a-dev: #b8d0ee;
  --a-noticias: #b5e0da; --a-financas: #ecd9a6; --a-coord: #c9ced8;
  --chamada: linear-gradient(160deg, #8a97a8 0%, #3c5577 38%, #22395d 100%);
  --sombra: 0 1px 2px rgba(30, 50, 90, .05), 0 12px 32px -8px rgba(30, 50, 90, .16);
  --sombra-aparelho: 0 2px 4px rgba(17, 17, 20, .06), 0 30px 60px -20px rgba(30, 50, 90, .30), 0 60px 120px -40px rgba(30, 50, 90, .22);
  --raio: 24px;
  --raio-s: 16px;
  --margem: 24px;
  --largura: 1200px;
  --seccao: 128px;
  --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
  --ease-out-quint: cubic-bezier(.22, 1, .36, 1);
  --ease-out-expo: cubic-bezier(.16, 1, .3, 1);
  --ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body {
  margin: 0;
  background: var(--tela);
  color: var(--tinta);
  font: 400 17px/1.55 'Cyrus Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-feature-settings: 'tnum' 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-underline-offset: .18em; text-decoration-thickness: 1px; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: rgba(90, 124, 168, .24); color: var(--tinta); }
:focus-visible { outline: 2px solid var(--azul); outline-offset: 4px; border-radius: 8px; }
.n { font-variant-numeric: tabular-nums; }
.nb { white-space: nowrap; }

.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.saltar {
  position: absolute; left: 16px; top: -60px; z-index: 50; padding: 12px 18px;
  background: var(--tinta); color: #fff; border-radius: 999px; text-decoration: none; font-weight: 600;
}
.saltar:focus { top: 12px; }

.contentor { width: min(100% - var(--margem) * 2, var(--largura)); margin-inline: auto; }

/* Marca */
.marca { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tinta); }
.marca-anel { width: 26px; height: 26px; flex: none; }
.marca-nome { font-weight: 650; font-size: 21px; letter-spacing: -.025em; line-height: 1; }

/* Cabeçalho */
.topo {
  position: sticky; top: 0; z-index: 40;
  background: rgba(244, 245, 248, .82);
  -webkit-backdrop-filter: saturate(1.4) blur(16px); backdrop-filter: saturate(1.4) blur(16px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s var(--ease-out-quart);
}
.topo.com-linha { border-bottom-color: var(--linha); }
.topo-in { display: flex; align-items: center; gap: 28px; height: 72px; }
.topo nav { margin-left: auto; }
.topo-links { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.topo-links a {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px;
  text-decoration: none; font-size: 15px; font-weight: 500; color: var(--corpo);
  transition: color .2s, background-color .2s;
}
.topo-links a:hover { color: var(--tinta); background: rgba(17, 17, 20, .05); }
.topo-links a[aria-current='page'] { color: var(--tinta); }
.lingua { font-size: 14px !important; letter-spacing: .02em; }
.menu-botao { display: none; }

/* Botões */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 24px; border-radius: 999px; border: 0; cursor: pointer;
  background: var(--tinta); color: #fff; font-weight: 600; font-size: 16px; letter-spacing: -.005em;
  text-decoration: none; white-space: nowrap;
  transition: background-color .2s var(--ease-out-quart), transform .2s var(--ease-out-quart), box-shadow .2s;
}
.botao:hover { background: #2a2a31; }
.botao:active { transform: scale(.97); }
.botao.pequeno { min-height: 40px; padding: 0 18px; font-size: 15px; }
.botao.claro { background: var(--cartao); color: var(--tinta); box-shadow: 0 0 0 1px var(--linha) inset; }
.botao.claro:hover { background: #fff; box-shadow: 0 0 0 1px #cfd3db inset; }
.botao svg { width: 18px; height: 18px; flex: none; }
.link-seta { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; color: var(--tinta); min-height: 44px; }
.link-seta svg { width: 16px; height: 16px; transition: translate .25s var(--ease-out-quint); }
.link-seta:hover svg { translate: 3px 0; }
.link-seta span { text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color .2s; }
.link-seta:hover span { text-decoration-color: currentColor; }

/* Tipo */
.t-entrada {
  margin: 0; font-weight: 650; font-size: clamp(44px, 4.8vw, 72px); line-height: 1; letter-spacing: -.035em;
  text-wrap: balance;
}
.t-seccao {
  margin: 0; font-weight: 650; font-size: clamp(34px, 4.4vw, 64px); line-height: 1.02; letter-spacing: -.03em;
  text-wrap: balance;
}
.t-m { margin: 0; font-weight: 650; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.t-s { margin: 0; font-weight: 650; font-size: 20px; line-height: 1.25; letter-spacing: -.01em; }
.tom { color: var(--suave); }
.lead { margin: 0; font-size: 20px; line-height: 1.45; color: var(--corpo); max-width: 34em; text-wrap: pretty; }
.texto { margin: 0; color: var(--corpo); max-width: 36em; text-wrap: pretty; }
.pequeno-t { font-size: 14px; line-height: 1.45; color: var(--suave); }

/* Anel do agente */
.anel {
  --c: var(--a-coord);
  display: inline-block; width: var(--d, 40px); height: var(--d, 40px); flex: none; border-radius: 50%;
  border: calc(var(--d, 40px) * .26) solid var(--c); background: #fff;
}
.anel.suporte { --c: var(--a-suporte); } .anel.email { --c: var(--a-email); } .anel.dev { --c: var(--a-dev); }
.anel.noticias { --c: var(--a-noticias); } .anel.financas { --c: var(--a-financas); } .anel.coord { --c: var(--a-coord); }
.anel.conteudo { --c: transparent; border-style: dashed; border-width: 2px; border-color: #b9bdc6; background: transparent; }

/* Aparelhos */
.iphone {
  position: relative; width: var(--w, 300px); aspect-ratio: 390 / 844; flex: none;
  padding: calc(var(--w, 300px) * .032); border-radius: calc(var(--w, 300px) * .165);
  background: #16171b;
  box-shadow: 0 0 0 1px #2b2d33 inset, 0 0 0 1.5px #3a3c43, var(--sombra-aparelho);
}
.iphone::before {
  content: ''; position: absolute; z-index: 2; left: 50%; top: calc(var(--w, 300px) * .055);
  width: 30%; height: calc(var(--w, 300px) * .085); translate: -50% 0; border-radius: 999px; background: #0b0b0d;
}
.iphone img {
  width: 100%; height: 100%; object-fit: cover; border-radius: calc(var(--w, 300px) * .135); background: var(--tela);
}
.mac { position: relative; width: 100%; }
.mac-ecra {
  position: relative; padding: 1.4% 1.4% 1.6%; border-radius: 18px 18px 6px 6px; background: #16171b;
  box-shadow: 0 0 0 1px #34363d inset, var(--sombra-aparelho);
}
.mac-ecra img { width: 100%; aspect-ratio: 1280 / 800; border-radius: 6px; background: var(--tela); }
.mac-base {
  position: relative; height: 14px; margin: 0 -4%; border-radius: 0 0 14px 14px;
  background: linear-gradient(#d9dce2, #b8bcc4 60%, #9fa3ab);
}
.mac-base::before {
  content: ''; position: absolute; left: 50%; top: 0; width: 15%; height: 5px; translate: -50% 0;
  border-radius: 0 0 8px 8px; background: #a6aab2;
}
.ecra-escuro { display: none; }

/* Rodapé */
.rodape { padding: 96px 0 40px; border-top: 1px solid var(--linha); background: var(--tela); }
.rodape-grelha { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.rodape h2 { margin: 0 0 14px; font-size: 14px; font-weight: 600; color: var(--suave); letter-spacing: 0; }
.rodape ul { list-style: none; margin: 0; padding: 0; }
.rodape li a { display: inline-flex; min-height: 36px; align-items: center; text-decoration: none; color: var(--corpo); font-size: 15px; }
.rodape li a:hover { color: var(--tinta); text-decoration: underline; }
.rodape-marca p { margin: 16px 0 0; max-width: 24em; color: var(--suave); font-size: 15px; }
.rodape-legal {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 72px; padding-top: 24px;
  border-top: 1px solid var(--linha); font-size: 13px; color: var(--suave);
}
.rodape-legal a { color: var(--suave); }
.palavra { display: block; width: 100%; height: auto; margin: 56px 0 0; user-select: none; overflow: visible; }
.palavra text { font-family: 'Cyrus Sans', sans-serif; font-weight: 700; font-size: 300px; letter-spacing: -.04em; fill: #e4e6ec; }

/* Páginas de texto (privacidade, termos, suporte) */
.doc { padding: 72px 0 120px; }
.doc-cab { max-width: 760px; margin-bottom: 48px; }
.doc-cab .t-seccao { margin-top: 14px; }
.doc-meta { margin: 20px 0 0; color: var(--suave); font-size: 15px; }
.aviso-rascunho {
  display: flex; gap: 14px; align-items: flex-start; max-width: 760px; margin: 0 0 48px; padding: 18px 22px;
  border-radius: var(--raio-s); background: var(--desvio-f); color: #5c3700; font-size: 15px; line-height: 1.5;
}
.aviso-rascunho svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--desvio); }
.prosa { max-width: 720px; }
.prosa h2 { margin: 56px 0 14px; font-size: 26px; line-height: 1.2; letter-spacing: -.02em; font-weight: 650; }
.prosa h3 { margin: 32px 0 10px; font-size: 19px; font-weight: 650; }
.prosa p, .prosa li { color: var(--corpo); }
.prosa p { margin: 0 0 16px; }
.prosa ul { margin: 0 0 16px; padding-left: 22px; }
.prosa li { margin-bottom: 8px; }
.prosa li::marker { color: var(--suave); }
.prosa strong { color: var(--tinta); font-weight: 600; }
.prosa a { color: var(--azul); }
.prosa table { width: 100%; border-collapse: collapse; margin: 8px 0 24px; font-size: 15px; }
.prosa th, .prosa td { text-align: left; vertical-align: top; padding: 12px 12px 12px 0; border-bottom: 1px solid var(--linha); }
.prosa th { color: var(--suave); font-weight: 600; font-size: 14px; }
.prosa td { color: var(--corpo); }
.por-confirmar { background: var(--desvio-f); color: #5c3700; padding: 1px 6px; border-radius: 6px; font-size: .94em; white-space: nowrap; }
.indice { margin: 0 0 8px; padding: 22px 24px; border-radius: var(--raio); background: var(--cartao); max-width: 720px; }
.indice ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.indice li { margin: 4px 0; break-inside: avoid; }
.indice a { color: var(--corpo); text-decoration: none; }
.indice a:hover { color: var(--tinta); text-decoration: underline; }

/* ---------- Página principal ---------- */
:root { --w-entrada: clamp(232px, 19vw, 292px); --w-lado: clamp(240px, 21vw, 300px); --w-voz: clamp(220px, 19vw, 270px); }
.seccao { padding: var(--seccao) 0; }
.cab { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px 64px; align-items: end; margin-bottom: 80px; }
.cab .texto { padding-bottom: 6px; }
.cab-linha { align-items: end; }
.etiqueta {
  display: inline-flex; align-items: center; height: 24px; padding: 0 10px; margin-left: 8px; border-radius: 999px;
  background: #e9ebf0; color: var(--suave); font-size: 13px; font-weight: 600; vertical-align: 3px; letter-spacing: 0;
}

/* Entrada */
.entrada { position: relative; }
.entrada-palco { min-height: calc(100svh - 72px); display: grid; align-content: center; padding: 24px 0 16px; }
.entrada-grelha { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 48px; align-items: center; }
.entrada-texto { display: grid; gap: 28px; align-content: center; padding-bottom: 24px; }
.entrada-texto .t-entrada { max-width: 12em; }
.entrada-accoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.caixa { position: relative; height: clamp(540px, calc(100svh - 130px), 760px); }
.caixa::before {
  content: ''; position: absolute; inset: 8% 12%; z-index: 0; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(90, 124, 168, .22), rgba(90, 124, 168, 0));
  pointer-events: none;
}
.avisos { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.aviso {
  position: absolute; left: var(--x); top: var(--y); width: min(44%, 280px);
  display: grid; gap: 6px; padding: 14px 16px 15px; border-radius: 18px; background: var(--cartao);
  box-shadow: var(--sombra); rotate: var(--r); transform-origin: center;
  will-change: transform, opacity;
}
.aviso-fonte { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--suave); }
.aviso-fonte svg { width: 15px; height: 15px; flex: none; }
.aviso-fonte time { margin-left: auto; font-weight: 500; }
.aviso-texto { font-size: 15px; line-height: 1.35; color: var(--tinta); }
.aviso-texto b { font-weight: 650; margin-right: 4px; }
.caixa-telefone { position: absolute; z-index: 1; left: 50%; top: 50%; margin: 0; translate: -50% -50%; }
.ecra-arranque {
  position: absolute; inset: calc(var(--w-entrada) * .032); z-index: 1; display: grid; place-items: center;
  border-radius: calc(var(--w-entrada) * .135); background: var(--tela); color: #c9ced8;
}
.ecra-arranque svg { display: none; }
.ecra-hoje { position: relative; z-index: 2; clip-path: inset(0 0 0 0 round calc(var(--w-entrada) * .135)); }
.arrumado {
  list-style: none; margin: 0; padding: 0; position: absolute; z-index: 3; right: 0; bottom: 6%;
  display: grid; gap: 8px; justify-items: end;
}
.arrumado li {
  display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px 9px 10px; border-radius: 999px;
  background: rgba(255, 255, 255, .92); box-shadow: var(--sombra); font-size: 14px; font-weight: 550; white-space: nowrap;
}
.nota-exemplo { margin-top: 8px; text-align: right; font-size: 13px; color: var(--suave); }

/* Equipa */
.equipa-grelha { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: start; }
.agentes { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha); }
.agente { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 22px; align-items: start; padding: 24px 0; border-bottom: 1px solid var(--linha); }
.agente .t-s { font-size: 22px; letter-spacing: -.015em; }
.agente p { margin: 6px 0 0; color: var(--corpo); max-width: 34em; }
.agente.brevemente .t-s, .agente.brevemente p { color: var(--suave); }
.equipa-telefone { position: sticky; top: 112px; margin: 0; justify-self: center; }

/* Aprovar */
.aprovar-grelha { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.aprovar-texto { display: grid; gap: 28px; }
.decisoes { margin: 8px 0 0; display: grid; gap: 0; border-top: 1px solid var(--linha); }
.decisoes div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--linha); }
.decisoes dt { font-weight: 650; }
.decisoes dd { margin: 0; color: var(--corpo); }
.aprovar-palco { position: relative; display: flex; justify-content: flex-end; padding-right: 4%; }
.aprovar-telefone { margin: 0; }
.passos {
  position: absolute; left: 0; bottom: 10%; width: min(330px, 54%); padding: 20px 22px 18px;
  border-radius: var(--raio); background: var(--cartao); box-shadow: var(--sombra-aparelho); z-index: 2;
}
.passos-cab { display: flex; gap: 12px; align-items: center; margin: 0 0 14px; font-size: 14px; color: var(--suave); line-height: 1.35; }
.passos-cab b { color: var(--tinta); font-size: 16px; font-weight: 650; }
.passos-lista { list-style: none; margin: 0; padding: 0; position: relative; }
.passos-lista::before { content: ''; position: absolute; left: 4px; top: 10px; bottom: 26px; width: 1px; background: var(--linha); }
.passos-lista li { position: relative; display: grid; grid-template-columns: 9px minmax(0, 1fr); gap: 14px; padding: 7px 0; font-size: 14px; line-height: 1.38; color: var(--suave); }
.passos-lista b { color: var(--tinta); font-weight: 600; font-size: 15px; }
.ponto { width: 9px; height: 9px; margin-top: 6px; border-radius: 50%; background: var(--dia); box-shadow: 0 0 0 3px var(--cartao); position: relative; }
.passos-lista .espera .ponto { background: var(--balao); }

/* Autonomia */
.autonomia-grelha { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 64px; align-items: end; }
.escada { position: relative; }
.escada-palco { position: relative; height: 420px; }
.escada-linha { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--azul); overflow: visible; }
.degraus { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: minmax(0, 1fr); }
.degrau { position: relative; display: grid; align-content: end; gap: 6px; padding: 0 24px 0 2px; color: var(--corpo); font-size: 16px; line-height: 1.45; }
.degrau.d1 { padding-bottom: 24px; }
.degrau.d2 { padding-bottom: 154px; }
.degrau.d3 { padding-bottom: 284px; }
.degrau-n { font-weight: 650; font-size: clamp(22px, 2vw, 28px); letter-spacing: -.02em; line-height: 1.15; color: var(--tinta); }
.degrau b { color: var(--tinta); }
.cadeado { display: flex; gap: 10px; align-items: center; margin: 40px 0 0; padding-top: 20px; border-top: 1px solid var(--linha); color: var(--corpo); }
.cadeado svg { width: 18px; height: 18px; flex: none; color: var(--tinta); }
.autonomia-telefone { margin: 0; justify-self: start; order: -1; }

/* Voz */
.voz { position: relative; padding: 120px 0; margin: 0 var(--margem); border-radius: 32px; background: var(--chamada); color: #fff; overflow: hidden; }
.voz .contentor { width: min(100% - 48px, var(--largura)); }
.voz-grelha { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.voz-texto { display: grid; gap: 22px; }
.voz .texto { color: #fff; }
.voz-telefones { display: flex; justify-content: flex-end; gap: clamp(16px, 3vw, 40px); }
.voz-telefones figure { margin: 0; }
.voz-telefones figure:nth-child(2) { margin-top: 72px; }
.voz .iphone { box-shadow: 0 0 0 1px rgba(255, 255, 255, .14), 0 40px 80px -30px rgba(5, 15, 35, .6); }

/* Apps */
.cab-linha { grid-template-columns: minmax(0, 1fr) auto; }
.tema { display: inline-flex; padding: 4px; border-radius: 999px; background: #e7e9ee; }
.tema button {
  min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; cursor: pointer;
  font-weight: 600; font-size: 15px; color: var(--suave); transition: background-color .2s, color .2s, box-shadow .2s;
}
.tema button[aria-pressed='true'] { background: var(--cartao); color: var(--tinta); box-shadow: 0 1px 3px rgba(30, 50, 90, .12); }
.mac { margin: 0 auto; width: 92%; max-width: 1100px; }
.mac[data-tema='escuro'] .ecra-claro { display: none; }
.mac[data-tema='escuro'] .ecra-escuro { display: block; }
.atalhos { list-style: none; margin: 48px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 36px; color: var(--corpo); }
.atalhos li { display: inline-flex; align-items: center; gap: 6px; }
kbd {
  display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 8px;
  background: var(--cartao); box-shadow: 0 0 0 1px var(--linha) inset, 0 2px 0 var(--linha);
  font: 600 14px/1 'Cyrus Sans', -apple-system, sans-serif; color: var(--tinta);
}
.atalhos li kbd:last-of-type { margin-right: 4px; }

/* Confiança */
.confianca-grelha { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.regras { list-style: none; margin: 48px 0 32px; padding: 0; display: grid; gap: 22px; max-width: 34em; }
.regras li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 16px; color: var(--corpo); }
.regras svg { width: 22px; height: 22px; margin-top: 2px; color: var(--tinta); }
.regras b { color: var(--tinta); font-weight: 650; }
.confianca-telefone { margin: 0; justify-self: center; order: -1; }

/* Acesso */
.acesso { padding-top: 0; }
.acesso-painel {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; padding: clamp(32px, 5vw, 72px);
  border-radius: 32px; background: var(--cartao);
}
.acesso-texto { display: grid; gap: 22px; align-content: start; }
.acesso-texto a { color: var(--azul); }
.formulario { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.campo { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.campo-largo { grid-column: 1 / -1; }
.campo label, .campo legend { font-size: 14px; font-weight: 600; color: var(--tinta); padding: 0; }
.opcional { font-weight: 400; color: var(--suave); }
.campo input, .campo select, .campo textarea {
  width: 100%; min-height: 50px; padding: 12px 16px; border: 0; border-radius: 14px; background: var(--tela);
  box-shadow: 0 0 0 1px transparent inset; font-size: 16px; transition: box-shadow .2s, background-color .2s;
}
.campo textarea { resize: vertical; min-height: 96px; line-height: 1.45; }
.campo select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%2362626a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; padding-right: 44px; }
.campo input:hover, .campo select:hover, .campo textarea:hover { box-shadow: 0 0 0 1px var(--linha) inset; }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible { outline: none; background: #fff; box-shadow: 0 0 0 2px var(--azul) inset; }
.campo [aria-invalid='true'] { box-shadow: 0 0 0 2px var(--alerta) inset; }
.escolhas { display: flex; flex-wrap: wrap; gap: 8px; }
.escolhas label {
  position: relative; display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 16px 0 12px;
  border-radius: 999px; background: var(--tela); font-size: 15px; font-weight: 500; cursor: pointer;
  transition: background-color .2s, box-shadow .2s;
}
.escolhas input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.escolhas label:hover { box-shadow: 0 0 0 1px var(--linha) inset; }
.escolhas label:has(input:checked) { background: var(--tinta); color: #fff; }
.escolhas label:has(input:focus-visible) { outline: 2px solid var(--azul); outline-offset: 3px; }
.formulario-fim { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 8px; }
.formulario-fim .pequeno-t { margin: 0; }
.formulario-fim a { color: var(--azul); }
.formulario-erro { grid-column: 1 / -1; margin: 0; color: var(--alerta); font-size: 15px; font-weight: 500; }

/* Suporte */
.canais { display: grid; grid-template-columns: repeat(2, minmax(0, 360px)); gap: 16px; }
.canal {
  display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; column-gap: 14px; row-gap: 2px; align-items: center;
  padding: 22px 24px; border-radius: var(--raio); background: var(--cartao); text-decoration: none;
  transition: box-shadow .25s var(--ease-out-quart), translate .25s var(--ease-out-quint);
}
.canal:hover { box-shadow: var(--sombra); translate: 0 -2px; }
.canal svg { grid-row: 1 / 3; width: 26px; height: 26px; }
.canal-t { font-size: 14px; color: var(--suave); font-weight: 600; }
.canal-v { font-size: 19px; font-weight: 650; letter-spacing: -.01em; }
.faq { max-width: 760px; margin-top: 96px; }
.faq .t-m { margin-bottom: 24px; }
.faq details { border-bottom: 1px solid var(--linha); }
.faq details:first-of-type { border-top: 1px solid var(--linha); }
.faq summary {
  display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 64px; padding: 16px 0;
  cursor: pointer; list-style: none; font-weight: 600; font-size: 18px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ''; width: 12px; height: 12px; flex: none; margin-right: 6px; border-right: 1.6px solid var(--suave); border-bottom: 1.6px solid var(--suave);
  rotate: 45deg; translate: 0 -3px; transition: rotate .25s var(--ease-out-quint), translate .25s var(--ease-out-quint);
}
.faq details[open] summary::after { rotate: 225deg; translate: 0 3px; }
.faq details p { margin: 0 0 22px; color: var(--corpo); max-width: 40em; }
.faq details a { color: var(--azul); }
.suporte-form { max-width: 760px; margin-top: 72px; padding: clamp(24px, 4vw, 40px); border-radius: var(--raio); background: var(--cartao); }
.suporte-form .t-m { margin-bottom: 24px; }
.formulario-fim .pequeno-t a { white-space: nowrap; }
