/* Páginas de serviços: tipografia herdada dos estilos globais. */
.service-page { --service-accent: var(--internal-accent); font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.service-page main { overflow: clip; }
.service-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px; font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 600; }
.service-eyebrow::before { content: ""; width: 20px; height: 2px; background: var(--service-accent); }
.service-page a:focus-visible, .service-page summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.service-section { padding-block: var(--internal-section-space); }
.service-section--light { color: #080808; }
.service-section__grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: var(--internal-grid-gap); align-items: start; }
.service-section h2, .service-cta h2 { margin: 0 0 24px; font-size: var(--internal-heading-size); font-weight: 600; line-height: 1.15; letter-spacing: -.035em; }
.service-section p { margin: 0 0 20px; color: var(--color-gray); font-size: .95rem; line-height: 1.85; }
.service-section--light p { color: #626262; }
.service-section__copy > :last-child { margin-bottom: 0; }
.service-list { list-style: none; padding: 0; margin: 0; }
.service-list li { position: relative; padding: 16px 0 16px 24px; border-bottom: 1px solid var(--color-border); color: var(--color-gray-light); font-size: .95rem; line-height: 1.7; }
.service-list li:first-child { padding-top: 0; }
.service-list li::before { content: ""; position: absolute; top: 27px; left: 0; width: 5px; height: 5px; background: var(--service-accent); }
.service-list li:first-child::before { top: 11px; }
.service-section--light .service-list li { color: #303030; border-color: rgba(8,8,8,.12); }
.service-steps { padding: 0; margin: 0; list-style: none; counter-reset: service-step; }
.service-steps li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 18px; padding-block: 22px; border-bottom: 1px solid var(--color-border); counter-increment: service-step; }
.service-steps li:first-child { padding-top: 0; }
.service-steps li::before { content: counter(service-step, decimal-leading-zero); color: var(--service-accent); font-size: .75rem; padding-top: 5px; }
.service-steps h3 { margin: 0 0 8px; font-size: 1.05rem; font-weight: 500; }
.service-steps p { margin: 0; }
.service-context { border-top: 1px solid var(--color-border); }
.service-context a { display: inline-block; margin-top: 12px; border-bottom: 1px solid var(--service-accent); padding-bottom: 5px; color: var(--color-white); line-height: 1.6; }
.service-cta { padding-block: var(--internal-section-space); }
.service-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.service-cta h2 { max-width: 650px; margin-bottom: 14px; }
.service-cta p { max-width: 620px; margin: 0; color: #555555; line-height: 1.8; font-size: .95rem; }
.service-cta .service-button { flex-shrink: 0; }
.service-faq details { border-bottom: 1px solid var(--color-border); }
.service-faq summary { cursor: pointer; padding: 20px 0; color: var(--color-white); font-size: 1rem; line-height: 1.6; }
.service-faq details p { margin-bottom: 24px; }
@media (max-width: 1024px) {
  .service-section__grid { gap: 36px; }
  .service-cta__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .service-section__grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .internal-breadcrumb { margin-bottom: 28px; }
  .service-section h2 { margin-bottom: 12px; }
}
@media (max-width: 480px) {
  /* O Hero editorial já reserva espaço para a arte acima do breadcrumb. */
  .internal-hero:not(.internal-hero--editorial) { padding-block: 36px 44px; background-size: 44px 44px; }
  .service-section { padding-block: 44px; }
  .service-button { max-width: 100%; }
}


.service-list--panel { padding: clamp(24px, 3vw, 36px); }
.service-list--panel.surface-light li { color: #303030; border-color: rgba(8,8,8,.12); }
