/* Homepage hero, profile search and listing. */
.sm-hero { background: radial-gradient(1200px 400px at 85% -10%, var(--sm-primary-soft), transparent 60%), linear-gradient(180deg, #fff 0%, var(--sm-bg) 100%); border-bottom: 1px solid var(--sm-line); }
.sm-hero__inner { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: center; padding-top: clamp(40px, 7vw, 88px); padding-bottom: clamp(40px, 7vw, 88px); }
.sm-hero__title { font-size: clamp(2rem, 1.3rem + 3vw, 3.2rem); line-height: 1.12; margin-bottom: 16px; }
.sm-hero__lead { font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem); color: var(--sm-muted); max-width: 40em; margin-bottom: 26px; }
.sm-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.sm-hero__points { list-style: none; margin: 0; padding: 22px; display: grid; gap: 14px; background: #fff; border: 1px solid var(--sm-line); border-radius: var(--sm-radius); box-shadow: var(--sm-shadow); }
.sm-hero__points li { display: flex; gap: 12px; align-items: flex-start; color: var(--sm-ink); font-weight: 500; }
.sm-hero__points .sm-icon { width: 22px; height: 22px; padding: 4px; box-sizing: content-box; border-radius: 50%; background: var(--sm-primary-soft); color: var(--sm-primary); }
@media (max-width: 860px) { .sm-hero__inner { grid-template-columns: 1fr; } }

.sm-listing__header { margin-bottom: 18px; }
.sm-listing__title { margin-bottom: 4px; }
.card-surface { background: #fff; border: 1px solid var(--sm-line); border-radius: var(--sm-radius); box-shadow: var(--sm-shadow); padding: clamp(16px, 3vw, 24px); margin-bottom: 26px; }

.sm-search__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.sm-search__field label, .sm-search__legend { display: block; margin-bottom: 6px; font-size: 0.82rem; font-weight: 600; color: var(--sm-ink); }
.sm-search__range { display: flex; align-items: center; gap: 6px; }
.sm-search__range select { min-width: 0; }
.sm-search__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
@media (max-width: 520px) { .sm-search__actions .sm-btn--primary { width: 100%; } }

.sm-results__count { font-size: 0.9rem; color: var(--sm-muted); margin-bottom: 14px; }
.sm-front-content { padding-bottom: 0; }
.sm-search__field--age { grid-column: span 2; } .sm-search__range select { flex: 1; } @media (max-width: 380px) { .sm-search__field--age { grid-column: auto; } }
