/* Marca do eletricista (sobrescreve a biblioteca) + partes próprias deste site. */
:root {
  --marca: #0B2545; --marca-2: #134074; --destaque: #FFB703; --destaque-texto: #1D1500;
  --texto: #0B1B2E; --suave: #F4F6F8; --borda: #E2E8F0;
  --fonte-titulo: 'Archivo', system-ui, sans-serif; --fonte-texto: 'Inter', system-ui, sans-serif;
}
.topo { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid var(--borda); }
.topo .pc-container { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.marca { display: flex; align-items: center; gap: 8px; text-decoration: none; font: 800 19px var(--fonte-titulo); color: var(--marca); }
.marca svg { width: 28px; height: 28px; color: var(--destaque); }
.topo .pc-botao { min-height: 42px; padding: 0 16px; font-size: 15px; white-space: nowrap; }
.marca { font-size: 17px; line-height: 1.1; }
@media (max-width: 420px) { .topo .pc-botao .txt-longo { display: none; } }

.hero { background: var(--marca); color: #fff; padding: 36px 0 44px; }
.hero .pc-container { display: grid; gap: 28px; }
.hero h1 { font-size: 38px; font-weight: 800; }
.hero h1 span { color: var(--destaque); }
.hero .sub { margin: 14px 0 22px; font-size: 18px; color: hsl(0 0% 100% / .82); }
.hero .acoes { display: grid; gap: 10px; }
.hero .pc-botao { min-height: 58px; font-size: 18px; }
.selos { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.selos li { display: flex; gap: 6px; align-items: center; font-size: 14px; background: hsl(0 0% 100% / .1); border-radius: 999px; padding: 6px 12px; }
.selos svg { width: 16px; height: 16px; color: var(--destaque); }
.hero .pc-foto { aspect-ratio: 4 / 3; background: linear-gradient(150deg, #13315C, #1E4C82); color: #cfe0ff; }

.problemas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.problema { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left; background: #fff; border: 2px solid var(--borda); border-radius: var(--raio); padding: 16px; font: 700 15px var(--fonte-texto); color: var(--texto); cursor: pointer; transition: border-color .15s, transform .15s var(--curva-saida), box-shadow .15s; }
.problema:hover, .problema:focus-visible { border-color: var(--destaque); transform: translateY(-2px); box-shadow: var(--sombra-2); outline: none; }
.problema .pc-icone { background: #FFF4D6; color: #9A6700; }
.problema small { font-weight: 600; font-size: 12px; color: var(--whats); }
.dica-problema { margin-top: 12px; font-size: 14px; color: var(--texto-2); }

.confianca { display: grid; gap: 24px; align-items: center; }
.confianca .pc-foto { aspect-ratio: 4 / 5; max-width: 380px; }
.confianca h2 { font-size: 28px; margin: 6px 0; }
.confianca ul { padding-left: 20px; color: var(--texto-2); }
.galeria { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.galeria .pc-foto { aspect-ratio: 1; }
.depoimento { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.depoimento figcaption { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--texto-2); }
.passos { list-style: none; padding: 0; margin: 0; counter-reset: p; }
.passos li { position: relative; padding-left: 60px; min-height: 44px; }
.passos li::before { counter-increment: p; content: counter(p); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--destaque); color: var(--destaque-texto); display: grid; place-items: center; font: 800 18px var(--fonte-titulo); }
.passos h3 { font-size: 18px; }
.passos p { color: var(--texto-2); }
.final { background: var(--marca); color: #fff; text-align: center; padding: 48px 0; }
.final h2 { font-size: 30px; margin-bottom: 20px; }
.final .acoes { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }

@media (min-width: 640px) {
  .problemas { grid-template-columns: repeat(4, 1fr); }
  .galeria { grid-template-columns: repeat(3, 1fr); }
  .hero .acoes { grid-template-columns: auto auto; justify-content: start; }
}
@media (min-width: 960px) {
  .hero { padding: 64px 0 72px; }
  .hero .pc-container { grid-template-columns: 1.1fr 1fr; align-items: center; gap: 56px; }
  .hero h1 { font-size: 56px; }
  .confianca { grid-template-columns: 380px 1fr; gap: 56px; }
}
