.home_header {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 2.5rem;
    padding: 2.5rem 1rem 0;
}

.home_h1 {
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.18;
    margin: 0 0 .9rem;
    text-wrap: balance;
}

.home_intro {
    font-size: .875rem;
    line-height: 1.7;
    color: hsl(var(--muted-foreground));
    margin: 0 0 1.4rem;
}

.home_search_wrap {
    position: relative;
    max-width: 400px;
    margin: 0 auto;
    text-align: left;
}

.home_search_input {
    width: 100%;
    box-sizing: border-box;
    height: 2.25rem;
    padding: 0 .75rem 0 2.1rem;
    font-size: .88rem;
    background: hsl(var(--background));
    border: 1px solid hsl(var(--border));
    border-radius: 5px;
    color: hsl(var(--foreground));
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}

.home_search_input:focus {
    border-color: hsl(var(--primary) / .35);
    box-shadow: 0 0 0 2px hsl(var(--primary) / .08);
}

.home_search_input::placeholder { color: hsl(var(--muted-foreground)); }

.home_search_icon {
    position: absolute;
    left: .6rem;
    top: 50%;
    transform: translateY(-50%);
    color: hsl(var(--muted-foreground));
    pointer-events: none;
    display: flex;
}

.home_row { cursor: pointer; }

.home_table_footer {
    font-size: .74rem;
    color: hsl(var(--muted-foreground));
    padding: .5rem 1rem;
    border-top: 1px solid hsl(var(--border));
}

@media (max-width: 959px) {
    .home_intro { line-height: 1.4; }
}
