/* ═══════════════════════════════════════════════════════════════════════════
 * arke-servicos.css — o HUB /site/servicos.
 *
 * ⚠️ NÃO CONFUNDIR: este arquivo é da PÁGINA-ÍNDICE de serviços (a rota
 * /site/servicos). As seis páginas de serviço têm cada uma a sua folha, com o
 * nome do próprio slug: arke-consultoria.css, arke-automacao.css,
 * arke-marketing-digital.css, arke-identidade-marca.css,
 * arke-presenca-digital.css, arke-seo-dados.css. E arke-marketing.css é do
 * MÓDULO /site/modulos/marketing — outra coisa ainda.
 *
 * O PAPEL DA PÁGINA: ela não vende uma frente, ela distribui. É o índice
 * inteligente do site — quem chega aqui sai para uma das seis frentes, para um
 * dos 14 módulos, para um dos 7 produtos ou para a arquitetura. Por isso quase
 * tudo aqui é LISTA CLICÁVEL, e a hierarquia é tipográfica: o que importa é
 * escanear e escolher, não contemplar.
 *
 * Reusa arke-home.css (.ark-sec, .ark-eyebrow, .ark-lead, .ark-rv). Prefixo
 * `srv-` para o que é próprio.
 *
 * ⚠️ DÍVIDA CONHECIDA: botão, faixa, FAQ e formulário são gêmeos entre as sete
 * páginas, mudando só o prefixo. A extração do comum vai para um
 * `arke-servicos-comum.css` — não para este arquivo, que é de uma página só.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── HERO ────────────────────────────────────────────────────────────────── */
.srv-hero {
  position: relative; overflow: hidden; background: #08080A;
  padding-block: clamp(120px, 13vw, 190px) 0;
}
.srv-hero__grafo {
  position: absolute; inset: 0; width: 100%; height: 100%;
  display: block; pointer-events: none; z-index: 0; opacity: .5;
}
.srv-hero > .container { position: relative; z-index: 2; }
.srv-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(60% 64% at 26% 44%, rgba(8,8,10,.92), rgba(8,8,10,.5) 46%, transparent 78%);
}
.srv-hero__t {
  margin: clamp(18px, 2vw, 28px) 0 0;
  font-size: clamp(32px, 4.2vw, 60px); font-weight: 800;
  line-height: 1.03; letter-spacing: -.038em; color: #F2EFE9;
}
.srv-hero__t em {
  display: block; margin-top: .1em;
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400;
  color: var(--accent, #C4973A); letter-spacing: -.02em; font-size: .68em;
}
.srv-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(26px, 2.8vw, 38px); }

/* atalho direto para as seis, ao lado do hero */
.srv-atalhos { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(245,242,237,.12); }
.srv-atalhos li { border-bottom: 1px solid rgba(245,242,237,.08); }
.srv-atalhos a { display: block; padding: 13px 0; text-decoration: none; transition: padding-left .28s ease; }
.srv-atalhos a:hover { padding-left: 8px; }
.srv-atalhos b {
  display: block; font-size: 15.5px; font-weight: 650; color: #E6E2DA;
  transition: color .25s ease;
}
.srv-atalhos a:hover b { color: var(--accent, #C4973A); }
.srv-atalhos span { display: block; margin-top: 2px; font-size: 12.5px; line-height: 1.5; color: #6B6560; }
@media (max-width: 991px) { .srv-atalhos { margin-top: 40px; } }

/* ── BOTÕES ──────────────────────────────────────────────────────────────── */
.srv-btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 14px 24px; border-radius: 999px;
  border: 1px solid rgba(245,242,237,.20);
  font-family: var(--font-mono, monospace); font-size: 11px;
  letter-spacing: .14em; text-transform: uppercase; color: #E6E2DA;
  text-decoration: none; transition: border-color .3s ease, color .3s ease, background .3s ease;
}
.srv-btn:hover { border-color: rgba(var(--accent-rgb, 196,151,58), .6); color: var(--accent, #C4973A); }
.srv-btn--forte { background: var(--accent, #C4973A); border-color: var(--accent, #C4973A); color: #0A0A0A; font-weight: 700; }
.srv-btn--forte:hover { background: #D4A94A; border-color: #D4A94A; color: #0A0A0A; }

.srv-mais {
  display: inline-flex; align-items: center;
  font-family: var(--font-mono, monospace); font-size: 10.5px;
  letter-spacing: .13em; text-transform: uppercase; color: var(--accent, #C4973A);
  text-decoration: none; border-bottom: 1px solid rgba(var(--accent-rgb, 196,151,58), .34);
  padding-bottom: 3px; transition: border-color .25s ease;
}
.srv-mais:hover { border-color: var(--accent, #C4973A); }
.srv-linha-mais { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: clamp(28px, 3vw, 40px); }

/* ── FAIXA ───────────────────────────────────────────────────────────────── */
.srv-faixa {
  position: relative; z-index: 2; margin-top: clamp(50px, 5.4vw, 84px);
  padding-block: 18px; overflow: hidden;
  border-top: 1px solid rgba(245,242,237,.09);
  border-bottom: 1px solid rgba(245,242,237,.09);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.srv-faixa__trilho { display: flex; gap: clamp(26px, 3.2vw, 50px); width: max-content; animation: srvCorre 48s linear infinite; }
.srv-faixa__trilho span {
  font-family: var(--font-mono, monospace); font-size: 11px;
  letter-spacing: .2em; text-transform: uppercase; color: #6B6560; white-space: nowrap;
}
.srv-faixa__trilho span:nth-child(4n+1) { color: var(--accent, #C4973A); }
@keyframes srvCorre { to { transform: translateX(-50%); } }
.srv-faixa:hover .srv-faixa__trilho { animation-play-state: paused; }

/* ── TEXTO ───────────────────────────────────────────────────────────────── */
.srv-d { margin: 0 0 14px; font-size: 14.5px; line-height: 1.7; color: #9A9590; max-width: 64ch; }
.srv-d b { color: #D8D3CB; font-weight: 600; }
.srv-tese {
  margin: 0 0 12px;
  font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-size: clamp(17px, 1.7vw, 22px); line-height: 1.35; color: #F2EFE9;
}
.srv-selo {
  margin: clamp(26px, 2.8vw, 38px) 0 0; padding-left: 15px;
  border-left: 2px solid var(--accent, #C4973A);
  font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-size: clamp(17px, 1.7vw, 23px); line-height: 1.4; color: #F2EFE9;
}
.srv-tags { margin: 0 0 18px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.srv-tags li {
  padding: 5px 11px; border-radius: 3px;
  border: 1px solid rgba(245,242,237,.10); background: rgba(245,242,237,.03);
  font-family: var(--font-mono, monospace); font-size: 10px; letter-spacing: .06em; color: #A29C93;
}
.srv-perguntas { margin: 0; padding: 0; list-style: none; }
.srv-perguntas li {
  position: relative; padding-left: 20px; margin-bottom: 9px;
  font-size: 15px; line-height: 1.6; color: #C9C4BC;
}
.srv-perguntas li::before {
  content: "?"; position: absolute; left: 0; top: 0;
  font-family: var(--font-mono, monospace); font-size: 13px; color: var(--accent, #C4973A);
}

/* ── POR OBJETIVO ────────────────────────────────────────────────────────── */
.srv-objetivos {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px; margin-top: clamp(36px, 3.8vw, 54px);
  background: rgba(245,242,237,.09); border: 1px solid rgba(245,242,237,.09);
}
.srv-objetivos a {
  display: block; padding: clamp(22px, 2.4vw, 32px); background: #0A0A0C;
  text-decoration: none; transition: background .3s ease;
}
.srv-objetivos a:hover { background: #0F0F13; }
.srv-objetivos__n {
  display: block; margin-bottom: 12px;
  font-family: var(--font-mono, monospace); font-size: 10px;
  letter-spacing: .2em; color: var(--accent, #C4973A);
}
.srv-objetivos b {
  display: block; margin-bottom: 9px; font-size: clamp(18px, 1.8vw, 23px);
  font-weight: 700; letter-spacing: -.02em; color: #F2EFE9;
}
.srv-objetivos p { margin: 0 0 16px; font-size: 14px; line-height: 1.65; color: #8B8680; }
.srv-objetivos i {
  font-style: normal;
  font-family: var(--font-mono, monospace); font-size: 10px;
  letter-spacing: .13em; text-transform: uppercase; color: #5F5A54;
  transition: color .25s ease;
}
.srv-objetivos a:hover i { color: var(--accent, #C4973A); }
@media (max-width: 991px) { .srv-objetivos { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .srv-objetivos { grid-template-columns: 1fr; } }

/* ── AS SEIS FRENTES ─────────────────────────────────────────────────────── */
.srv-frentes { margin-top: clamp(38px, 4vw, 58px); }
.srv-frente {
  display: grid; grid-template-columns: minmax(0, 340px) 1fr;
  gap: clamp(20px, 3vw, 56px);
  padding-block: clamp(26px, 2.8vw, 40px);
  border-top: 1px solid rgba(245,242,237,.12);
}
.srv-frente:last-child { border-bottom: 1px solid rgba(245,242,237,.12); }
/* o nome da frente acompanha a leitura da coluna da direita */
.srv-frente__cab { position: sticky; top: 110px; align-self: start; }
.srv-frente__corpo { min-width: 0; }
@media (max-width: 767px) { .srv-frente__cab { position: static; } }
.srv-frente__k {
  display: block; margin-bottom: 10px;
  font-family: var(--font-mono, monospace); font-size: 9px;
  letter-spacing: .16em; color: var(--accent, #C4973A); line-height: 1.6;
}
.srv-frente h3 { margin: 0; font-size: clamp(24px, 2.6vw, 36px); font-weight: 800; letter-spacing: -.03em; }
.srv-frente h3 a { color: #F2EFE9; text-decoration: none; transition: color .25s ease; }
.srv-frente h3 a:hover { color: var(--accent, #C4973A); }
@media (max-width: 767px) { .srv-frente { grid-template-columns: 1fr; } }

/* ── MÉTODO ──────────────────────────────────────────────────────────────── */
.srv-etapas {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.4vw, 34px); margin: clamp(38px, 4vw, 58px) 0 0; padding: 0; list-style: none;
}
.srv-etapas li { padding-top: 18px; border-top: 1px solid rgba(245,242,237,.12); }
.srv-etapas span {
  display: block; margin-bottom: 8px;
  font-family: var(--font-mono, monospace); font-size: 10px;
  letter-spacing: .2em; color: var(--accent, #C4973A);
}
.srv-etapas b { display: block; margin-bottom: 8px; font-size: clamp(19px, 1.8vw, 24px); font-weight: 700; color: #F2EFE9; }
.srv-etapas p { margin: 0; font-size: 13.5px; line-height: 1.65; color: #8B8680; }
@media (max-width: 991px) { .srv-etapas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .srv-etapas { grid-template-columns: 1fr; } }

.srv-remate {
  margin-top: clamp(40px, 4.4vw, 64px); padding-top: clamp(26px, 3vw, 38px);
  border-top: 1px solid rgba(245,242,237,.12); max-width: 52ch;
}
.srv-remate h3 {
  margin: 0 0 10px; font-size: clamp(23px, 2.5vw, 34px); font-weight: 800;
  letter-spacing: -.03em; line-height: 1.1; color: #F2EFE9;
}
.srv-remate p {
  margin: 0; font-family: 'Playfair Display', Georgia, serif; font-style: italic;
  font-size: clamp(18px, 1.9vw, 26px); line-height: 1.3; color: var(--accent, #C4973A);
}

/* ── MÓDULOS E PRODUTOS ──────────────────────────────────────────────────── */
.srv-modulos, .srv-produtos {
  display: grid; gap: 1px; margin-top: clamp(36px, 3.8vw, 54px);
  background: rgba(245,242,237,.09); border: 1px solid rgba(245,242,237,.09);
}
.srv-modulos  { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.srv-produtos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.srv-modulos a, .srv-produtos a {
  display: block; padding: clamp(16px, 1.7vw, 22px); background: #0A0A0C;
  text-decoration: none; transition: background .3s ease;
}
.srv-modulos a:hover, .srv-produtos a:hover { background: #0F0F13; }
.srv-modulos b, .srv-produtos b {
  display: block; margin-bottom: 5px; font-size: 15px; font-weight: 650; color: #E6E2DA;
  transition: color .25s ease;
}
.srv-modulos a:hover b { color: var(--accent, #C4973A); }
.srv-modulos span, .srv-produtos span { display: block; font-size: 12.5px; line-height: 1.55; color: #6B6560; }

/* cor de produto: fonte é lib/cores-arke.ts, a mesma do admin */
.srv-produtos [data-produto="core"]   { --prod: #8B5CF6; }
.srv-produtos [data-produto="on"]     { --prod: #22C55E; }
.srv-produtos [data-produto="flow"]   { --prod: #F59E0B; }
.srv-produtos [data-produto="cms"]    { --prod: #06B6D4; }
.srv-produtos [data-produto="os"]     { --prod: #EF4444; }
.srv-produtos [data-produto="me"]     { --prod: #3B82F6; }
.srv-produtos [data-produto="studio"] { --prod: #A855F7; }
.srv-produtos b { position: relative; padding-left: 14px; }
.srv-produtos b::before {
  content: ""; position: absolute; left: 0; top: .52em;
  width: 7px; height: 7px; border-radius: 50%; background: var(--prod, var(--accent, #C4973A));
}
.srv-produtos a:hover b { color: var(--prod, var(--accent, #C4973A)); }
@media (max-width: 991px) { .srv-modulos, .srv-produtos { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { .srv-modulos, .srv-produtos { grid-template-columns: 1fr; } }

/* ── O QUE NÃO PROMETEMOS ────────────────────────────────────────────────── */
.srv-nao { margin: 0; padding: 0; list-style: none; }
.srv-nao li {
  position: relative; padding: 13px 0 13px 30px;
  border-bottom: 1px solid rgba(245,242,237,.08);
  font-size: clamp(15px, 1.5vw, 17px); line-height: 1.55; color: #C9C4BC;
}
.srv-nao li::before {
  content: ""; position: absolute; left: 0; top: 1.15em; width: 16px; height: 1px;
  background: #C9A08B;
}

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.srv-faq { margin-top: clamp(32px, 3.4vw, 48px); border-top: 1px solid rgba(245,242,237,.10); }
.srv-faq details { border-bottom: 1px solid rgba(245,242,237,.10); }
.srv-faq summary {
  list-style: none; cursor: pointer; padding: clamp(18px, 2vw, 24px) 40px clamp(18px, 2vw, 24px) 0;
  position: relative; font-size: clamp(16px, 1.5vw, 19px); font-weight: 600; color: #F2EFE9;
  transition: color .25s ease;
}
.srv-faq summary::-webkit-details-marker { display: none; }
.srv-faq summary:hover { color: var(--accent, #C4973A); }
.srv-faq summary::after {
  content: ""; position: absolute; right: 6px; top: 50%; width: 11px; height: 11px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-70%) rotate(45deg); transition: transform .3s ease;
}
.srv-faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.srv-faq details p {
  margin: 0; padding: 0 40px clamp(20px, 2.2vw, 28px) 0;
  font-size: 15px; line-height: 1.75; color: #9A9590; max-width: 78ch;
}

/* ── CTA + FORMULÁRIO ────────────────────────────────────────────────────── */
.srv-fim { background: #08080A; position: relative; }
.srv-fim::before {
  content: ""; position: absolute; inset-inline: 0; top: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb, 196,151,58), .4) 30%, rgba(var(--accent-rgb, 196,151,58), .4) 70%, transparent);
}
.srv-fim__t {
  margin: clamp(16px, 1.8vw, 24px) 0 0;
  font-size: clamp(28px, 3.6vw, 52px); font-weight: 800;
  line-height: 1.05; letter-spacing: -.035em; color: #F2EFE9;
}
.srv-fim__t em {
  display: block; margin-top: .1em;
  font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400;
  color: var(--accent, #C4973A); font-size: .62em; line-height: 1.3;
}

.srv-form {
  border: 1px solid rgba(245,242,237,.12); border-radius: 6px;
  background: #0E0E11; padding: clamp(22px, 2.4vw, 34px);
  position: sticky; top: 110px;
}
@media (max-width: 991px) { .srv-form { position: static; margin-top: 40px; } }
.srv-form__t { margin: 0; font-size: 20px; font-weight: 700; color: #F2EFE9; }
.srv-form__s { margin: 8px 0 22px; font-size: 13.5px; line-height: 1.6; color: #8B8680; }
.srv-form__campos { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.srv-form__campos label {
  display: grid; gap: 6px;
  font-family: var(--font-mono, monospace); font-size: 9.5px;
  letter-spacing: .14em; text-transform: uppercase; color: #6B6560;
}
.srv-form__larga, .srv-form__enviar, .srv-form__aviso { grid-column: 1 / -1; }
.srv-form__campos input,
.srv-form__campos select,
.srv-form__campos textarea {
  width: 100%; padding: 11px 13px;
  background: #08080A; color: #F2EFE9;
  border: 1px solid rgba(245,242,237,.14); border-radius: 4px;
  font-family: inherit; font-size: 14px; letter-spacing: normal; text-transform: none;
  transition: border-color .25s ease;
}
.srv-form__campos textarea { resize: vertical; min-height: 70px; }
.srv-form__campos input:focus,
.srv-form__campos select:focus,
.srv-form__campos textarea:focus { outline: none; border-color: rgba(var(--accent-rgb, 196,151,58), .6); }
.srv-form__campos input::placeholder,
.srv-form__campos textarea::placeholder { color: #4A4640; }
.srv-form__enviar { justify-content: center; margin-top: 6px; border: 0; cursor: pointer; }
.srv-form__enviar[disabled] { opacity: .55; cursor: default; }
.srv-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.srv-form__aviso { margin: 4px 0 0; font-size: 13px; line-height: 1.55; color: #8B8680; }
.srv-form__aviso.is-ok  { color: #86EFAC; }
.srv-form__aviso.is-erro { color: #FCA5A5; }
/* ── CONSENTIMENTO (LGPD) ──────────────────────────────────────────────────
   A caixa que autoriza o uso dos dados. Ocupa a linha inteira do grid (pela
   `srv-form__larga`) e é de propósito MAIS DISCRETA que os campos: é uma
   confirmação, não mais um dado a preencher. O rótulo envolve o input, então
   a área de clique é a frase inteira. */
.srv-form__campos .srv-form__consent {
  display: flex; align-items: flex-start; gap: 10px;
  margin-top: 2px; cursor: pointer;
  font-family: inherit; font-size: 12.5px; line-height: 1.5;
  letter-spacing: normal; text-transform: none; color: #8B8680;
}
/* `revert` devolve o desenho nativo da caixa — sem isto ela herdaria o
   `width: 100%` e o fundo dos campos de texto e viraria uma barra preta. */
.srv-form__campos .srv-form__consent input[type="checkbox"] {
  flex: 0 0 auto; width: 15px; height: 15px; margin: 1px 0 0; padding: 0;
  background: revert; border: revert; border-radius: revert;
  accent-color: var(--accent, #C4973A); cursor: pointer;
}
.srv-form__campos .srv-form__consent input[type="checkbox"]:focus-visible {
  outline: 2px solid rgba(var(--accent-rgb, 196,151,58), .65); outline-offset: 2px;
}

.srv-form__alt {
  display: inline-block; margin-top: 16px;
  font-family: var(--font-mono, monospace); font-size: 10px;
  letter-spacing: .14em; text-transform: uppercase; color: #6B6560;
  text-decoration: none; border-bottom: 1px solid rgba(245,242,237,.18);
  transition: color .25s ease, border-color .25s ease;
}
.srv-form__alt:hover { color: var(--accent, #C4973A); border-color: rgba(var(--accent-rgb, 196,151,58), .5); }
@media (max-width: 575px) { .srv-form__campos { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  .srv-faixa__trilho { animation: none; }
  .srv-atalhos a, .srv-objetivos a, .srv-modulos a, .srv-produtos a { transition: none; }
}
