/* Site da GoCode Systems: identidade "marca-mãe" (guia de identidade v0.1).
   Claro: fundo papel #F4F4F1, cartão branco, borda #C9C9C2, texto marinho #0B1020, secundário #545A66.
   Escuro: fundo marinho #0B1020, cartão #121830, borda #2B3245, texto papel #F4F4F1, secundário #A3A9B8.
   A cor de cada sistema aparece só nos botões, links, gráficos e no símbolo dele. */
:root {
  --gc-marinho: #0B1020; --gc-papel: #F4F4F1;
  --gc-fundo: #F4F4F1; --gc-fundo-2: #ECECE7; --gc-cartao: #FFFFFF; --gc-cel: #F4F4F1;
  --gc-borda: #C9C9C2; --gc-linha: #DEDED8; --gc-texto: #0B1020; --gc-texto-2: #2B3245; --gc-sec: #545A66;
  --gc-pri: #0B1020; --gc-pri-txt: #F4F4F1; --gc-link: #1E3FB0;
  --gc-borda-simb: #C9C9C2; --gc-papel-simb: #0B1020;
  --gc-sombra: 0 16px 40px -18px rgba(11, 16, 32, .25);
  --gc-sans: 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --gc-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --gc-r: 20px; --gc-r-m: 14px; --gc-r-b: 12px; --gc-r-c: 10px;
  color-scheme: light;
}
[data-tema=dark] {
  --gc-fundo: #0B1020; --gc-fundo-2: #0E1428; --gc-cartao: #121830; --gc-cel: #0B1020;
  --gc-borda: #2B3245; --gc-linha: #1E2436; --gc-texto: #F4F4F1; --gc-texto-2: #C3C8D4; --gc-sec: #A3A9B8;
  --gc-pri: #F4F4F1; --gc-pri-txt: #0B1020; --gc-link: #7C9BFF;
  --gc-borda-simb: #2B3245; --gc-papel-simb: #F4F4F1;
  --gc-sombra: 0 16px 40px -16px rgba(0, 0, 0, .8);
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; }
body { margin: 0; background: var(--gc-fundo); color: var(--gc-texto-2); font: 400 17px/1.6 var(--gc-sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, h4 { color: var(--gc-texto); margin: 0; line-height: 1.1; }
h1 { font-size: clamp(38px, 6vw, 68px); font-weight: 800; letter-spacing: -.04em; line-height: 1.02; }
h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 800; letter-spacing: -.03em; }
h3 { font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
p { margin: 0; }
a { color: var(--gc-link); }
a:hover { color: var(--gc-texto); }
img { max-width: 100%; }
:focus-visible { outline: 2px solid var(--gc-texto); outline-offset: 3px; border-radius: 4px; }
.gc-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.gc-wrap.estreito { max-width: 860px; }
.gc-rotulo { font: 400 13px/1.4 var(--gc-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--gc-sec); }
.gc-rotulo.cor { color: var(--gc-link); }
.gc-lead { font-size: clamp(17px, 2vw, 20px); line-height: 1.55; color: var(--gc-sec); max-width: 620px; }
.gc-mono { font-family: var(--gc-mono); font-weight: 500; }
.gc-pular { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--gc-pri); color: var(--gc-pri-txt); padding: 10px 16px; border-radius: var(--gc-r-c); }
.gc-pular:focus { left: 8px; }

/* ---------- botões */
.gc-b { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: var(--gc-r-b);
  font: 600 16px/1 var(--gc-sans); text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: background .15s, border-color .15s, color .15s; white-space: nowrap; }
.gc-b.lg { min-height: 54px; padding: 0 26px; }
.gc-b.pri { background: var(--gc-pri); color: var(--gc-pri-txt); }
.gc-b.pri:hover { background: color-mix(in srgb, var(--gc-pri) 86%, var(--gc-sec)); color: var(--gc-pri-txt); }
.gc-b.sec { background: var(--gc-cartao); color: var(--gc-texto); border-color: var(--gc-borda); }
.gc-b.sec:hover { border-color: var(--gc-texto); color: var(--gc-texto); }
.gc-b.sis { background: var(--bc); color: #fff; }
.gc-b.sis:hover { background: color-mix(in srgb, var(--bc) 85%, #000); color: #fff; }
.gc-b.full { width: 100%; }
.gc-acoes { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- símbolo (quatro módulos) e marca */
.gc-simb { --t: 30px; width: var(--t); height: var(--t); display: inline-grid; grid-template-columns: 1fr 1fr; gap: calc(var(--t) * .1); flex: none; }
.gc-simb i { border: 1.5px solid var(--gc-borda-simb); border-radius: calc(var(--t) * .14); }
.gc-simb i.gc-m2 { border-radius: calc(var(--t) * .14) calc(var(--t) * .14) calc(var(--t) * .14) calc(var(--t) * .45); }
.gc-simb i.gc-m3 { border-radius: calc(var(--t) * .14) calc(var(--t) * .45) calc(var(--t) * .14) calc(var(--t) * .14); }
.gc-simb i.on { background: var(--c); border-color: transparent; }
.gc-simb.g { --t: 64px; } .gc-simb.xg { --t: 110px; }
.gc-marca { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--gc-texto); }
.gc-marca:hover { color: var(--gc-texto); }
.gc-nome { display: flex; flex-direction: column; font-size: 26px; font-weight: 800; letter-spacing: -.045em; line-height: .9; }
.gc-nome small { font: 400 9px/1 var(--gc-mono); letter-spacing: .34em; text-transform: uppercase; color: var(--gc-sec); margin-top: 5px; }

/* ---------- topo */
.gc-topo { position: sticky; top: 0; z-index: 50; background: var(--gc-fundo); border-bottom: 1px solid var(--gc-linha); }
.gc-topo-in { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.gc-menu { display: none; gap: 4px; margin-left: auto; }
.gc-menu a { padding: 10px 14px; border-radius: var(--gc-r-c); color: var(--gc-texto-2); text-decoration: none; font-weight: 500; font-size: 16px; }
.gc-menu a:hover { background: var(--gc-fundo-2); color: var(--gc-texto); }
.gc-menu a[aria-current] { color: var(--gc-texto); font-weight: 700; }
.gc-topo-acoes { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.gc-tema, .gc-burger { width: 46px; height: 46px; border-radius: var(--gc-r-c); border: 1px solid var(--gc-borda); background: var(--gc-cartao); color: var(--gc-texto); display: grid; place-items: center; font-size: 18px; cursor: pointer; }
.gc-sol { display: none; } [data-tema=dark] .gc-sol { display: inline; } [data-tema=dark] .gc-lua { display: none; }
.gc-menu-cel { display: none; padding: 8px 24px 20px; border-top: 1px solid var(--gc-linha); }
.gc-menu-cel a:not(.gc-b) { display: block; padding: 14px 4px; color: var(--gc-texto); text-decoration: none; font-weight: 600; border-bottom: 1px solid var(--gc-linha); }
.gc-menu-cel .gc-b { margin-top: 14px; width: 100%; }
.menu-aberto .gc-menu-cel { display: block; }
.gc-so-pc { display: none; }
@media (min-width: 900px) {
  .gc-menu { display: flex; } .gc-topo-acoes { margin-left: 8px; } .gc-burger { display: none; } .gc-so-pc { display: inline-flex; }
  .menu-aberto .gc-menu-cel { display: none; }
}

/* ---------- seções */
.gc-sec { padding: clamp(64px, 9vw, 112px) 0; }
.gc-sec.alt { background: var(--gc-fundo-2); }
.gc-sec.marinho { background: var(--gc-marinho); color: #C3C8D4; --gc-texto: #F4F4F1; --gc-sec: #A3A9B8; --gc-cartao: #121830; --gc-borda: #2B3245; --gc-linha: #1E2436; --gc-cel: #0B1020; --gc-link: #7C9BFF; --gc-pri: #F4F4F1; --gc-pri-txt: #0B1020; --gc-borda-simb: #2B3245; --gc-papel-simb: #F4F4F1; }
[data-tema=dark] .gc-sec.marinho { border-top: 1px solid #1E2436; border-bottom: 1px solid #1E2436; }
.gc-tit { max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); display: grid; gap: 14px; }
.gc-tit.centro { margin-left: auto; margin-right: auto; text-align: center; justify-items: center; }

/* ---------- capa */
.gc-capa { padding: clamp(56px, 9vw, 112px) 0 clamp(56px, 8vw, 96px); }
.gc-capa-in { display: grid; gap: 48px; align-items: center; }
@media (min-width: 992px) { .gc-capa-in { grid-template-columns: 1.15fr .85fr; } }
.gc-capa h1 { margin: 18px 0 22px; }
.gc-capa .gc-acoes { margin-top: 32px; }
.gc-capa-arte { background: var(--gc-marinho); border-radius: var(--gc-r); min-height: 380px; display: grid; place-items: center; padding: 40px; position: relative; overflow: hidden; --gc-borda-simb: #2B3245; --gc-papel-simb: #F4F4F1; }
.gc-capa-arte .gc-nome { color: #F4F4F1; font-size: 64px; }
.gc-capa-arte .gc-nome small { color: #A3A9B8; font-size: 15px; margin-top: 8px; }
.gc-capa-arte .gc-marca { gap: 22px; }
.gc-capa-arte .legenda { position: absolute; left: 24px; right: 24px; bottom: 20px; display: flex; justify-content: space-between; font: 400 12px var(--gc-mono); color: #A3A9B8; letter-spacing: .06em; }
@media (max-width: 575.98px) { .gc-capa-arte { min-height: 260px; } .gc-capa-arte .gc-nome { font-size: 44px; } .gc-simb.xg { --t: 76px; } }

/* ---------- caminhos (sob medida x prontos) */
.gc-caminhos { display: grid; gap: 24px; }
@media (min-width: 860px) { .gc-caminhos { grid-template-columns: 1fr 1fr; } }
.gc-caminho { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); padding: clamp(28px, 4vw, 40px); display: flex; flex-direction: column; gap: 16px; }
.gc-caminho h3 { font-size: clamp(24px, 3vw, 30px); font-weight: 800; letter-spacing: -.03em; }
.gc-caminho .gc-b { margin-top: auto; align-self: flex-start; }

/* ---------- listas e cartões */
.gc-check { list-style: none; padding: 0; margin: 4px 0 8px; display: grid; gap: 10px; }
.gc-check li { display: flex; gap: 10px; align-items: flex-start; color: var(--gc-texto); }
.gc-check li::before { content: ''; flex: none; width: 18px; height: 18px; margin-top: 4px; border-radius: 5px; background: var(--gc-texto);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 3.5 6 11 2.5 7.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.5 3.5 6 11 2.5 7.5' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.gc-grade { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.gc-cartao { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.gc-cartao > i.bi { font-size: 24px; color: var(--gc-texto); width: 48px; height: 48px; border-radius: var(--gc-r-m); background: var(--gc-cel); border: 1px solid var(--gc-linha); display: grid; place-items: center; margin-bottom: 6px; }
.gc-cartao p { color: var(--gc-sec); font-size: 16px; }

/* ---------- passos */
.gc-passos { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); counter-reset: passo; }
.gc-passo { border-top: 2px solid var(--gc-texto); padding-top: 18px; display: grid; gap: 8px; }
.gc-passo::before { counter-increment: passo; content: '0' counter(passo); font: 500 14px var(--gc-mono); color: var(--gc-sec); letter-spacing: .08em; }
.gc-passo p { color: var(--gc-sec); font-size: 16px; }

/* ---------- vitrine dos sistemas */
.gc-sistemas { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.gc-sis { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); overflow: hidden; display: flex; flex-direction: column; }
.gc-sis-capa { background: var(--gc-marinho); padding: 36px 28px; display: flex; align-items: center; gap: 16px; --gc-borda-simb: #2B3245; }
.gc-sis-capa .gc-simb { --t: 54px; }
.gc-sis-capa b { display: block; color: #F4F4F1; font-size: 34px; font-weight: 800; letter-spacing: -.035em; line-height: 1; }
.gc-sis-capa small { display: block; font: 400 11px var(--gc-mono); letter-spacing: .24em; text-transform: uppercase; color: #A3A9B8; margin-top: 6px; }
.gc-sis-corpo { padding: 26px 28px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.gc-sis-corpo h3 { font-size: 24px; font-weight: 800; }
.gc-sis-corpo > p { color: var(--gc-sec); font-size: 16px; }
.gc-preco { font: 500 28px/1.1 var(--gc-mono); color: var(--gc-texto); letter-spacing: -.02em; }
.gc-preco small { font: 400 14px var(--gc-sans); color: var(--gc-sec); letter-spacing: 0; }
.gc-sis-corpo .gc-acoes { margin-top: auto; padding-top: 8px; }
.gc-etiqueta { display: inline-flex; align-items: center; font: 400 12px var(--gc-mono); padding: 6px 10px; border-radius: 8px; background: var(--gc-cel); color: var(--gc-sec); border: 1px solid var(--gc-linha); }

/* ---------- loja: bloco de cada sistema e os planos */
.gc-loja-sis { padding-top: 56px; margin-top: 56px; border-top: 1px solid var(--gc-borda); }
.gc-loja-sis:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.gc-loja-cab { display: grid; gap: 24px; align-items: center; margin-bottom: 32px; }
@media (min-width: 900px) { .gc-loja-cab { grid-template-columns: 1fr auto; } }
.gc-loja-cab .gc-marca { gap: 16px; }
.gc-loja-cab .gc-simb { --t: 52px; }
.gc-loja-cab h2 { font-size: clamp(30px, 4vw, 42px); }
.gc-loja-cab h2 span { color: var(--gc-sec); font-weight: 600; }
.gc-loja-cab p { color: var(--gc-sec); margin-top: 8px; max-width: 640px; }
.gc-planos { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: stretch; }
.gc-plano { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); padding: 28px; display: flex; flex-direction: column; gap: 12px; position: relative; }
.gc-plano.dest { border: 2px solid var(--bc); }
.gc-plano .selo { position: absolute; top: -12px; left: 24px; font: 500 12px var(--gc-mono); background: var(--bc); color: #fff; padding: 5px 10px; border-radius: 8px; }
.gc-plano h3 { font-size: 22px; font-weight: 800; }
.gc-plano > p { color: var(--gc-sec); font-size: 15px; }
.gc-plano .gc-check { font-size: 15px; }
.gc-plano .gc-check li::before { background: var(--bl); }
.gc-plano .opc { font-size: 14px; color: var(--gc-sec); display: grid; gap: 4px; }
.gc-plano .opc b { font: 400 12px var(--gc-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--gc-sec); }
.gc-plano .gc-b { margin-top: auto; }
[data-tema=dark] .gc-plano .gc-check li::before, [data-tema=dark] .gc-loja-sis .gc-rotulo.cor { background-color: var(--bl-esc); }
.gc-loja-sis .gc-rotulo.cor { color: var(--bl); }
[data-tema=dark] .gc-loja-sis .gc-rotulo.cor { color: var(--bl-esc); background: none; }
.gc-aviso { background: var(--gc-cartao); border: 1px dashed var(--gc-borda); border-radius: var(--gc-r); padding: 28px; color: var(--gc-sec); }

/* ---------- formulário */
.gc-form { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); padding: clamp(24px, 4vw, 40px); display: grid; gap: 18px; }
.gc-campos { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.gc-campo { display: grid; gap: 8px; }
.gc-campo.todo { grid-column: 1 / -1; }
.gc-campo label { font-weight: 600; font-size: 15px; color: var(--gc-texto); }
.gc-campo input, .gc-campo select, .gc-campo textarea { width: 100%; min-height: 50px; padding: 12px 14px; border-radius: var(--gc-r-c); border: 1px solid var(--gc-borda); background: var(--gc-fundo); color: var(--gc-texto); font: 400 16px var(--gc-sans); }
.gc-campo textarea { min-height: 140px; resize: vertical; }
.gc-campo input:focus, .gc-campo select:focus, .gc-campo textarea:focus { outline: 2px solid var(--gc-texto); outline-offset: 1px; border-color: var(--gc-texto); }
.gc-campo small { color: var(--gc-sec); font-size: 13px; }
.gc-mel { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gc-msg { border-radius: var(--gc-r-m); padding: 16px 18px; font-weight: 500; }
.gc-msg.ok { background: #E3F4E8; color: #14532D; border: 1px solid #B7E1C3; }
.gc-msg.erro { background: #FDE7E5; color: #8A1C12; border: 1px solid #F5C2BC; }
[data-tema=dark] .gc-msg.ok { background: #10291B; color: #8BE0A7; border-color: #1E4D31; }
[data-tema=dark] .gc-msg.erro { background: #2E1412; color: #FFA59D; border-color: #5C2B2E; }
.gc-lgpd { font-size: 13px; color: var(--gc-sec); }

/* ---------- perguntas */
.gc-faq { display: grid; gap: 12px; }
.gc-faq details { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r-m); }
.gc-faq summary { list-style: none; cursor: pointer; padding: 20px 22px; font-weight: 600; color: var(--gc-texto); display: flex; justify-content: space-between; gap: 16px; min-height: 44px; }
.gc-faq summary::-webkit-details-marker { display: none; }
.gc-faq summary::after { content: '+'; font: 500 20px var(--gc-mono); color: var(--gc-sec); }
.gc-faq details[open] summary::after { content: '−'; }
.gc-faq .r { padding: 0 22px 20px; color: var(--gc-sec); }

/* ---------- chamada final */
.gc-final { background: var(--gc-marinho); border-radius: var(--gc-r); padding: clamp(32px, 5vw, 56px); display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; color: #C3C8D4; }
.gc-final h2 { color: #F4F4F1; font-size: clamp(26px, 3.4vw, 38px); }
.gc-final p { margin-top: 10px; }
.gc-final .gc-b.pri { background: #F4F4F1; color: #0B1020; }
.gc-final .gc-b.sec { background: transparent; color: #F4F4F1; border-color: #2B3245; }
[data-tema=dark] .gc-final { border: 1px solid #1E2436; background: #121830; }

/* ---------- rodapé */
.gc-rodape { border-top: 1px solid var(--gc-linha); padding: 56px 0 calc(28px + env(safe-area-inset-bottom)); font-size: 15px; color: var(--gc-sec); }
.gc-rodape-grade { display: grid; gap: 32px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); }
@media (min-width: 992px) { .gc-rodape-grade { grid-template-columns: 1.6fr 1fr 1fr 1.3fr; } }
.gc-rodape-grade p { margin-top: 16px; max-width: 340px; }
.gc-rodape h4 { font: 400 12px var(--gc-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--gc-sec); margin-bottom: 14px; }
.gc-rodape-grade a, .gc-rodape-grade span { display: block; color: var(--gc-texto-2); text-decoration: none; padding: 5px 0; overflow-wrap: anywhere; }
.gc-rodape-grade a:hover { color: var(--gc-texto); text-decoration: underline; }
.gc-rodape-grade .gc-marca { display: inline-flex; padding: 0; }
.gc-familia { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; margin-top: 44px; padding: 24px 0; border-top: 1px solid var(--gc-linha); }
.gc-familia-links { display: flex; flex-wrap: wrap; gap: 10px; }
.gc-familia-links a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--gc-borda); border-radius: var(--gc-r-c); color: var(--gc-texto); font-weight: 600; font-size: 14px; text-decoration: none; }
.gc-familia-links a:hover { border-color: var(--gc-texto); color: var(--gc-texto); }
.gc-quad { width: 12px; height: 12px; border-radius: 3px; background: var(--c); }
.gc-quad.gc-q2 { border-radius: 3px 3px 3px 6px; } .gc-quad.gc-q3 { border-radius: 3px 6px 3px 3px; }
.gc-rodape-fim { display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--gc-linha); font-size: 13px; }
.gc-rodape-fim a { color: var(--gc-sec); }

/* ---------- WhatsApp flutuante */
.gc-wa { position: fixed; right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); z-index: 60; width: 56px; height: 56px; border-radius: 16px; background: #1F9D55; color: #fff; display: grid; place-items: center; font-size: 26px; box-shadow: var(--gc-sombra); }
.gc-wa:hover { color: #fff; background: #17834A; }

/* ---------- texto longo (privacidade) */
.gc-texto h2 { font-size: 24px; margin: 36px 0 12px; }
.gc-texto p, .gc-texto li { color: var(--gc-texto-2); margin-bottom: 12px; }

/* ---------- celular e acessibilidade */
@media (max-width: 575.98px) {
  .gc-wrap { padding: 0 20px; }
  .gc-acoes .gc-b { flex: 1 1 100%; }
  .gc-nome { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
