/* Reset enxuto + base tipográfica */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--in-font);
  font-size: 16px;
  line-height: 1.55;
  color: var(--in-body);
  background: var(--in-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;            /* evita rolagem horizontal do bleed (ex.: estrela do banner) */
}
h1, h2, h3, h4, h5 { color: var(--in-ink); line-height: 1.15; margin: 0 0 .5em; font-weight: 700; }
p { margin: 0 0 1em; }
a { color: var(--in-red); text-decoration: none; }
a:hover { text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0; padding: 0; list-style: none; }
button { font-family: inherit; cursor: pointer; }

.in-container { width: 100%; max-width: var(--in-container); margin-inline: auto; padding-inline: var(--in-gutter); }
.in-section { padding-block: clamp(48px, 7vw, 96px); }

/* Botões */
.in-btn {
  display: inline-flex; align-items: center; gap: .5em;
  padding: .8em 1.6em; border-radius: var(--in-radius-pill);
  font-weight: 600; font-size: .95rem; line-height: 1;
  border: 2px solid transparent; transition: .18s ease; text-decoration: none;
}
.in-btn:hover { text-decoration: none; transform: translateY(-1px); }
.in-btn--primary { background: var(--in-red); color: #fff; }
.in-btn--primary:hover { background: var(--in-red-dark); color: #fff; }
.in-btn--gradient { background: linear-gradient(90deg, #02080F 34%, var(--in-red, #CA0A22) 100%); background-clip: padding-box; border-color: #fff; color: #fff; padding: .95em 1.9em; box-shadow: 0 10px 26px rgba(202,10,34,.28); }
.in-btn--gradient:hover { color: #fff; box-shadow: 0 14px 32px rgba(202,10,34,.36); filter: brightness(1.06); }
.in-btn--outline-red { border-color: var(--in-red); color: var(--in-red); background: #fff; }
.in-btn--outline-red:hover { background: var(--in-red); color: #fff; }
.in-btn--outline-green { border-color: var(--in-green); color: var(--in-green); background: #fff; }
.in-btn--outline-green:hover { background: var(--in-green); color: #fff; }
.in-btn--upper { text-transform: uppercase; letter-spacing: .04em; font-size: .82rem; }
.in-btn svg { flex-shrink: 0; }

.in-eyebrow { display: inline-flex; align-items: center; gap: .5em; color: var(--in-muted); font-weight: 600; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.in-eyebrow svg { color: currentColor; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Página de condições do plano */
.plano-condicoes__inner { max-width: 760px; }
.plano-condicoes__title { font-size: clamp(1.8rem, 4vw, 2.6rem); color: var(--in-red); margin: 8px 0 6px; }
.plano-condicoes__sup { color: var(--in-muted); font-weight: 600; margin: 0 0 4px; }
.plano-condicoes__preco { font-size: 1.05rem; margin-bottom: 24px; }
.plano-condicoes__body { line-height: 1.7; color: var(--in-body); border-top: 1px solid var(--in-border-soft); padding-top: 20px; }
.plano-condicoes__body h2, .plano-condicoes__body h3 { color: var(--in-ink); margin-top: 1.2em; }
.plano-condicoes__body ul { list-style: disc; padding-left: 1.4em; margin: 0 0 1em; }
.plano-condicoes__back { margin-top: 32px; }
