.services { display: grid; gap: 1.25rem; margin-top: 3rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .services { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .services { grid-template-columns: repeat(3, 1fr); } }
.service { display: flex; flex-direction: column; gap: 0.6rem; padding: 1.5rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); transition: box-shadow .25s, transform .25s; }
.service:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.service h3 { font-size: 1.0625rem; }
.service p { font-size: 0.8125rem; color: var(--muted-foreground); flex: 1; }
.service .btn { align-self: flex-start; margin-top: 0.6rem; }

/* Asistente de tasación */
.wizard-wrap { max-width: 640px; }
.wizard { margin-top: 2.5rem; padding: 1.75rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.wizard__head { display: flex; align-items: center; gap: 1rem; font-size: 0.75rem; color: var(--muted-foreground); }
.wizard__bar { flex: 1; height: 5px; border-radius: 5px; background: var(--secondary); overflow: hidden; }
.wizard__bar i { display: block; height: 100%; width: 0; background: var(--accent); transition: width .3s; }
.wizard__body { margin-block: 1.5rem; min-height: 120px; }
.wizard__body h3 { font-size: 1.25rem; margin-bottom: 0.4rem; }
.wizard__body > p { font-size: 0.8125rem; color: var(--muted-foreground); margin-bottom: 1rem; }
.wizard__opts { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.wizard__foot { display: flex; justify-content: space-between; margin-top: 1rem; gap: 1rem; }
.wizard__foot .btn:only-of-type, .wizard__foot #wiz-next { margin-left: auto; }
.wizard .field-error { min-height: 1em; }
.wizard__done { text-align: center; padding-block: 1rem; }
.wizard__done h3 { color: var(--whatsapp); }

/* Contacto */
.contact { display: grid; gap: 3rem; grid-template-columns: 1fr; }
@media (min-width: 900px) { .contact { grid-template-columns: 1fr 1.2fr; } }
.contact h2 { font-size: 1.5rem; margin-bottom: 1.25rem; }
.contact__info li { display: flex; flex-direction: column; margin-bottom: 1.1rem; font-size: 0.9375rem; }
.contact__info small { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--accent); font-weight: 600; }
.contact__form { display: grid; gap: 1rem; padding: 1.75rem; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); align-content: start; }
.contact__form h2 { margin-bottom: 0; }
.contact__hint { font-size: 0.8125rem; color: var(--muted-foreground); margin-top: -0.6rem; }
.contact__form .btn { justify-self: start; }

.faq { max-width: 780px; }
.faq .accordion { margin-top: 2.5rem; }
