/* ============================================================
   JYNX — /sobre and /contato styles  (reuses .phero/.pagecta from svc.css)
   ============================================================ */

/* ---------- sobre: o que fazemos + stats ---------- */
.about-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
.about-stat { padding: 34px 30px; }
.about-stat:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.about-stat__num { font-family: var(--font-display); font-weight: 700; font-size: clamp(3rem, 5vw, 4.4rem); line-height: 1; color: var(--accent); letter-spacing: -0.04em; }
.about-stat__label { margin-top: 12px; color: var(--ink-64); font-size: 1.05rem; }
.about-disc { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; font-size: .92rem; color: var(--ink-48); }
.about-disc svg { flex-shrink: 0; }

/* ---------- autoridade ---------- */
.about-auth__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 52px; }
.about-auth__card { padding: 26px; }
.about-auth__card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--accent) 30%, var(--hair)); }
.about-auth__ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: var(--ink); color: var(--bg); margin-bottom: 18px; }
.about-auth__card h3 { font-size: 1.3rem; }
.about-auth__card p { margin-top: 8px; color: var(--ink-64); font-size: .98rem; }
.about-auth__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
@media (max-width: 900px) { .about-auth__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .about-auth__grid { grid-template-columns: 1fr; } }

/* ---------- para quem é ideal ---------- */
.about-fit__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
.about-fit__card { padding: 30px; }
.about-fit__card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.about-fit__ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--accent-12); color: var(--accent); margin-bottom: 20px; transition: transform .25s; }
.about-fit__card:hover .about-fit__ic { transform: scale(1.08) rotate(-4deg); }
.about-fit__card h3 { font-size: 1.32rem; }
.about-fit__card p { margin-top: 10px; color: var(--ink-64); }
@media (max-width: 820px) { .about-fit__grid { grid-template-columns: 1fr; } }
@media (max-width: 820px) { .about-stats { grid-template-columns: 1fr; } }

/* ---------- prova logos ---------- */
.about-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 28px 54px; margin-top: 56px; padding-top: 44px; border-top: 1px solid var(--hair); }
.about-logos .proof__logo { font-size: 1.5rem; }

/* ---------- unidades / lgpd ---------- */
.about-units__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.about-unit { padding: 28px; display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; text-decoration: none; }
.about-unit:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--accent) 30%, var(--hair)); }
.about-unit__ic { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; background: var(--ink); color: var(--bg); }
.about-unit h3 { font-size: 1.28rem; display: inline-flex; align-items: center; gap: 7px; }
.about-unit h3 svg { color: var(--ink-28); transition: color .2s, transform .2s; }
.about-unit:hover h3 svg { color: var(--accent); transform: translate(2px, -2px); }
.about-unit p { margin-top: 6px; color: var(--ink-64); font-size: .98rem; }
.about-lgpd { display: flex; align-items: center; gap: 10px; margin: 28px auto 0; font-size: 1rem; color: var(--ink-64); }
.about-lgpd svg { color: #1F8A5B; flex-shrink: 0; }
@media (max-width: 760px) { .about-units__grid { grid-template-columns: 1fr; } }

/* ---------- contato paths ---------- */
.ct-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ct-path { padding: 32px; text-decoration: none; display: flex; flex-direction: column; }
.ct-path:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--accent) 32%, var(--hair)); }
.ct-path__ic { width: 56px; height: 56px; border-radius: 15px; display: grid; place-items: center; background: var(--accent-12); color: var(--accent); margin-bottom: 20px; }
.ct-path__ic--wa { background: color-mix(in srgb, #25D366 16%, var(--bg)); color: #128C3E; }
.ct-path h3 { font-size: 1.5rem; }
.ct-path p { margin-top: 10px; color: var(--ink-64); flex: 1; }
.ct-path__cta { margin-top: 20px; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--ink); transition: gap .2s, color .2s; }
.ct-path:hover .ct-path__cta { color: var(--accent); gap: 12px; }
@media (max-width: 720px) { .ct-paths { grid-template-columns: 1fr; } }

/* ---------- contato form + info ---------- */
.ct-grid { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: clamp(28px, 4vw, 56px); margin-top: 48px; align-items: start; }
.ct-formwrap h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); }
.ct-formsub { margin-top: 10px; color: var(--ink-64); }
.cform { padding: 28px; margin-top: 24px; display: flex; flex-direction: column; gap: 16px; }
.cform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cform label { display: flex; flex-direction: column; gap: 7px; font-weight: 600; font-size: .92rem; color: var(--ink-80); }
.cform input, .cform textarea { font-family: var(--font-body); font-size: 1rem; color: var(--ink); background: var(--bg-alt); border: 1px solid var(--hair); border-radius: var(--r-sm); padding: 12px 14px; transition: border-color .18s, box-shadow .18s, background .18s; resize: vertical; }
.cform input::placeholder, .cform textarea::placeholder { color: var(--ink-28); font-weight: 400; }
.cform input:focus, .cform textarea:focus { outline: none; border-color: var(--accent); background: var(--bg); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent); }
.cform .btn { margin-top: 4px; align-self: flex-start; }
.cform__note { font-size: .82rem; color: var(--ink-48); }
/* consentimento LGPD */
.cform__consent { flex-direction: row; align-items: flex-start; gap: 12px; font-weight: 400; font-size: .88rem; color: var(--ink-64); cursor: pointer; padding: 8px 0; }
.cform__consent input { width: 22px; height: 22px; flex-shrink: 0; margin-top: 0; accent-color: var(--accent); cursor: pointer; }
.cform__consent a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
/* erro com fallback */
.cform__err { display: flex; gap: 9px; align-items: flex-start; padding: 12px 14px; border-radius: var(--r-sm); background: color-mix(in srgb, #d92d20 8%, var(--bg)); border: 1px solid color-mix(in srgb, #d92d20 28%, transparent); color: var(--ink); font-size: .9rem; line-height: 1.45; }
.cform__err svg { flex-shrink: 0; color: #d92d20; margin-top: 1px; }
.cform__err a { color: var(--accent); font-weight: 600; }
/* sucesso */
.cform--done { align-items: flex-start; text-align: left; gap: 12px; }
.cform__doneic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 15px; background: color-mix(in srgb, #1F8A5B 14%, var(--bg)); color: #1F8A5B; }
.cform--done h3 { font-size: 1.5rem; }
.cform--done p { color: var(--ink-64); }
@media (max-width: 880px) { .ct-grid { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .cform__row { grid-template-columns: 1fr; } }

.ct-info { display: flex; flex-direction: column; gap: 22px; }
.ct-info__item { display: flex; gap: 14px; align-items: flex-start; }
.ct-info__ic { flex-shrink: 0; width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; background: var(--accent-12); color: var(--accent); }
.ct-info__label { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-48); margin-bottom: 3px; }
.ct-info__val { color: var(--ink); font-weight: 500; line-height: 1.5; }
a.ct-info__val:hover { color: var(--accent); }
.ct-info__map { margin-top: 6px; height: 150px; border-radius: var(--r); border: 1px solid var(--hair); background-color: var(--bg-alt); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--ink-48); }
.ct-info__map svg { color: var(--accent); }
.ct-info__map span { font-size: .9rem; font-weight: 600; }

/* ============================ /sobre v2 ============================
   Seções da especificação "A página Sobre": a cadeia, o bloco de fatos, a
   linha do tempo com os desafios, os quatro desafios e o grupo. */

/* --- a cadeia: processo, automação, dado, informação, decisão --- */
.sb-cadeia__lista { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1000px) { .sb-cadeia__lista { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sb-cadeia__lista { grid-template-columns: 1fr; } }
.sb-cadeia__elo { position: relative; padding: 22px 20px; border: 1px solid var(--hair); border-radius: var(--r); background: var(--bg); }
/* o primeiro elo é onde a JYNX entra, e a página inteira depende disso ficar claro */
.sb-cadeia__elo.is-jynx { border-color: color-mix(in srgb, var(--accent) 45%, var(--hair)); background: var(--accent-08); }
.sb-cadeia__n { font-family: var(--font-display); font-weight: 800; font-size: .85rem; color: var(--ink-28); letter-spacing: .08em; }
.sb-cadeia__elo.is-jynx .sb-cadeia__n { color: var(--accent); }
.sb-cadeia__ic { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--accent-12); color: var(--accent-ink); margin: 10px 0 12px; }
.sb-cadeia__elo h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.08rem; }
.sb-cadeia__elo h3 small { display: block; font-family: var(--font-body); font-weight: 600; font-size: .8rem; color: var(--accent); margin-top: 2px; }
.sb-cadeia__elo p { margin-top: 8px; font-size: .9rem; line-height: 1.5; color: var(--ink-64); }
.sb-cadeia__fecho { margin-top: 20px; padding: 26px 28px; }
.sb-cadeia__fecho h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; }
.sb-cadeia__fecho p { margin-top: 10px; color: var(--ink-64); max-width: 78ch; }

/* --- linha do tempo/* --- linha do tempo --- */
.sb-tempo__lista { list-style: none; margin: 44px 0 0; padding: 0; position: relative; display: grid; gap: 18px; }
.sb-tempo__lista::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--hair), var(--accent)); }
.sb-tempo__marco { position: relative; padding-left: 38px; }
.sb-tempo__ponto { position: absolute; left: 0; top: 22px; width: 15px; height: 15px; border-radius: 50%; background: var(--bg); border: 3px solid var(--ink-28); }
.sb-tempo__marco.is-atual .sb-tempo__ponto { border-color: var(--accent); box-shadow: 0 0 0 5px var(--accent-12); }
.sb-tempo__card { padding: 22px 24px; }
.sb-tempo__ano { font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; color: var(--accent); }
.sb-tempo__marcoTxt { margin-top: 8px; color: var(--ink-80); line-height: 1.6; }
.sb-tempo__desafio { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hair-soft); }
.sb-tempo__rotulo { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.sb-tempo__desafio p { margin-top: 5px; color: var(--ink-64); font-size: .95rem; }
.sb-tempo__fonte { margin-top: 22px; font-size: .85rem; color: var(--ink-48); }

/* --- os quatro desafios --- */
.sb-desafios__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 40px; }
@media (max-width: 860px) { .sb-desafios__grid { grid-template-columns: 1fr; } }
.sb-desafios__card { padding: 26px 28px; display: flex; flex-direction: column; gap: 10px; }
.sb-desafios__ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 11px; background: var(--accent-12); color: var(--accent-ink); }
.sb-desafios__card h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; line-height: 1.2; }
.sb-desafios__card p { color: var(--ink-64); font-size: .97rem; line-height: 1.55; }
.sb-desafios__card b { color: var(--ink); }
.sb-desafios__ficou { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--hair-soft); }
.sb-desafios__fecho { margin-top: 26px; font-size: 1.08rem; line-height: 1.6; color: var(--ink-80); max-width: 82ch; }

/* --- o grupo --- */
.sb-grupo__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 40px; align-items: stretch; }
@media (max-width: 900px) { .sb-grupo__grid { grid-template-columns: 1fr; } }
.sb-grupo__card { padding: 28px; display: flex; flex-direction: column; gap: 10px; color: inherit; transition: transform .25s, box-shadow .3s, border-color .25s; }
a.sb-grupo__card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--accent) 30%, var(--hair)); }
.sb-grupo__card h3 { font-family: var(--font-display); font-weight: 700; font-size: 1.3rem; }
.sb-grupo__card p { color: var(--ink-64); font-size: .97rem; line-height: 1.55; flex: 1; }
.sb-grupo__cta { display: inline-flex; align-items: center; gap: 7px; font-weight: 600; font-size: .93rem; color: var(--accent); }
/* onde o visitante está: sem link e marcado */
.sb-grupo__card.is-aqui { border-color: var(--accent); background: var(--accent-08); }
.sb-grupo__card.is-aqui .sb-grupo__cta { color: var(--ink-48); }

/* --- faixa de clientes, no lugar dos depoimentos --- */
.sb-clientes__faixa { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; padding: 30px 32px; }
.sb-clientes__faixa h2 { font-family: var(--font-display); font-size: clamp(1.6rem, 3vw, 2.1rem); margin-top: 12px; }
.sb-clientes__faixa p { margin-top: 12px; color: var(--ink-64); max-width: 58ch; }

/* São cinco desafios em duas colunas: o último ocupa a linha inteira em vez de
   ficar órfão ao lado de um vão. */
@media (min-width: 861px) {
  .sb-desafios__card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
