@font-face {
  font-family: "Sora"; font-style: normal; font-weight: 100 800; font-display: swap;
  src: url(../fonts/sora-latin-wght.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url(../fonts/inter-latin-wght.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}

:root {
  --ink: #0b0d12;
  --ink-2: #12151c;
  --ink-3: #1b1f28;
  --ink-linha: #2a2f3a;
  --branco: #f7f5f2;
  --branco-puro: #ffffff;
  --papel: #efece6;
  --linha: #dedad3;
  --suave: #545b68;
  --suave-escuro: #a7afbc;
  --vermelho: #d6003a;
  --vermelho-escuro: #a3002c;
  --vermelho-claro: #ff5a78;
  --ciano: #63dce5;
  --verde-ok: #1a7f37;
  --ambar: #9a6700;
  --erro: #b42318;

  --fonte-display: "Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --fonte-texto: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --t-h1: clamp(2.1rem, 1.4rem + 2.6vw, 3.5rem);
  --t-h2: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem);
  --t-h3: clamp(1.1rem, 1rem + .3vw, 1.25rem);

  --e1: 4px; --e2: 8px; --e3: 12px; --e4: 16px; --e5: 24px; --e6: 32px; --e7: 48px; --e8: 72px; --e9: 96px;
  --raio: 6px;
  --raio-g: 10px;
  --corte: 14px;
  --largura: 72rem;
  --largura-texto: 42rem;
  --gutter: clamp(1rem, 4vw, 2rem);
  --sombra-1: 0 1px 2px rgb(11 13 18 / .06), 0 1px 1px rgb(11 13 18 / .04);
  --sombra-2: 0 8px 24px -12px rgb(11 13 18 / .25);

  --rn-ez: cubic-bezier(.16, 1, .3, 1);
  --rn-ez2: cubic-bezier(.65, 0, .35, 1);
  --rn-mola: cubic-bezier(.34, 1.56, .64, 1);
  --dur-micro: .18s;
  --dur-curta: .35s;
  --dur-media: .6s;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scrollbar-gutter: stable; }
body { margin: 0; background: var(--branco); color: var(--ink); font: 400 1rem/1.6 var(--fonte-texto); -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 3px; }
h1, h2, h3 { font-family: var(--fonte-display); text-wrap: balance; margin: 0; }
h1 { font-size: var(--t-h1); font-weight: 800; line-height: 1.08; letter-spacing: -.03em; }
h2 { font-size: var(--t-h2); font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
h3 { font-size: var(--t-h3); font-weight: 700; line-height: 1.3; }
p { text-wrap: pretty; margin: 0 0 var(--e4); }
::selection { background: var(--vermelho); color: #fff; }
:focus-visible { outline: 3px solid var(--vermelho); outline-offset: 2px; border-radius: 2px; }
.num { font-variant-numeric: tabular-nums; }
.visualmente-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.pular { position: absolute; left: -999px; top: 0; padding: var(--e3) var(--e4); background: var(--ink); color: #fff; z-index: 100; }
.pular:focus { left: var(--e4); }
.in { width: 100%; max-width: var(--largura); margin-inline: auto; padding-inline: var(--gutter); }

.btn {
  --btn-fundo: var(--vermelho-escuro); --btn-texto: #fff; --btn-borda: var(--vermelho-escuro);
  display: inline-flex; align-items: center; justify-content: center; gap: var(--e2);
  min-height: 44px; padding: 0 var(--e5); border: 1.5px solid var(--btn-borda); border-radius: var(--raio);
  background: var(--btn-fundo); color: var(--btn-texto); font: 600 .975rem/1 var(--fonte-texto);
  text-decoration: none; cursor: pointer; transition: background var(--dur-micro), border-color var(--dur-micro), transform var(--dur-micro) var(--rn-ez);
}
.btn:hover { --btn-fundo: #8a0025; --btn-borda: #8a0025; }
.btn:active { transform: translateY(1px); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.btn[aria-busy="true"] { cursor: progress; }
.btn--sec { --btn-fundo: transparent; --btn-texto: var(--ink); --btn-borda: var(--ink); }
.btn--sec:hover { --btn-fundo: var(--ink); --btn-texto: #fff; --btn-borda: var(--ink); }
.btn--claro { --btn-fundo: transparent; --btn-texto: #fff; --btn-borda: rgb(255 255 255 / .55); }
.btn--claro:hover { --btn-fundo: #fff; --btn-texto: var(--ink); --btn-borda: #fff; }
.btn--fantasma { --btn-fundo: transparent; --btn-texto: var(--ink); --btn-borda: transparent; padding-inline: var(--e3); }
.btn--fantasma:hover { --btn-fundo: rgb(11 13 18 / .06); --btn-borda: transparent; }
.btn--perigo { --btn-fundo: var(--erro); --btn-borda: var(--erro); }
.btn--bloco { width: 100%; }

.campo { display: grid; gap: var(--e1); }
.campo > label, .campo > .rotulo { font-weight: 600; font-size: .925rem; }
.campo .ajuda { font-size: .85rem; color: var(--suave); }
.campo .erro-campo { font-size: .85rem; color: var(--erro); font-weight: 500; }
.entrada {
  width: 100%; min-height: 44px; padding: 0 var(--e3); border: 1.5px solid #b9b4aa; border-radius: var(--raio);
  background: var(--branco-puro); color: var(--ink); font: 400 1rem/1.4 var(--fonte-texto);
  transition: border-color var(--dur-micro), box-shadow var(--dur-micro);
}
textarea.entrada { padding-block: var(--e3); min-height: 96px; }
select.entrada { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: var(--e7); }
.entrada:hover { border-color: var(--ink); }
.entrada:focus-visible { outline: none; border-color: var(--vermelho); box-shadow: 0 0 0 3px rgb(214 0 58 / .2); }
.entrada[aria-invalid="true"] { border-color: var(--erro); }

.alerta { padding: var(--e3) var(--e4); border-radius: var(--raio); border: 1px solid; font-size: .95rem; }
.alerta--ok { background: #eaf6ec; border-color: #b7dfc0; color: #14532d; }
.alerta--erro { background: #fdecea; border-color: #f5c2bc; color: #7a1a12; }
.alerta--info { background: #eef3f8; border-color: #c9d6e3; color: #1f3347; }

.etiqueta { display: inline-flex; align-items: center; gap: var(--e2); font: 600 .78rem/1 var(--fonte-texto); letter-spacing: .12em; text-transform: uppercase; color: var(--vermelho); }
.etiqueta::before { content: ""; width: 28px; height: 2px; background: currentColor; }

.cartao { background: var(--branco-puro); border: 1px solid var(--linha); border-radius: var(--raio-g); box-shadow: var(--sombra-1); }
.cartao--corte { position: relative; clip-path: polygon(0 0, calc(100% - var(--corte)) 0, 100% var(--corte), 100% 100%, 0 100%); }
.cartao--corte::after { content: ""; position: absolute; top: 0; right: 0; width: calc(var(--corte) * 1.42); height: 2px; background: var(--vermelho); transform-origin: right top; transform: rotate(45deg) translate(0, 0); }

html.rn-anima [data-rn] > * { opacity: 0; transform: translateY(14px); }
html.rn-anima [data-rn].is-in > * { opacity: 1; transform: none; transition: opacity var(--dur-media) var(--rn-ez), transform var(--dur-media) var(--rn-ez); transition-delay: calc(var(--i, 0) * 90ms); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  html.rn-anima [data-rn] > * { opacity: 1; transform: none; }
}
