.opp-search-page, .r6-search-page { padding-block: clamp(3rem, 8vw, 7rem); }
.opp-search-shell { width: min(calc(100% - 40px), 58rem); margin-inline: auto; }
.opp-search-kicker, .opp-search-result__type { color: var(--opp-text-secondary, #6b665d); font-family: var(--font-en-sans); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.opp-search-page h1, .r6-search-page h1 { margin: .4rem 0 1rem; max-width: 16ch; }
.opp-search-intro { max-width: 44rem; margin: 0 0 2rem; }
.opp-search-label { display: block; margin-bottom: .75rem; font: inherit; font-weight: 600; }
.opp-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem; align-items: center; }
.opp-search-input { min-width: 0; width: 100%; box-sizing: border-box; padding: .75rem .9rem; border: 1px solid var(--opp-border-color, #d8d2c7); border-radius: 0; background: transparent; color: inherit; font: inherit; }
.opp-search-input, .opp-search-button { min-height: 48px; }
.opp-search-button { border: 1px solid var(--opp-text-primary, #1a1815); border-radius: 0; padding: .72rem 1rem; background: var(--opp-text-primary, #1a1815); color: var(--opp-background, #fffdf9); font: inherit; cursor: pointer; }
.opp-search-button--quiet { background: transparent; color: var(--opp-text-primary, #1a1815); }
.opp-search-status { min-height: 1.6em; margin: 1.5rem 0; color: var(--opp-text-secondary, #6b665d); }
.opp-search-results { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--opp-border-color, #d8d2c7); }
.opp-search-result { padding: 1.4rem 0; border-bottom: 1px solid var(--opp-border-color, #d8d2c7); }
.opp-search-result h2 { margin: .25rem 0 .6rem; font-size: clamp(1.35rem, 2vw, 1.85rem); }
.opp-search-result h2 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .16em; }
.opp-search-result__summary, .opp-search-result__meta { margin: .45rem 0 0; max-width: 52rem; }
.opp-search-result__meta { color: var(--opp-text-secondary, #6b665d); font-size: .95rem; }
@media (max-width: 640px) { .opp-search-controls { grid-template-columns: 1fr 1fr; } .opp-search-input { grid-column: 1 / -1; } .opp-search-button { width: 100%; } }
