.field:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--ring); }
.field input { border: 0; border-radius: 0; padding: .85rem 1rem; flex: 1; min-width: 0; }
.field input:focus { box-shadow: none; }
.field button { border-radius: 0; border-width: 0 0 0 1px; padding: .85rem 1.25rem; }
.finder-note { margin: .65rem 0 0; font-size: var(--font-subheadline); color: var(--grey); }

input, select, textarea {
    width: 100%; font: inherit; color: inherit;
    background: #FFFFFF;
    border: 1px solid var(--border); border-radius: 8px;
    padding: .7rem .9rem;
    transition: border-color .15s, box-shadow .15s;
}
input::placeholder, textarea::placeholder { color: #8A939E; }
input:focus, select:focus, textarea:focus {
    outline: none; border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--ring);
}
textarea { resize: vertical; min-height: 5rem; }
button {
    font: inherit; font-size: var(--font-callout); font-weight: 500; cursor: pointer;
    background: var(--accent); color: #fff;
    border: 1px solid var(--accent); border-radius: 8px;
    padding: .7rem 1.25rem;
    transition: background .15s, border-color .15s;
}
button:hover { background: var(--accent-deep); border-color: var(--accent-deep); }
button:active { transform: translateY(1px); }

.section { padding: 2.8rem 0 0; }
.section-head {
    display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
    border-bottom: 1px solid var(--border); padding-bottom: .5rem; margin-bottom: 1.1rem;
}
h2 { font-weight: 600; font-size: var(--font-title-2); margin: 0; letter-spacing: -.015em; }
.section-note {
    font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .12em;
    text-transform: uppercase; color: var(--grey);
}
.hint { margin: 0 0 1.3rem; color: var(--grey); font-size: var(--font-callout); }

.phrases { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.phrase {
    font-family: var(--mono); font-size: var(--font-footnote); color: var(--ink); text-decoration: none;
    background: var(--bg-subtle); border: 1px solid var(--border); border-radius: 999px;
    padding: .4rem .75rem; cursor: pointer; display: inline-block;
    transition: border-color .12s, color .12s;
}
.phrase:hover { border-color: var(--accent); color: var(--accent); }

/* --- filing search --- */
.page { padding: 2.6rem 0 0; }
.search-row { display: grid; grid-template-columns: 1fr auto; gap: .55rem; }
@media (max-width: 34rem) { .search-row { grid-template-columns: 1fr; } }
#searching {
    display: none; margin: 1.5rem 0 0;
    font-family: var(--mono); font-size: var(--font-caption); letter-spacing: .12em;
    text-transform: uppercase; color: var(--grey);
}
