/* Complementos das páginas de serviço; preservam a identidade visual existente. */
.service-detail-link {
  display: block;
  margin: 0 0 18px;
  color: var(--brand-blue);
  font-size: 12px;
  font-weight: 650;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.seo-area { background: #eaf0f7; }
.seo-eyebrow {
  margin-bottom: 24px;
  color: var(--brand-blue);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .1em;
}
.seo-area-note { max-width: 820px; margin-bottom: 24px; color: var(--ink-soft); }
.seo-service-nav { display: flex; flex-wrap: wrap; gap: 14px 25px; padding-block: 0 25px; }
.seo-service-nav a { color: var(--brand-blue); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.seo-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; padding-block: 24px; color: var(--muted); font-size: 13px; }
.seo-breadcrumb a { color: var(--brand-blue); text-decoration: underline; }
.seo-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(30px, 5vw, 64px); align-items: center; padding-block: 20px 70px; }
.seo-hero h1 { font-size: clamp(38px, 4.8vw, 62px); }
.seo-lead { max-width: 640px; color: var(--ink-soft); font-size: 18px; }
.seo-image { margin: 0; min-width: 0; }
.seo-image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; box-shadow: var(--shadow); }
.seo-image figcaption { margin-top: 10px; color: var(--muted); font-size: 12px; }
.seo-page { padding-block: 0 60px; }
.seo-content { max-width: 900px; }
.seo-content section, .seo-page > section.seo-content { padding-block: 25px; }
.seo-content h2 { margin-bottom: 18px; color: var(--navy); font-size: clamp(28px, 3.8vw, 40px); line-height: 1.15; }
.seo-content h3 { margin-block: 20px 12px; font-size: 21px; }
.seo-content p, .seo-content li { color: var(--ink-soft); }
.seo-content a:not(.button) { color: var(--brand-blue); text-decoration: underline; text-underline-offset: 3px; }
.seo-content ul, .seo-content ol { padding-left: 24px; }
.seo-content li + li { margin-top: 9px; }
.seo-faq { border-top: 1px solid var(--line); }
.seo-faq details { padding: 19px 0; border-bottom: 1px solid var(--line); }
.seo-faq summary { color: var(--navy); font-weight: 650; cursor: pointer; }
.seo-faq details p { margin: 16px 0 0; }
@media (max-width: 760px) {
  .seo-breadcrumb { padding-block: 20px; font-size: 12px; }
  .seo-hero { grid-template-columns: 1fr; gap: 28px; padding-block: 10px 40px; }
  .seo-hero h1 { font-size: clamp(36px, 9vw, 48px); overflow-wrap: anywhere; }
  .seo-lead { font-size: 16px; }
  .seo-page { padding-bottom: 40px; }
  .seo-content section, .seo-page > section.seo-content { padding-block: 20px; }
  .seo-service-nav { gap: 12px 20px; }
}
