/* Páginas de serviço - VF Contabilidade */
.sv-hero { background: linear-gradient(180deg, var(--off) 0%, var(--white) 100%); padding: 48px 0 56px; border-bottom: 1px solid var(--line); }
.sv-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr); gap: 44px; align-items: start; }
.sv-hero h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); line-height: 1.08; letter-spacing: -.02em; margin: 6px 0 16px; }
.sv-hero .eyebrow i { margin-right: 6px; color: var(--gold-dark); }
.sv-lead { font-size: 1.12rem; color: var(--text); line-height: 1.7; margin-bottom: 26px; max-width: 640px; }
.sv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
.sv-selos { display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--muted); font-size: .9rem; }
.sv-selos i { color: var(--gold-dark); margin-right: 6px; }
.sv-box { background: var(--black); color: #e9e9e9; border-radius: 20px; padding: 28px; box-shadow: var(--shadow-soft); }
.sv-box h2 { color: var(--white); font-size: 1.15rem; margin-bottom: 16px; }
.sv-lista { display: grid; gap: 12px; }
.sv-lista li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; font-size: .96rem; }
.sv-lista i { color: var(--gold); margin-top: 4px; flex: none; }
.narrow-text { max-width: 820px; }
.narrow-text h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin: 0 0 14px; }
.narrow-text h2:not(:first-child) { margin-top: 36px; }
.narrow-text p { color: var(--text); font-size: 1.05rem; line-height: 1.8; margin-bottom: 14px; }
.sv-passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; counter-reset: none; }
.sv-passos li { display: flex; gap: 16px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 22px; }
.sv-num { flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--black); color: var(--gold); font-weight: 800; display: grid; place-items: center; }
.sv-passos h3 { font-size: 1.05rem; margin-bottom: 6px; }
.sv-passos p { color: var(--muted); font-size: .94rem; line-height: 1.6; }
.sv-publico { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sv-pub { border: 1px solid var(--line); border-radius: 16px; padding: 22px; background: var(--white); }
.sv-pub i { width: 44px; height: 44px; border-radius: 12px; background: var(--off); color: var(--gold-dark); display: grid; place-items: center; font-size: 1.1rem; margin-bottom: 14px; }
.sv-pub h3 { font-size: 1.02rem; margin-bottom: 8px; }
.sv-pub p { color: var(--muted); font-size: .93rem; line-height: 1.6; }
.sv-regiao { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 36px; align-items: center; }
.sv-regiao h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin-bottom: 12px; }
.sv-regiao p { color: var(--text); line-height: 1.8; }
.sv-cidades { display: flex; flex-wrap: wrap; gap: 10px; }
.sv-cidades li { background: var(--white); border: 1px solid var(--line); border-radius: 999px; padding: 8px 16px; font-weight: 600; font-size: .92rem; color: var(--ink); }
.sv-cidades li:last-child { background: var(--black); color: var(--gold); border-color: var(--black); }
.sv-faq details { border: 1px solid var(--line); border-radius: 14px; background: var(--white); margin-bottom: 12px; }
.sv-faq summary { cursor: pointer; padding: 18px 20px; font-weight: 700; color: var(--ink); list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.sv-faq summary::-webkit-details-marker { display: none; }
.sv-faq summary::after { content: '+'; color: var(--gold-dark); font-size: 1.3rem; line-height: 1; }
.sv-faq details[open] summary::after { content: '−'; }
.sv-faq details p { padding: 0 20px 18px; color: var(--text); line-height: 1.7; }
.sv-rels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sv-rel { display: flex; gap: 14px; align-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 18px; color: var(--ink); transition: border-color .15s; }
.sv-rel:hover { border-color: var(--gold); }
.sv-rel i { width: 40px; height: 40px; border-radius: 10px; background: var(--off); color: var(--gold-dark); display: grid; place-items: center; flex: none; }
.sv-rel strong { display: block; }
.sv-rel small { color: var(--muted); font-size: .84rem; }
@media (max-width: 1080px) { .sv-hero-grid { grid-template-columns: 1fr; } .sv-passos { grid-template-columns: 1fr 1fr; } .sv-publico, .sv-rels { grid-template-columns: 1fr 1fr; } .sv-regiao { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .sv-passos, .sv-publico, .sv-rels { grid-template-columns: 1fr; } .sv-actions .btn { width: 100%; justify-content: center; } }
.sv-abrang { display: grid; gap: 12px; }
.sv-abrang div { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; }
.sv-abrang i { grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 12px; background: var(--black); color: var(--gold); display: grid; place-items: center; align-self: center; }
.sv-abrang strong { color: var(--ink); }
.sv-abrang small { color: var(--muted); font-size: .88rem; line-height: 1.5; }
.sv-remoto { margin-top: 40px; }
.sv-remoto h3 { font-size: 1.25rem; margin-bottom: 16px; color: var(--ink); }
.sv-remoto-passos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.sv-remoto-passos li { display: flex; gap: 14px; background: var(--white); border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.sv-remoto-passos i { flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--black); color: var(--gold); display: grid; place-items: center; }
.sv-remoto-passos strong { color: var(--ink); display: block; margin-bottom: 4px; }
.sv-remoto-passos p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.6; overflow-wrap: anywhere; }
.sv-remoto-passos a { color: var(--ink); font-weight: 600; }
/* Hub /servicos/ */
.sv-hub-grupo + .sv-hub-grupo { margin-top: 44px; }
.sv-hub-grupo h2 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); margin-bottom: 18px; }
.sv-hub-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.sv-hub-card { display: flex; flex-direction: column; gap: 6px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; padding: 22px; color: var(--text); transition: border-color .2s, transform .2s, box-shadow .2s; }
.sv-hub-card:hover { border-color: var(--gold); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.sv-hub-card > span { width: 46px; height: 46px; border-radius: 12px; background: var(--black); color: var(--gold); display: grid; place-items: center; margin-bottom: 8px; }
.sv-hub-card strong { color: var(--ink); font-size: 1.05rem; }
.sv-hub-card small { color: var(--muted); line-height: 1.5; }
.sv-hub-card em { margin-top: auto; padding-top: 10px; font-style: normal; font-weight: 700; font-size: .88rem; color: var(--ink); }
.sv-hub-card em i { color: var(--gold-dark); font-size: .78rem; margin-left: 4px; }
.sv-remoto-passos { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sv-remoto-passos li { flex-direction: column; gap: 12px; }
.sv-remoto-passos p { overflow-wrap: break-word; }
@media (max-width: 1080px) { .sv-remoto-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sv-remoto-passos { grid-template-columns: 1fr; } .sv-remoto-passos li { flex-direction: row; } }
.sv-remoto-passos i { flex: 0 0 40px; width: 40px; align-self: flex-start; }
