/* Sismob landing — design system compartilhado (index + spec)
   Estética: dark profundo, vidro (glass) com borda-gradiente e brilho especular
   fino que se move com o scroll, tipografia display serifada, um acento. */

:root{
  --fundo:#07090F; --fundo-2:#0C101B; --tinta:#F4F6FB; --tinta-2:#8B94AB; --tinta-3:#565E73;
  --acento:#4F7DF0; --ia:#8B7BD8; --quente:#E8A05C; --linha:rgba(139,148,171,.14);
  --vidro:rgba(255,255,255,.045);
  --f-display:ui-serif,'Iowan Old Style',Georgia,serif;
  --f-body:-apple-system,'Segoe UI',system-ui,Roboto,sans-serif;
  --f-mono:ui-monospace,'Cascadia Code',Menlo,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--fundo);color:var(--tinta);font-family:var(--f-body);
  overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:rgba(79,125,240,.35)}

h1,h2,h3.display{font-family:var(--f-display);font-weight:560;text-wrap:balance;letter-spacing:-.015em}
h1{font-size:clamp(2.6rem,7vw,5.2rem);line-height:1.04}
h2{font-size:clamp(1.7rem,4.4vw,3.2rem);line-height:1.12}
.sub{margin-top:20px;font-size:clamp(1rem,2vw,1.3rem);color:var(--tinta-2);
  max-width:56ch;margin-inline:auto;line-height:1.6}
.kicker{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--tinta-3);margin-bottom:18px}

/* ── nav glass ──────────────────────────────────────────────── */
nav.topo{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;padding:14px 28px;
  background:rgba(7,9,15,.55);backdrop-filter:blur(14px);border-bottom:1px solid var(--linha)}
nav.topo .marca{font-family:var(--f-display);font-size:1.25rem;color:var(--tinta);text-decoration:none}
nav.topo .links{display:flex;gap:26px;align-items:center;font-size:.88rem;color:var(--tinta-2)}
nav.topo .links a{color:inherit;text-decoration:none;transition:color .2s}
nav.topo .links a:hover{color:var(--tinta)}
nav.topo .cta-mini{padding:8px 18px;border-radius:99px;background:var(--tinta);color:var(--fundo);
  font-weight:600;text-decoration:none;font-size:.85rem;transition:transform .2s}
nav.topo .cta-mini:hover{transform:scale(1.04)}
@media(max-width:640px){nav.topo .links a:not(.cta-mini){display:none}}

/* ── hero de seção ──────────────────────────────────────────── */
.hero-secao{text-align:center;padding:130px 24px 60px;position:relative}
.hero-secao::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 45% at 50% 0%, rgba(79,125,240,.14), transparent 70%)}
.hero-secao>*{position:relative}

/* ── cartão de vidro (o coração do estilo) ──────────────────── */
.vidro{
  position:relative;border-radius:18px;background:var(--vidro);
  backdrop-filter:blur(12px);overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, background .35s;
}
/* borda-gradiente 1px (efeito Apple) */
.vidro::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(155deg, rgba(255,255,255,.35), rgba(255,255,255,.06) 30%,
             rgba(139,148,171,.08) 60%, rgba(255,255,255,.18));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
/* brilho especular fino — a faixa diagonal que atravessa o cartão com o scroll.
   posição controlada por --brilho (0..1), setada em JS pelo progresso na viewport */
.vidro::after{
  content:"";position:absolute;inset:-40%;pointer-events:none;opacity:.5;
  background:linear-gradient(115deg, transparent 42%, rgba(255,255,255,.10) 49%,
             rgba(255,255,255,.22) 50%, rgba(255,255,255,.10) 51%, transparent 58%);
  transform:translateX(calc((var(--brilho, .5) - .5) * 160%));
  transition:transform .1s linear;
}
.vidro:hover{
  transform:translateY(-4px) scale(1.008);
  background:rgba(255,255,255,.065);
  box-shadow:0 24px 70px rgba(0,0,0,.55), 0 0 0 1px rgba(79,125,240,.18),
             0 0 44px rgba(79,125,240,.10);
}
.vidro:hover::after{opacity:.75}
.vidro>.corpo{position:relative;padding:34px 30px;z-index:1}
.vidro h3{font-size:1.05rem;font-weight:600;margin-bottom:10px}
.vidro p{font-size:.9rem;color:var(--tinta-2);line-height:1.65}
.vidro .n{font-family:var(--f-mono);font-size:.68rem;color:var(--tinta-3);display:block;margin-bottom:14px}

.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:48px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.secao{padding:110px 0}
.secao.faixa{background:var(--fundo-2);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}

/* ── pills (disposições e origens do catálogo) ──────────────── */
.pill{display:inline-block;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.04em;
  text-transform:uppercase;padding:2px 8px;border-radius:99px;white-space:nowrap}
.pill.mvp{background:rgba(79,191,168,.16);color:#4FBFA8}
.pill.adapt{background:rgba(232,160,92,.16);color:var(--quente)}
.pill.ext{background:rgba(79,125,240,.16);color:#9DB8F5}
.pill.f2{background:rgba(139,148,171,.14);color:var(--tinta-2)}
.pill.out{background:rgba(224,128,128,.14);color:#E08080}
.pill.novo{background:rgba(139,123,216,.18);color:#CFC6F2}
.pill.k{background:rgba(79,125,240,.13);color:#9DB8F5}
.pill.ku{background:rgba(232,160,92,.13);color:var(--quente)}
.pill.l{background:rgba(139,123,216,.15);color:#CFC6F2}
.pill.q{background:rgba(79,191,168,.13);color:#4FBFA8}

/* ── tabelas (spec) ─────────────────────────────────────────── */
.tabela-wrap{overflow-x:auto;border-radius:14px;margin-top:26px}
table.spec{border-collapse:collapse;width:100%;font-size:.88rem;min-width:760px}
table.spec th{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tinta-3);text-align:left;padding:10px 14px;border-bottom:1px solid var(--linha)}
table.spec td{padding:11px 14px;border-bottom:1px solid var(--linha);vertical-align:top;color:var(--tinta-2)}
table.spec td:nth-child(2){color:var(--tinta)}
table.spec tr:hover td{background:rgba(79,125,240,.05)}
table.spec td.num{font-family:var(--f-mono);color:var(--tinta-3);font-size:.76rem}
tr.grupo td{background:var(--fundo-2)!important;font-family:var(--f-mono);font-size:.68rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2);padding:8px 14px}

pre.contrato{background:var(--fundo-2);border:1px solid var(--linha);border-radius:14px;
  padding:20px 22px;font-family:var(--f-mono);font-size:.78rem;line-height:1.6;
  overflow-x:auto;color:var(--tinta-2);margin-top:26px}
pre.contrato b{color:var(--tinta)}

/* ── stats/números ──────────────────────────────────────────── */
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:44px}
.numeros .num-v{font-family:var(--f-display);font-size:2.4rem;color:var(--tinta)}
.numeros .num-l{font-size:.82rem;color:var(--tinta-2);margin-top:4px;line-height:1.5}

.cta{display:inline-block;margin-top:34px;padding:17px 40px;border-radius:99px;background:var(--tinta);
  color:var(--fundo);text-decoration:none;font-weight:650;font-size:1.05rem;
  transition:transform .2s,box-shadow .2s}
.cta:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(244,246,251,.18)}

footer.fim{border-top:1px solid var(--linha);padding:36px 28px;display:flex;
  justify-content:space-between;align-items:center;color:var(--tinta-3);font-size:.82rem;flex-wrap:wrap;gap:12px}
footer.fim .marca{font-family:var(--f-display);color:var(--tinta-2);font-size:1rem}

.revelar{opacity:0;transform:translateY(28px)}
@media (prefers-reduced-motion: reduce){ .revelar{opacity:1;transform:none} .vidro::after{display:none} }
