/* 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. */
/* fontes hospedadas no próprio site (OFL; pacotes @fontsource): Onest (só a marca: "gocode" e o nome dos sistemas), Schibsted Grotesk e JetBrains Mono */
@font-face { font-family: 'Onest'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('fonts/onest-latin-wght-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Onest'; font-style: normal; font-display: swap; font-weight: 100 900; src: url('fonts/onest-latin-ext-wght-normal.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Schibsted Grotesk'; font-style: normal; font-display: swap; font-weight: 400 900; src: url('fonts/schibsted-grotesk-latin-wght-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Schibsted Grotesk'; font-style: normal; font-display: swap; font-weight: 400 900; src: url('fonts/schibsted-grotesk-latin-ext-wght-normal.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-display: swap; font-weight: 100 800; src: url('fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-display: swap; font-weight: 100 800; src: url('fonts/jetbrains-mono-latin-ext-wght-normal.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
: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 arredondados, cantos de 30%, cada um no degradê da família) e marca ("gocode" em Onest 800) */
.gc-simb { --t: 30px; width: var(--t); height: var(--t); display: inline-grid; grid-template-columns: 1fr 1fr; gap: calc(var(--t) * .06); flex: none; }
.gc-simb i { border: 1.5px solid var(--gc-borda-simb); border-radius: calc(var(--t) * .141); }
.gc-simb i.on { background: linear-gradient(45deg, var(--c), var(--c2, 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: inline-block; white-space: nowrap; font: 800 26px/1 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: -.04em; }
.gc-nome span { font-weight: 500; letter-spacing: -.01em; color: var(--gc-sec); }
.gc-nome.duas-linhas span { display: block; font-size: .6em; margin-top: .12em; }

/* ---------- 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 span { color: #A3ADC2; }
.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: 32px 28px; display: flex; align-items: center; gap: 16px; --gc-borda-simb: #2B3245; container-type: inline-size; min-width: 0; }
.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 13px 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, .gc-fam-cab + .gc-loja-sis { 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-fill, minmax(min(100%, 300px), 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: 16px; }
.gc-plano .gc-check { font-size: 16px; }
.gc-plano .gc-check li::before { background: var(--bl); }
.gc-plano .opc { font-size: 15px; 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; }
/* "Atende": os segmentos de cada sistema, em chips */
.gc-atende { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; max-width: 680px; }
.gc-atende b { width: 100%; font: 400 12px var(--gc-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--gc-sec); margin-bottom: 2px; }
.gc-atende a { font-size: 14px; padding: 5px 12px; border: 1px solid var(--gc-borda); border-radius: 999px; background: var(--gc-cartao); color: var(--gc-texto); text-decoration: none; transition: border-color .2s, color .2s; }
.gc-atende a:hover { border-color: var(--bl); color: var(--bl); }
[data-tema=dark] .gc-atende a:hover { border-color: var(--bl-esc); color: var(--bl-esc); }
.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: 14px; }
.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: 14px; 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: 14px; }
.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; } }

/* /sob-medida: funções e estimativa de orçamento */
.gc-funcoes { border: 0; padding: 0; margin: 0; min-width: 0; }
.gc-funcoes legend { font-weight: 600; font-size: 15px; color: var(--gc-texto); padding: 0; margin-bottom: 8px; }
.gc-funcoes legend small { font-weight: 400; color: var(--gc-sec); }
.gc-funcoes-lista { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.gc-opcao { display: flex; gap: 10px; align-items: center; min-height: 48px; padding: 10px 14px; border: 1px solid var(--gc-borda); border-radius: var(--gc-r-c); background: var(--gc-fundo); color: var(--gc-texto); font-size: 15px; cursor: pointer; }
.gc-opcao input { width: 18px; height: 18px; flex: none; accent-color: var(--gc-pri); }
.gc-opcao:has(input:checked) { border-color: var(--gc-texto); background: var(--gc-cartao); }
.gc-estimativa { background: var(--gc-fundo-2); border: 1px dashed var(--gc-borda); border-radius: var(--gc-r-m); padding: 18px 20px; gap: 6px; }
.gc-estimativa.tem { border-style: solid; border-color: var(--gc-texto); }
.gc-est-valor { color: var(--gc-texto); display: grid; gap: 2px; }
.gc-est-valor b { font: 500 clamp(22px, 3vw, 28px)/1.2 var(--gc-mono); letter-spacing: -.02em; }
.gc-est-valor span { color: var(--gc-texto-2); }

/* /casos: sistemas entregues */
.gc-casos { display: grid; gap: 40px; }
.gc-caso { background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); overflow: hidden; display: grid; }
@media (min-width: 900px) { .gc-caso.com-img { grid-template-columns: 1.15fr 1fr; } }
.gc-caso-imgs { display: grid; gap: 8px; padding: 8px; background: var(--gc-fundo-2); align-content: start; }
.gc-caso-imgs a { display: block; border-radius: var(--gc-r-b); overflow: hidden; background: var(--gc-cartao); }
.gc-caso-imgs img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 10; }
.gc-caso-mini { display: grid; gap: 8px; grid-template-columns: repeat(3, 1fr); }
.gc-caso-mini img { aspect-ratio: 4 / 3; }
.gc-caso-corpo { padding: clamp(24px, 4vw, 40px); display: flex; flex-direction: column; gap: 14px; }
.gc-caso-corpo h2 { font-size: clamp(26px, 3.4vw, 36px); }
.gc-caso-corpo > p { white-space: pre-line; }
.gc-depoimento { margin: 8px 0 0; padding: 20px 22px; border-left: 4px solid var(--gc-texto); background: var(--gc-fundo); border-radius: 0 var(--gc-r-m) var(--gc-r-m) 0; }
.gc-depoimento p { color: var(--gc-texto); font-size: 18px; white-space: pre-line; }
.gc-depoimento footer { margin-top: 10px; font: 400 13px var(--gc-mono); color: var(--gc-sec); }
.gc-vazio { text-align: center; display: grid; gap: 16px; justify-items: center; padding: clamp(40px, 8vw, 80px) 24px; }
.gc-vazio .gc-simb { --t: 54px; }

/* /chamados: suporte do cliente sob medida */
.gc-chamados { display: grid; gap: 24px; }
.gc-cham-lista { display: grid; gap: 10px; }
.gc-cham-item { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: space-between; align-items: center; padding: 16px 18px; border: 1px solid var(--gc-borda); border-radius: var(--gc-r-m); background: var(--gc-cartao); color: var(--gc-texto); text-decoration: none; }
.gc-cham-item:hover { border-color: var(--gc-texto); color: var(--gc-texto); }
.gc-cham-item small { color: var(--gc-sec); font: 400 13px var(--gc-mono); }
.gc-conversa { display: grid; gap: 12px; }
.gc-fala { max-width: 85%; padding: 14px 16px; border-radius: var(--gc-r-m); background: var(--gc-cartao); border: 1px solid var(--gc-borda); }
.gc-fala.eu { justify-self: end; background: var(--gc-fundo-2); }
.gc-fala small { display: block; font: 400 12px var(--gc-mono); color: var(--gc-sec); margin-bottom: 6px; }
.gc-fala p { white-space: pre-wrap; color: var(--gc-texto); overflow-wrap: anywhere; }
.gc-sit { display: inline-block; padding: 4px 10px; border-radius: 8px; font-size: 14px; font-weight: 600; white-space: nowrap; background: var(--gc-fundo-2); color: var(--gc-texto); }
.gc-sit.aberto { background: #FFF3D6; color: #7A4B00; }
.gc-sit.respondido { background: #E6ECFD; color: #1E3FB0; }
[data-tema=dark] .gc-sit.aberto { background: #33270B; color: #F2C66B; }
[data-tema=dark] .gc-sit.respondido { background: #16224A; color: #9DB4FF; }

/* ---------- arquitetura de marca: famílias, ícone e logo de cada sistema */
.gc-ico { --t: 30px; width: var(--t); height: var(--t); display: inline-block; flex: none; line-height: 0; }
.gc-ico svg { display: block; width: 100%; height: 100%; }
.gc-logo { --t: 44px; display: inline-flex; align-items: center; gap: calc(var(--t) * .3); color: var(--gc-texto); text-decoration: none; }
.gc-logo > .gc-ico { --t: inherit; }
.gc-logo-nome { display: flex; flex-direction: column; margin: 0; font: 800 calc(var(--t) * .6)/.95 var(--gc-sans); letter-spacing: -.035em; color: inherit; }
/* logo de sistema GoCode: "gocode" (Onest 800) + nome (Onest 500, cinza) na mesma linha, texto com 0,8 do ícone */
.gc-logo-nome.gc-logo-gocode { display: block; white-space: nowrap; font: 800 calc(var(--t) * .8)/1 'Onest', system-ui, -apple-system, 'Segoe UI', sans-serif; letter-spacing: -.04em; }
.gc-logo-gocode .gc-logo-sis { font-weight: 500; letter-spacing: -.01em; color: #6B7280; }
[data-tema=dark] .gc-logo-gocode .gc-logo-sis { color: #A3ADC2; }
.gc-logo.gc-logo { gap: calc(var(--t) * .26); }
.gc-logo.escuro { color: #F4F4F1; } .gc-logo.escuro .gc-logo-sis { color: #A3ADC2; }

/* menu do topo: botão "Sistemas" e o painel por família */
.gc-menu { align-items: center; }
.gc-topo-in { position: relative; }
.gc-menu-bt { display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border-radius: var(--gc-r-c); border: 0; background: none; color: var(--gc-texto-2); font: 500 16px var(--gc-sans); cursor: pointer; }
.gc-menu-bt:hover, .gc-menu-bt[aria-expanded=true] { background: var(--gc-fundo-2); color: var(--gc-texto); }
.gc-menu-bt .bi { font-size: 12px; transition: transform .15s; }
.gc-menu-bt[aria-expanded=true] .bi { transform: rotate(180deg); }
.gc-painel-sis { position: absolute; top: calc(100% - 4px); left: 24px; right: 24px; background: var(--gc-cartao); border: 1px solid var(--gc-borda); border-radius: var(--gc-r); box-shadow: var(--gc-sombra); padding: 24px; z-index: 60; }
.gc-painel-sis[hidden] { display: none; }
.gc-painel-grade { display: grid; gap: 20px 24px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.gc-painel-fam { display: grid; gap: 4px; align-content: start; }
.gc-painel-rot { font: 500 12px/1.4 var(--gc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--fl); padding: 0 10px 8px; border-bottom: 2px solid var(--fc); margin-bottom: 6px; }
[data-tema=dark] .gc-painel-rot { color: var(--fl-esc); }
.gc-painel-rot.neutro { --fc: var(--gc-borda); color: var(--gc-sec); }
.gc-menu a.gc-painel-item, .gc-painel-item { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: var(--gc-r-b); color: var(--gc-texto); text-decoration: none; font-weight: 400; }
.gc-painel-item:hover, .gc-painel-item:focus-visible { background: var(--gc-fundo-2); color: var(--gc-texto); }
.gc-painel-item .gc-ico { --t: 38px; }
.gc-painel-item b { display: block; font-weight: 800; font-size: 16px; letter-spacing: -.01em; line-height: 1.2; }
.gc-painel-item small { display: block; color: var(--gc-sec); font-size: 14px; line-height: 1.35; }
.gc-painel-pe { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; align-items: center; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--gc-linha); }
.gc-painel-outras { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.gc-menu .gc-painel-outras a { display: inline-flex; gap: 8px; align-items: center; padding: 6px 8px; font-size: 15px; font-weight: 600; color: var(--gc-texto); }
.gc-painel-outras .gc-ico { --t: 22px; }
.gc-menu a.gc-painel-todos { font-weight: 600; color: var(--gc-texto); padding: 6px 8px; }

/* menu do celular: os sistemas viram lista, por família */
.gc-cel-tit { display: block; font: 500 12px var(--gc-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--gc-sec); padding: 14px 4px 4px; }
.gc-cel-fam { display: grid; gap: 2px; padding: 10px 0 6px; }
.gc-cel-fam .gc-painel-rot { padding: 0 4px 6px; margin-bottom: 2px; }
.gc-menu-cel .gc-cel-fam a.gc-painel-item { display: flex; padding: 10px 4px; border-bottom: 0; font-weight: 400; }
.gc-cel-links { margin-top: 8px; border-top: 1px solid var(--gc-linha); }
.menu-aberto .gc-menu-cel { max-height: calc(100vh - 77px); max-height: calc(100dvh - 77px); overflow-y: auto; overscroll-behavior: contain; }

/* rodapé: ícone pequeno nos links dos sistemas */
.gc-familia-links .gc-ico { --t: 20px; }

/* página inicial e loja: uma seção por família */
.gc-fam-bloco { margin-top: 56px; }
.gc-fam-bloco:first-child { margin-top: 0; }
.gc-fam-cab { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding-bottom: 14px; margin-bottom: 24px; border-bottom: 3px solid var(--fc); }
.gc-fam-nome { font: 500 14px/1.4 var(--gc-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--fl); display: inline-flex; align-items: center; gap: 10px; }
.gc-fam-nome::before { content: ''; width: 14px; height: 14px; border-radius: 4px; background: var(--fc); }
[data-tema=dark] .gc-fam-nome { color: var(--fl-esc); }
.gc-fam-ideia { color: var(--gc-sec); font-size: 16px; }
.gc-fam-bloco.neutro { --fc: var(--gc-borda); --fl: var(--gc-sec); --fl-esc: var(--gc-sec); }
.gc-fam-bloco.neutro .gc-fam-nome::before { display: none; }
.gc-sis-capa .gc-logo { --t: clamp(28px, 10.5cqi, 38px); max-width: 100%; }
.gc-loja-cab .gc-logo { --t: 60px; }
.gc-cartao .gc-logo { --t: 40px; }
.gc-loja-atalhos { display: grid; gap: 12px 28px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); margin-top: 32px; }
.gc-loja-atalhos .gc-painel-item .gc-ico { --t: 32px; }
.gc-loja-fam .gc-loja-sis:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 575.98px) { .gc-loja-cab .gc-logo { --t: 46px; } }
.gc-familias { display: grid; gap: 56px 32px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); }
.gc-familias > .gc-fam-bloco { margin-top: 0; }
.gc-familias > .gc-fam-bloco.larga { grid-column: 1 / -1; }
.gc-sis-corpo .gc-etiqueta { align-self: flex-start; }
