/* Member profiles and directory only; internal fields have no public markup. */
.wb-members-page { max-width: 1120px; margin: 12px auto 56px; }
.wb-members-header { padding: 40px 44px; background: #edf2f7; border-top: 3px solid #557ca1; }
.wb-members-header h1 { margin: 0 0 16px; color: #263e52; font-size: clamp(30px, 4vw, 44px); font-weight: 600; line-height: 1.22; letter-spacing: -.025em; overflow-wrap: anywhere; }
.wb-members-header > p:last-child { max-width: 680px; margin: 0; color: #4b5e6e; font-size: 18px; line-height: 1.7; }
.wb-members-page .wb-member-eyebrow, .wb-members .wb-member-eyebrow { margin: 0 0 12px; color: #365e83; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.wb-members { color: #2d3d4a; }
.wb-member-filters { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1.3fr) minmax(0,.7fr); gap: 22px; margin: 28px 0 32px; padding: 26px; border: 1px solid #d4dfe8; background: #fff; }
.wb-member-filters > div { min-width: 0; }
.wb-member-filters label { display: block; margin-bottom: 9px; color: #263e52; font-size: 14px; font-weight: 600; }
.wb-member-filters input, .wb-member-filters select { display: block; box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #9dafbe; border-radius: 4px; color: #263e52; background: #fff; font: inherit; font-size: 16px; line-height: 1.5; }
.wb-member-filters input::placeholder { font: inherit; color: #667888; letter-spacing: normal; }
.wb-member-filters .wb-member-filter-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.wb-member-filter-actions button { min-height: 48px; padding: 12px 20px; border: 1px solid #365e83; border-radius: 4px; background: #365e83; color: white; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.wb-member-filter-actions button:hover { background: #263e52; }
.wb-member-filter-actions button span { margin-left: 18px; }
.wb-member-filter-actions a, .wb-member-empty a { color: #365e83; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.wb-member-summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 0 20px; }
.wb-member-summary h2 { margin: 0; color: #263e52; font-size: 22px; font-weight: 600; }
.wb-member-summary p { margin: 0; color: #526779; font-size: 14px; }
.wb-member-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.wb-member-card { display: flex; align-items: flex-start; gap: 16px; min-width: 0; padding: 24px 20px; border: 1px solid #d4dfe8; border-top: 3px solid #a4bdcf; border-radius: 3px; background: #fff; }
.wb-member-mark { flex: 0 0 40px; display: flex; align-items: center; justify-content: center; width: 40px; height: 44px; border-radius: 3px; background: #edf2f7; color: #365e83; font-size: 23px; font-weight: 600; }
.wb-member-mark img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.wb-member-card-content { min-width: 0; }
.wb-member-card .wb-member-type { margin: 0 0 10px; color: #526779; font-size: 11px; line-height: 1.5; }
.wb-member-card h3, .wb-member-card h2 { margin: 0; color: #263e52; font-size: 17px; font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; hyphens: auto; }
.wb-member-card .wb-member-description, .wb-member-card .wb-member-location { margin: 12px 0 0; color: #4b5e6e; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.wb-member-card .wb-member-website { display: inline-block; margin-top: 12px; padding: 8px 0; color: #365e83; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.wb-member-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 32px 0 0; }
.wb-member-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #c8d6e2; border-radius: 3px; color: #365e83; font-size: 14px; text-decoration: none; }
.wb-member-pagination .current { border-color: #365e83; color: #fff; background: #365e83; }
.wb-member-pagination a:hover { background: #edf2f7; }
.wb-member-pagination .dots { border: 0; min-width: auto; padding: 0 4px; }
.wb-member-empty { padding: 32px; background: #f2f6f9; }
.wb-member-empty h3 { font-size: 22px; color: #263e52; }
.wb-member-preview { margin: 40px auto 56px; max-width: 1120px; }
.wb-member-preview-header { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.wb-member-preview-header h2 { margin: 0 0 12px; font-size: 32px; color: #263e52; font-weight: 600; }
.wb-member-preview-header p:last-child { margin: 0; color: #526779; font-size: 16px; line-height: 1.7; }
.wb-members .wb-member-directory-link { display: inline-flex; gap: 14px; align-items: center; min-height: 44px; color: #365e83; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.wb-members :is(a,button,input,select):focus-visible { outline: 3px solid #365e83; outline-offset: 4px; }
@media (max-width: 991px) { .wb-member-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .wb-member-filters { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .wb-member-filters > div:first-child { grid-column: 1 / -1; } }
@media (max-width: 575px) { .wb-members-page { margin-top: 0; } .wb-members-header { padding: 26px 20px; } .wb-members-header > p:last-child { font-size: 16px; } .wb-member-filters { padding: 20px; grid-template-columns: minmax(0,1fr); gap: 18px; } .wb-member-filter-actions button { width: 100%; } .wb-member-grid { grid-template-columns: minmax(0,1fr); gap: 12px; } .wb-member-card { padding: 22px 20px; } .wb-member-preview { margin: 28px auto; } .wb-member-preview-header h2 { font-size: 28px; } }
