/* Página inicial */

.hero-inner { padding-top: 5rem; padding-bottom: 5rem; }
@media (min-width: 1024px) { .hero-inner { padding-top: 7rem; padding-bottom: 7rem; } }
.hero-content { max-width: 48rem; }
.hero-title { font-size: 2.25rem; font-weight: 700; line-height: 1.25; margin-bottom: 1.5rem; }
@media (min-width: 1024px) { .hero-title { font-size: 3rem; } }
.hero-title .highlight { color: var(--primary-200); }
.hero-subtitle { font-size: 1.125rem; color: var(--primary-100); margin-bottom: 2rem; line-height: 1.625; }

.hero-search {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    box-shadow: var(--shadow-lg);
}
@media (min-width: 640px) { .hero-search { flex-direction: row; } }
.hero-search-field { flex: 1; position: relative; }
.hero-search-field .icon-md { position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); color: var(--gray-400); }
.hero-search-field input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.5rem;
    border-radius: var(--radius-md);
    border: none;
    color: var(--gray-900);
    font-size: 0.875rem;
}
.hero-search-field input:focus { outline: none; box-shadow: 0 0 0 2px var(--primary-500); }
.hero-search button {
    background: var(--primary-600);
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: var(--radius-md);
    font-weight: 500;
    font-size: 0.875rem;
    white-space: nowrap;
    border: none;
    transition: background-color .15s;
}
.hero-search button:hover { background: var(--primary-700); }

.specialty-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .specialty-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .specialty-grid { grid-template-columns: repeat(4, 1fr); } }
.specialty-card {
    display: block;
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-lg);
    padding: 1.5rem;
    transition: border-color .15s, box-shadow .15s;
}
.specialty-card:hover { border-color: var(--primary-300); box-shadow: var(--shadow-md); }
.specialty-icon {
    width: 3rem; height: 3rem;
    background: var(--primary-50);
    border-radius: var(--radius-md);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1rem;
    transition: background-color .15s;
}
.specialty-card:hover .specialty-icon { background: var(--primary-100); }
.specialty-icon i { color: var(--primary-600); }
.specialty-card h3 { font-weight: 600; color: var(--gray-900); margin-bottom: 0.5rem; }
.specialty-card p { font-size: 0.875rem; color: var(--gray-500); line-height: 1.625; }

