/* Páginas de serviço (/solucoes/...) */
.pg-solucao main { padding-top: 72px; }
.sp-hero { padding-block: clamp(40px, 7vw, 96px) clamp(32px, 5vw, 64px); background: radial-gradient(60% 80% at 85% 0%, color-mix(in srgb, var(--a) 22%, transparent), transparent 70%); border-bottom: 1px solid var(--line); }
.sp-trilha { font-size: var(--fs-xs); color: var(--muted); margin-bottom: var(--sp-4); }
.sp-trilha a { color: var(--muted); text-decoration: none; }
.sp-trilha a:hover { color: var(--text); }
.sp-selo { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--a) 55%, transparent); color: var(--a); font: 500 var(--fs-sm) var(--font-mono, monospace); margin: 0 0 var(--sp-4); }
.sp-selo .ic { width: 18px; height: 18px; }
.sp-hero h1 { font-size: var(--fs-h1); line-height: var(--lh-titulo); max-width: 18ch; margin: 0 0 var(--sp-4); text-wrap: balance; }
.sp-hero h1 em { font-style: normal; color: var(--a); }
.sp-sub { font-size: var(--fs-lg); color: var(--muted); max-width: 62ch; margin: 0 0 var(--sp-6); line-height: var(--lh-texto); }
.sp-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.sp-ctas .ic { width: 20px; height: 20px; }
.sp-nota { margin: var(--sp-4) 0 0; font-size: var(--fs-sm); color: var(--muted); }
.sp-bloco { padding-block: clamp(40px, 6vw, 80px); border-bottom: 1px solid var(--line); }
.sp-bloco h2, .sp-final h2 { font-size: var(--fs-h2); line-height: var(--lh-titulo); margin: 0 0 var(--sp-5); text-wrap: balance; }
.sp-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--gap-grid); align-items: start; }
.sp-duas h2 { font-size: var(--fs-h3-lg); }
.sp-dores, .sp-check { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.sp-dores li, .sp-check li { position: relative; padding-left: 30px; line-height: 1.5; }
.sp-dores li::before { content: "×"; position: absolute; left: 4px; top: -2px; color: #ff6b6b; font-weight: 700; font-size: 1.2em; }
.sp-check li::before { content: ""; position: absolute; left: 4px; top: .45em; width: 12px; height: 7px; border-left: 2px solid var(--a); border-bottom: 2px solid var(--a); transform: rotate(-45deg); }
.sp-card { padding: var(--pad-card); border-radius: var(--r-lg); border: 1px solid color-mix(in srgb, var(--a) 40%, transparent); background: linear-gradient(160deg, color-mix(in srgb, var(--a) 12%, transparent), rgba(10, 18, 36, .6)); }
.sp-passos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--gap-grid); counter-reset: p; }
.sp-passos li { counter-increment: p; padding: var(--pad-card); border-radius: var(--r-md); border: 1px solid var(--line); background: rgba(10, 18, 36, .5); display: grid; gap: 6px; }
.sp-passos li::before { content: "0" counter(p); font: 600 var(--fs-sm) var(--font-mono, monospace); color: var(--a); }
.sp-passos b { font-size: var(--fs-md); }
.sp-passos span { color: var(--muted); font-size: var(--fs-sm); line-height: 1.5; }
.sp-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.sp-chips span { padding: 10px 16px; border-radius: 999px; border: 1px solid var(--line); background: rgba(10, 18, 36, .5); font-size: var(--fs-sm); }
.sp-faq { max-width: 820px; }
.sp-faq details { border: 1px solid var(--line); border-radius: var(--r-md); padding: 0 var(--sp-4); margin-bottom: 10px; background: rgba(10, 18, 36, .5); }
.sp-faq summary { cursor: pointer; padding: var(--sp-4) 0; font-weight: 600; min-height: var(--toque); }
.sp-faq p { margin: 0 0 var(--sp-4); color: var(--muted); line-height: var(--lh-texto); }
.sp-final { padding-block: clamp(48px, 7vw, 96px); text-align: center; background: radial-gradient(60% 100% at 50% 0%, color-mix(in srgb, var(--a) 20%, transparent), transparent 70%); border-bottom: 1px solid var(--line); }
.sp-final p { color: var(--muted); margin: 0 0 var(--sp-6); }
.sp-final .sp-ctas { justify-content: center; }
.sp-outras { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.sp-outras a { display: flex; align-items: center; gap: 10px; padding: 14px 16px; min-height: var(--toque); border-radius: var(--r-md); border: 1px solid var(--line); color: var(--text); text-decoration: none; background: rgba(10, 18, 36, .5); }
.sp-outras a:hover { border-color: var(--line-strong); }
.sp-outras .ic { width: 20px; height: 20px; color: var(--cyan); flex: none; }
.pg-solucao .footer-bottom a { color: var(--muted); }
@media (max-width: 640px) { .sp-ctas .btn { width: 100%; justify-content: center; } .sp-final { text-align: left; } .sp-final .sp-ctas { justify-content: flex-start; } }
