/* Shared refinements: retain the existing navy and teal identity. */
:root { --ui-ink: #143247; --ui-link: #096b70; --ui-line: #cbd7e1; }
:where(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--ui-link); outline-offset: 3px; }
::selection { background: #d0eeeb; color: #143247; }
input::placeholder { color: #5c6a78; opacity: 1; }
.comparison-page { scroll-padding-top: 18px; }
.comparison-head { padding: 18px 24px; }
.comparison-head h1 { font-size: 1.6rem; line-height: 1.25; }
.comparison-page :where(button,select,input:not([type=checkbox]):not([type=range]),summary) { min-height: 44px; }
.comparison-page :where(input,select) { max-width: 100%; }
.comparison-page table { font-variant-numeric: tabular-nums; }
.profile-meta { font-size: .82rem; line-height: 1.5; }
.profile-search-heading, .profile-search-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.profile-search-heading h3 { margin: 0; }
.profile-search-heading { margin-bottom: 16px; }
.profile-filter-label { display: grid; gap: 6px; min-width: 0; color: var(--ui-ink); font-size: .85rem; font-weight: 600; }
.profile-filter-label :where(input,select) { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #aabccb; border-radius: 6px; padding: 9px 10px; background: white; color: #203b4e; font: inherit; font-weight: 400; box-sizing: border-box; }
.profile-query { margin-bottom: 14px; }
.profile-filters { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.profile-more-filters { margin-top: 10px; }
.profile-more-filters summary, .profile-measure-help summary { display: list-item; padding: 12px 0; color: var(--ui-link); font-size: .85rem; font-weight: 600; cursor: pointer; box-sizing: border-box; }
.profile-more-filters .profile-filters { margin-top: 8px; }
.profile-search-footer { border-top: 1px solid var(--ui-line); margin-top: 14px; padding-top: 8px; }
.profile-search-footer p { margin: 0; font-size: .88rem; }
.profile-jump, .profile-section-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ui-link); font-size: .85rem; font-weight: 600; text-underline-offset: 3px; }
.profile-section-links { display: flex; gap: 8px 24px; flex-wrap: wrap; padding: 4px 0; }
.profile-disclosure { margin: 12px 0 18px; padding: 0 0 12px; border-bottom: 1px solid var(--ui-line); }
.profile-disclosure > summary { padding: 12px 0; color: var(--ui-ink); font-size: 1rem; font-weight: 650; cursor: pointer; }
.profile-disclosure > .profile-school-grid { margin-top: 12px; }
.profile-summary-grid { margin-top: 20px; }
.profile-summary-grid .profile-section > p { line-height: 1.5; }
.profile-school-card { box-shadow: none; }
.profile-directory > h3 { margin-bottom: 4px; }
.profile-directory .profile-measure-help { margin-bottom: 14px; }
.profile-disclosure, #profileCommon, #profileDirectory { scroll-margin-top: 20px; }
.mini-label { color: #52667a; }
.guide-card { box-shadow: none; }
.guide-card > summary { font-size: 1.05rem; color: var(--ui-ink); font-weight: 650; cursor: pointer; display: list-item; padding: 10px 0; }
.guide-card[open] > summary { margin-bottom: 12px; }
.guide-card[id] { scroll-margin-top: 18px; }
@media (max-width: 700px) {
 .comparison-head { padding: 16px; }
 .comparison-head h1 { font-size: 1.35rem; }
 .profile-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .comparison-page .profile-filter-label :where(input,select) { font-size: 16px; }
 .profile-section-links { gap: 0 16px; }
}
@media (max-width: 440px) {
 .profile-filters { grid-template-columns: minmax(0,1fr); }
 .profile-search-footer { align-items: flex-start; }
 .profile-search-heading { gap: 8px; }
}
.profile-filters .profile-filter-label :where(input,select) { min-height: 44px; padding: 9px 10px; }
#profileClearFilters { min-height: 44px; padding: 9px 14px; border: 1px solid #aabccb; border-radius: 6px; background: white; color: var(--ui-link); font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer; }
#profileClearFilters:hover { background: #edf7f6; border-color: var(--ui-link); }
