/*
 * Code.Mail — site de divulgação (home, três produtos e preços)
 *
 * Paleta e medidas vindas de `Site Home.dc.html` e irmãos, do projeto
 * "Redesign baseado em exemplo" no Claude Design. O original traz tudo em
 * style inline (formato da ferramenta); aqui virou folha de estilo porque
 * hover, foco e media query precisam de CSS.
 */

:root {
  --bg: #eeeeea;
  --surface: #ffffff;
  --cream: #f6f7ed;
  --line: #f2f2ec;
  --line-strong: #ececE6;
  --chip: #f6f6f3;

  --ink: #1f1f1f;
  --ink-hover: #5b5b56;
  --ink-soft: #6d6d67;
  --muted: #8a8a85;
  --faint: #a8a8a2;

  --dark: #141413;
  --dark-2: #191918;
  --dark-line: #2b2b28;
  --dark-chip: #24241f;
  --dark-hatch: #3d3d38;

  --on-dark: #f1f1ea;
  --on-dark-soft: #cbcbc3;
  --on-dark-muted: #a2a29a;
  --on-dark-faint: #74746d;

  --btn-dark: #1f1f1f;
  --btn-dark-hover: #333330;

  --accent: #0f7a5c;
  --accent-bright: #2fbd8e;
  --accent-soft: #e7efe9;
  --warn-bg: #f7f2e6;
  --warn-line: #e8dcc0;
  --warn-ink: #7a6537;

  --gap: 14px;
  --radius-lg: 26px;
  --radius: 22px;
  --radius-md: 20px;
  --radius-sm: 13px;

  --mono: ui-monospace, SFMono-Regular, Menlo, monospace;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; background: var(--bg); }

body {
  font-family: "General Sans", Helvetica, Arial, sans-serif;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--ink-hover); }
button { font-family: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }
.pp { display: flex; flex-direction: column; gap: var(--gap); }
code { font-family: var(--mono); font-size: .92em; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

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

/* ---------- movimento ----------
   Discreto de propósito: só opacidade e uns poucos pixels de deslocamento, sempre
   com a mesma curva. Nada anima em loop. Sem JavaScript, ou com "reduzir movimento",
   tudo aparece já no lugar (o script só marca `.rv` no que está abaixo da dobra). */
:root { --ease-out: cubic-bezier(.2, .7, .2, 1); }

@keyframes sobe { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes entra { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }
@keyframes troca { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }

/* abertura da página: o hero entra em sequência */
.hero > div:first-child > *, .hero > .inbox, .hero > .ai { animation: sobe .7s var(--ease-out) both; }
.hero > div:first-child > :nth-child(2) { animation-delay: .07s; }
.hero > div:first-child > :nth-child(3) { animation-delay: .14s; }
.hero > div:first-child > :nth-child(4) { animation-delay: .21s; }
.hero > div:first-child > :nth-child(5) { animation-delay: .28s; }
.hero > .inbox, .hero > .ai { animation-delay: .2s; }
.hero--home > * { animation: sobe .7s var(--ease-out) both; }
.hero--home > :nth-child(2) { animation-delay: .12s; }
.hero--home > :nth-child(3) { animation-delay: .24s; }

/* o exemplo da caixa de entrada: as mensagens chegam uma a uma */
.inbox .row { animation: entra .5s var(--ease-out) both; }
.inbox > :nth-child(2) { animation-delay: .45s; }
.inbox > :nth-child(3) { animation-delay: .58s; }
.inbox > :nth-child(4) { animation-delay: .71s; }
.inbox > :nth-child(5) { animation-delay: .84s; }

/* o resto aparece ao rolar até ali */
.rv { opacity: 0; transform: translateY(14px); }
.rv.rv--in { opacity: 1; transform: none; transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); transition-delay: var(--d, 0s); }

/* o preço troca com um respiro, em vez de piscar */
[data-price].tick { animation: troca .3s var(--ease-out); }

/* cards e planos sobem um pouco sob o ponteiro */
.card, .plan, .cross, .product { transition: transform .2s var(--ease-out), box-shadow .2s; }
@media (hover: hover) {
  .card:hover, .plan:hover, .cross:hover, .product:hover { transform: translateY(-3px); }
  .btn { transition: background .15s, transform .15s var(--ease-out); }
  .btn:hover { transform: translateY(-1px); }
}
.btn:active { transform: none; }

/* ---------- estrutura ---------- */

.page {
  padding: var(--gap);
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  max-width: 1560px;
  margin: 0 auto;
}

.section { border-radius: var(--radius); padding: 48px 44px; }
.section--white { background: var(--surface); }
.section--cream { background: var(--cream); border-radius: var(--radius-lg); }
.section--dark  { background: var(--dark); color: var(--on-dark); border-radius: var(--radius-lg); padding: 56px 48px; }
.section--bare  { padding: 0; background: none; }

.grid { display: grid; gap: var(--gap); }
.grid--2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 44px; align-items: center; }
.grid--cards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid--feat { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
.grid--plans { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.grid > *, .grid--2 > * { min-width: 0; }

.eyebrow {
  font-size: 12px; letter-spacing: 0.12em; font-weight: 500;
  color: var(--faint); margin: 0 0 14px; text-transform: uppercase;
}
.section--dark .eyebrow { color: var(--on-dark-faint); }

h1, h2, h3 { margin: 0; font-weight: 600; text-wrap: balance; }
h1 { font-size: 58px; line-height: 1.02; letter-spacing: -0.035em; margin-bottom: 20px; }
h2 { font-size: 38px; line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 14px; }
h3 { font-size: 17px; letter-spacing: -0.01em; margin-bottom: 8px; }
p { margin: 0; text-wrap: pretty; }
.lead { font-size: 17px; line-height: 1.6; color: var(--ink-soft); max-width: 520px; margin-bottom: 34px; }
.sub  { font-size: 16px; line-height: 1.6; color: var(--ink-soft); }
.head { padding: 34px 8px 6px; max-width: 640px; }

/* ---------- navegação ---------- */

.nav {
  position: sticky; top: var(--gap); z-index: 20;
  background: var(--surface); border-radius: var(--radius);
  padding: 12px 20px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.brand { display: flex; align-items: center; gap: 11px; }
.brand__mark { width: 30px; height: 30px; display: block; }
.brand__name { font-size: 16px; font-weight: 600; letter-spacing: -0.02em; white-space: nowrap; }
.brand--sm .brand__mark { width: 28px; height: 28px; }
.brand--sm .brand__name { font-size: 15px; }

.nav__links { display: flex; align-items: center; gap: 4px; margin-left: 8px; }
.nav__links > a, .nav__menu > summary {
  font-size: 14px; padding: 8px 12px; border-radius: 10px; cursor: pointer;
  list-style: none; display: flex; align-items: center; gap: 7px;
}
.nav__menu > summary::-webkit-details-marker { display: none; }
.nav__menu > summary::after { content: "▾"; font-size: 10px; color: var(--muted); }
.nav__links > a:hover, .nav__menu > summary:hover, [aria-current="page"] { background: var(--chip); }
[aria-current="page"] { font-weight: 600; }

.nav__menu { position: relative; }
.nav__drop {
  position: absolute; top: calc(100% + 12px); left: 0; z-index: 30;
  width: min(560px, calc(100vw - 48px));
  background: var(--surface); border-radius: var(--radius-md); padding: 10px;
  box-shadow: 0 24px 60px rgba(31,31,31,0.16), 0 0 0 1px var(--line-strong);
  display: flex; flex-direction: column; gap: 2px;
}
.nav__item {
  display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 14px;
  align-items: center; padding: 12px 14px; border-radius: 14px;
}
.nav__item:hover { background: var(--chip); }
.nav__item b { display: block; font-size: 14.5px; }
.nav__item b span { font-weight: 400; color: var(--muted); }
.nav__item small { display: block; font-size: 13px; color: var(--ink-soft); margin-top: 2px; }
.nav__note { margin-top: 6px; background: var(--cream); border-radius: 14px; padding: 12px 16px; font-size: 13px; color: #5b5b56; }

.nav__actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.nav__login { font-size: 14px; font-weight: 500; padding: 10px 14px; }

.icon {
  width: 40px; height: 40px; border-radius: 12px; background: var(--btn-dark);
  color: var(--cream); display: flex; align-items: center; justify-content: center; font-size: 15px;
}
.icon--sm { width: 36px; height: 36px; border-radius: 11px; }

/* ---------- botões e selos ---------- */

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  font-size: 14.5px; font-weight: 600; border-radius: var(--radius-sm);
  padding: 15px 24px; border: 1px solid transparent; cursor: pointer;
}
.btn--sm { font-size: 14px; padding: 11px 18px; border-radius: 12px; }
.btn--dark { background: var(--btn-dark); color: #fff; }
.btn--dark:hover { background: var(--btn-dark-hover); color: #fff; }
.btn--light { background: var(--surface); color: var(--ink); }
.btn--light:hover { background: #fdfdfa; color: var(--ink); }
.btn--line { background: transparent; border-color: #e2e2dc; }
.btn-row { display: flex; gap: 10px; flex-wrap: wrap; }

.badge {
  display: inline-flex; align-items: center; gap: 9px; background: var(--surface);
  border-radius: 999px; padding: 7px 14px; font-size: 12.5px; color: #4a4a45; margin-bottom: 26px;
}
.badge i { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }

.notes { display: flex; gap: 22px; flex-wrap: wrap; list-style: none; margin: 26px 0 0; padding: 0; font-size: 13px; color: var(--muted); }

/* ---------- hero ---------- */

.hero { padding: 64px 56px; display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 48px; align-items: center; }
.hero > * { min-width: 0; }
.hero--home { display: flex; flex-direction: column; gap: 52px; padding: 72px 56px 56px; align-items: stretch; }
.hero--home h1 { font-size: 62px; max-width: 800px; }
.hero--home .lead { max-width: 560px; }

/* ---------- cartões ---------- */

.card { background: var(--surface); border-radius: var(--radius); padding: 30px; }
.card p { font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.card__ico {
  width: 34px; height: 34px; border-radius: 10px; background: var(--cream);
  display: flex; align-items: center; justify-content: center; font-size: 14px; margin-bottom: 20px;
}

.product {
  background: var(--surface); border-radius: var(--radius); padding: 28px;
  display: flex; flex-direction: column; gap: 16px; transition: box-shadow .15s;
}
.product:hover { box-shadow: 0 0 0 2px var(--ink); color: var(--ink); }
.product__top { display: flex; align-items: center; gap: 12px; }
.product__top b { display: block; font-size: 17px; }
.product__top small { font-size: 12.5px; color: var(--muted); }
.product p { font-size: 14.5px; line-height: 1.55; color: #4a4a45; }
.product__foot {
  margin-top: auto; border-top: 1px solid var(--line); padding-top: 16px;
  display: flex; justify-content: space-between; font-size: 14px; font-weight: 600;
}
.mini-code {
  background: #191918; border-radius: 14px; padding: 14px 16px; font-family: var(--mono);
  font-size: 12px; line-height: 1.7; color: var(--on-dark-soft);
}
.mini-code em { font-style: normal; color: var(--accent-bright); }
.mini-box { background: var(--cream); border-radius: 14px; padding: 14px 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.mini-box b { display: block; font-size: 18px; }
.mini-box small { font-size: 11.5px; color: var(--muted); }
.mini-mail { border: 1px solid var(--line-strong); border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; }
.mini-mail b { font-size: 13px; }
.tag-ai { align-self: flex-start; font-size: 12px; font-weight: 500; background: var(--cream); border-radius: 7px; padding: 3px 9px; }
.tag-ai span { color: var(--accent); }

/* ---------- números ---------- */

.facts { padding: 36px 44px; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 32px; }
.facts > div + div { border-left: 1px solid var(--line); padding-left: 32px; }
.facts b { display: block; font-size: 30px; letter-spacing: -0.03em; }
.facts span { display: block; font-size: 13px; color: var(--muted); margin-top: 7px; }

/* ---------- listas de caso (home, escuro) ---------- */

.cases { display: flex; flex-direction: column; margin-top: 36px; }
.case {
  display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) auto; gap: 24px;
  align-items: center; padding: 22px 0; border-top: 1px solid var(--dark-line); color: var(--on-dark);
}
.case:last-child { border-bottom: 1px solid var(--dark-line); }
.case:hover { color: #fff; }
.case span:first-child { font-size: 18px; font-weight: 500; }
.case span:nth-child(2) { font-size: 14px; color: var(--on-dark-muted); }
.case span:last-child { color: var(--accent-bright); }

/* ---------- passos, bullets ---------- */

.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 32px; }
.steps > div + div { border-left: 1px solid var(--line); padding-left: 32px; }
.steps small { display: block; font-size: 13px; font-weight: 600; color: var(--faint); margin-bottom: 14px; }
.steps p { font-size: 14px; line-height: 1.6; color: var(--ink-soft); }

.dash { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; max-width: 440px; }
.dash li { display: flex; gap: 12px; font-size: 14.5px; color: var(--on-dark-soft); }
.dash li::before { content: "—"; color: var(--accent-bright); }
.section--dark .sub { color: var(--on-dark-muted); margin-bottom: 28px; max-width: 440px; }

/* ---------- janelas de exemplo ---------- */

.code { background: var(--dark-2); border-radius: var(--radius-md); padding: 22px; box-shadow: 0 24px 60px rgba(31,31,31,.16); color: var(--on-dark-soft); }
.code__bar { display: flex; align-items: center; gap: 7px; margin-bottom: 18px; }
.code__bar i { width: 9px; height: 9px; border-radius: 50%; background: #3a3a35; }
.code__bar span { margin-left: 8px; font-family: var(--mono); font-size: 11.5px; color: var(--on-dark-faint); }
.code pre { margin: 0; font-family: var(--mono); font-size: 12.5px; line-height: 1.85; white-space: pre-wrap; word-break: break-word; }
.code .s { color: var(--accent-bright); }
.code__foot { margin-top: 18px; border-top: 1px solid var(--dark-line); padding-top: 16px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.code__ok { font: 600 11px var(--mono); padding: 5px 10px; border-radius: 7px; background: var(--dark-chip); color: var(--accent-bright); }
.code__note { font: 12px var(--mono); color: var(--on-dark-faint); }

.panel { background: var(--surface); border-radius: var(--radius-md); padding: 24px; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 24px 60px rgba(31,31,31,.10); min-width: 0; }
.panel__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.panel__top small { display: block; font-size: 12px; color: var(--muted); margin-bottom: 4px; }
.panel__top b { font-size: 18px; letter-spacing: -0.01em; }
.pill { font-size: 12px; font-weight: 600; background: var(--accent-soft); color: var(--accent); border-radius: 8px; padding: 5px 10px; white-space: nowrap; }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.stats div { background: var(--cream); border-radius: 14px; padding: 14px; }
.stats b { display: block; font-size: 22px; letter-spacing: -0.02em; }
.stats span { font-size: 12px; color: var(--muted); }
.sample { font-size: 11.5px; color: var(--faint); }

.bars { border: 1px solid var(--line-strong); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 9px; }
.bars__row { display: grid; grid-template-columns: 120px 1fr 34px; gap: 10px; align-items: center; font-size: 12.5px; }
.bars__row div { height: 6px; border-radius: 4px; background: var(--line-strong); }
.bars__row div i { display: block; height: 100%; border-radius: 4px; background: var(--ink); }
.bars__row span:last-child { text-align: right; color: var(--muted); }

.inbox { background: var(--surface); border-radius: var(--radius-md); padding: 10px; box-shadow: 0 24px 60px rgba(31,31,31,.10); min-width: 0; }
.inbox__tabs { display: flex; gap: 4px; padding: 8px 8px 12px; border-bottom: 1px solid #f0f0eb; flex-wrap: wrap; }
.inbox__tabs span { font-size: 13px; border-radius: 9px; padding: 6px 11px; }
.inbox__tabs .on { font-weight: 600; background: #f4f4f4; }
.row { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; gap: 12px; padding: 12px 10px; border-bottom: 1px solid #f4f4f0; align-items: start; }
.row:last-child { border-bottom: 0; }
.av { width: 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600; }
.row__txt { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.row__txt b, .row__txt span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.row__txt b { font-size: 14px; }
.row__txt span.sj { font-size: 13px; color: #5b5b56; }
.row time { font-size: 12px; color: var(--muted); }

.ai { background: var(--cream); color: var(--ink); border-radius: var(--radius-md); padding: 24px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ai small { font-size: 12px; color: var(--muted); }
.ai h3 { font-size: 18px; margin: 4px 0 0; }
.ai__box { background: #fff; border-radius: 14px; padding: 16px; }
.ai__box b { display: block; font-size: 13px; margin-bottom: 10px; }
.ai__box b span { color: var(--accent); }
.ai__box ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.5; }
.ai__box li::before { content: "·"; color: var(--faint); margin-right: 9px; }
.ai__chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.ai__chips div { background: #fff; border-radius: 14px; padding: 12px 14px; }
.ai__chips small { display: block; font-weight: 600; letter-spacing: .06em; margin-bottom: 4px; }
.ai__chips b { font-size: 13.5px; }

/* ---------- limites do Lists (escuro) ---------- */

.limits { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--gap); }
.limit { background: var(--cream); color: var(--ink); border-radius: var(--radius-md); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.limit--warn { background: var(--warn-bg); border: 1px solid var(--warn-line); }
.limit--warn p { color: var(--warn-ink); }
.limit--white { background: #fff; }
.limit p { font-size: 14px; line-height: 1.6; color: #5b5b56; }
.limit p b { color: var(--ink); font-weight: 600; }
.limit h3 { margin: 0; }

.states { display: flex; flex-direction: column; }
.state { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr) auto; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); font-size: 14px; }
.state b { font-weight: 600; }
.state span:nth-child(2) { color: var(--ink-soft); }
.state em { font-style: normal; font-size: 12px; font-weight: 600; border-radius: 7px; padding: 3px 9px; background: var(--chip); color: var(--muted); }
.state em.on { background: var(--ink); color: #fff; }

/* ---------- preços ---------- */

.pricing-head { padding: 34px 8px 6px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.seg { display: inline-flex; background: var(--surface); border-radius: 12px; padding: 4px; gap: 4px; }
.seg button { border: 0; background: transparent; font-size: 13px; font-weight: 600; padding: 10px 16px; border-radius: 9px; color: var(--muted); cursor: pointer; }
.seg button[aria-pressed="true"] { background: var(--cream); color: var(--ink); }
.seg--tabs button { font-size: 14px; padding: 10px 18px; }
.seg--tabs button[aria-pressed="true"] { background: var(--ink); color: #fff; }

/* SDKs: abas de linguagem e um bloco de código por vez */
.seg--sdk { display: flex; flex-wrap: wrap; margin-bottom: 14px; }
.seg--sdk button { flex: 1 1 auto; text-align: center; }
.seg--sdk small { font-size: 11px; font-weight: 500; opacity: .6; margin-left: 4px; }
.sdk-code[hidden] { display: none; }
.sdk-note { margin-top: 18px; font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.sdk-note a { text-decoration: underline; }

.plan { background: var(--surface); border-radius: var(--radius); padding: 32px; display: flex; flex-direction: column; }
.plan--hl { background: var(--dark); color: var(--on-dark); }
.plan__name { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: 15px; font-weight: 600; }
.plan__tag { font-size: 10.5px; letter-spacing: .08em; padding: 4px 9px; border-radius: 6px; background: var(--cream); color: var(--ink-soft); }
.plan--hl .plan__tag { background: var(--dark-chip); color: var(--accent-bright); }
.plan__price { display: flex; align-items: baseline; gap: 5px; margin-bottom: 6px; }
.plan__price b { font-size: 36px; letter-spacing: -0.035em; font-variant-numeric: tabular-nums; }
.plan__price span { font-size: 13px; opacity: .6; }
.plan__vol { font-size: 13.5px; opacity: .7; margin-bottom: 26px; }
.plan ul { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-direction: column; gap: 11px; font-size: 14px; line-height: 1.45; }
.plan li { display: flex; gap: 11px; }
.plan li::before { content: "—"; opacity: .45; }
.plan .btn { margin-top: auto; border-color: var(--ink); background: #fff; color: var(--ink); padding: 14px; font-size: 14px; border-radius: 12px; }
.plan--hl .btn { background: var(--on-dark); border-color: var(--on-dark); color: var(--dark); }

.negotiated {
  background: var(--cream); border-radius: var(--radius); padding: 28px 32px;
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
}
.negotiated > div { min-width: 240px; flex: 1; }
.negotiated b { display: block; font-size: 16px; margin-bottom: 6px; }
.negotiated span { font-size: 14px; color: var(--ink-soft); }
.negotiated--white { background: var(--surface); }

.included { background: var(--surface); border-radius: var(--radius); padding: 30px 32px; }
.included h3 { margin-bottom: 14px; }
.included ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px 28px; font-size: 14px; color: var(--ink-soft); }
.included li::before { content: "—"; margin-right: 10px; color: var(--faint); }

.models { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--gap); margin-top: 20px; }
.model { background: var(--dark-2); border-radius: 18px; padding: 24px; box-shadow: 0 0 0 1px var(--dark-line); }
.model b { display: block; font-size: 16px; margin-bottom: 8px; }
.model strong { display: block; font-size: 24px; letter-spacing: -0.02em; margin-bottom: 8px; }
.model p { font-size: 14px; line-height: 1.6; color: var(--on-dark-muted); }

/* ---------- FAQ ---------- */

.faq { display: flex; flex-direction: column; min-width: 0; }
.faq div { padding: 20px 0; border-top: 1px solid var(--line); }
.faq b { display: block; font-size: 15px; margin-bottom: 7px; }
.faq p { font-size: 14px; line-height: 1.6; color: var(--ink-soft); }
.faq-title h2 { font-size: 32px; line-height: 1.12; margin-bottom: 12px; }
.faq-title p { font-size: 15px; line-height: 1.6; color: var(--ink-soft); max-width: 320px; }
.faq-title a { display: inline-block; margin-top: 20px; font-size: 14px; font-weight: 600; }

/* ---------- na mesma conta, CTA final ---------- */

.same { background: var(--cream); border-radius: var(--radius); padding: 30px; display: flex; flex-direction: column; justify-content: center; }
.same b { font-size: 22px; letter-spacing: -0.02em; line-height: 1.2; font-weight: 600; }
.cross { background: var(--surface); border-radius: var(--radius); padding: 30px; display: flex; flex-direction: column; gap: 10px; transition: box-shadow .15s; }
.cross:hover { box-shadow: 0 0 0 2px var(--ink); color: var(--ink); }
.cross__top { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 600; }
.cross p { font-size: 14px; line-height: 1.55; color: var(--ink-soft); }
.cross__go { margin-top: auto; font-size: 14px; font-weight: 600; }

.cta { text-align: center; padding: 72px 56px; }
.cta h2 { font-size: 44px; max-width: 680px; margin: 0 auto 18px; letter-spacing: -0.035em; }
.cta p { font-size: 16px; color: var(--ink-soft); max-width: 480px; margin: 0 auto 32px; }
.cta .btn-row { justify-content: center; }

/* ---------- rodapé ---------- */

.footer {
  background: var(--surface); border-radius: var(--radius); padding: 38px 44px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 32px;
}
.footer > div { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.footer h4 { margin: 0 0 4px; font-size: 12px; letter-spacing: .1em; color: var(--faint); font-weight: 500; text-transform: uppercase; }
.footer a { font-size: 13.5px; color: var(--ink-soft); }
.footer a:hover { color: var(--ink); }
.footer p { font-size: 13px; line-height: 1.6; color: var(--muted); }
.footer .brand { margin-bottom: 4px; }

/* ---------- responsivo ---------- */

@media (max-width: 760px) {
  .section, .section--dark { padding: 32px 22px; }
  .hero, .hero--home, .cta { padding: 40px 22px; }
  h1, .hero--home h1 { font-size: 40px; }
  h2 { font-size: 30px; }
  .cta h2 { font-size: 32px; }
  .facts { padding: 28px 22px; }
  .facts > div + div, .steps > div + div { border-left: 0; padding-left: 0; }
  .case { grid-template-columns: 1fr auto; }
  .case span:nth-child(2) { display: none; }
  .nav__links { order: 3; width: 100%; margin-left: 0; }
  .nav__drop { left: 0; }
  .bars__row { grid-template-columns: 90px 1fr 30px; }
  .footer { padding: 30px 22px; }
}

/* ---------- documentos legais ---------- */

.doc { padding: 56px 56px 64px; }
.doc > * { max-width: 760px; }
.doc h1 { font-size: 44px; margin-bottom: 8px; }
.doc__meta { font-size: 13px; color: var(--muted); margin-bottom: 36px; }
.doc h2 { font-size: 22px; letter-spacing: -0.02em; margin: 40px 0 12px; }
.doc h3 { font-size: 16px; margin: 22px 0 8px; }
.doc p, .doc li { font-size: 15px; line-height: 1.7; color: #4a4a45; }
.doc p { margin: 0 0 14px; }
.doc ul { margin: 0 0 14px; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.doc a { text-decoration: underline; text-underline-offset: 3px; }
.doc b { color: var(--ink); font-weight: 600; }

@media (max-width: 760px) {
  .doc { padding: 36px 22px 44px; }
  .doc h1 { font-size: 32px; }
}

/* Telas largas: o container cresce (1560px) e o respiro interno acompanha. */
@media (min-width: 1440px) {
  .section { padding: 56px 64px; }
  .section--dark { padding: 64px 68px; }
  .hero--home h1 { font-size: 76px; max-width: 1040px; }
  .hero--home .lead { font-size: 19px; max-width: 680px; }
}

/* nomes de ferramenta e comandos longos quebram em vez de abrir rolagem na página */
.dash code, .sdk-note code { overflow-wrap: anywhere; }
