/* Focused readability and interaction polish for the original client flows.
   Loaded last. Does not change provider/partner layouts, images, data or behavior. */

/* Scope by real form IDs: the newer candidate, organization, partner and
   ProSphere modules retain their independent visual systems. */
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field label{
  font-size:13px;line-height:1.5;color:#414653;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field label span{
  font-size:12px;color:#616978;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field small{
  font-size:12px;line-height:1.65;color:#606877;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field :is(input,textarea,select){
  border-color:#aeb9c8;color:#242c38;background:#fff;line-height:1.5;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field :is(input,textarea)::placeholder{
  color:#687384;opacity:1;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .button,
#recruitment-review .button,#match-results .button{
  min-height:46px;font-size:13px;white-space:normal;text-align:center;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) :is(input,textarea,select,button,a):focus-visible,
:is(#match-results,#recruitment-review,.alert-preferences,.alerts-feed) :is(input,button,a):focus-visible{
  outline:3px solid #176ec1;outline-offset:3px;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .form-actions{
  flex-wrap:wrap;gap:12px;padding-top:23px;margin-top:26px;
}
:is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .autosave{
  max-width:none;font-size:12px;line-height:1.5;color:#5b6575;
}
main:has(:is(#match-form,#inquiry-form,#profile-form,#recruitment-form,#alerts-enabled)) .page-heading{
  max-width:800px;margin-bottom:26px;
}
main:has(:is(#match-form,#inquiry-form,#profile-form,#recruitment-form,#alerts-enabled)) .page-heading p{
  max-width:680px;font-size:15px;line-height:1.7;color:#58616f;
}
.match-input-card,
main:has(#inquiry-form) .plan-card,
main:has(#profile-form) .plan-card,
main:has(#recruitment-form) .plan-card{
  border-top:3px solid #1682e7;
}
main:has(:is(#inquiry-form,#profile-form,#recruitment-form)) :is(.form-subtitle,.copy-feedback){
  font-size:13px;line-height:1.7;color:#606877;
}
main:has(:is(#inquiry-form,#profile-form)) .profile-nudge{
  font-size:13px;line-height:1.6;color:#535e6e;
}
main:has(:is(#inquiry-form,#profile-form)) .profile-nudge a{
  min-height:44px;font-size:13px;white-space:normal;
}

/* Matching: make real controls, examples and evidence easy to scan. */
main:has(:is(#match-form,#recruitment-form)) .match-notice,
.alerts-notice{
  padding:20px;border-color:#c6d2e0;background:#eef3f8;
}
main:has(:is(#match-form,#recruitment-form)) .match-notice b,
.alerts-notice b{font-size:14px;line-height:1.5;color:#354e69}
main:has(:is(#match-form,#recruitment-form)) .match-notice p,
.alerts-notice p{font-size:13px;line-height:1.7;color:#526276}
#match-form .match-topic-options{scrollbar-gutter:stable;max-height:360px}
#match-form .match-topic-options legend{font-size:13px;line-height:1.5;color:#414b5b}
#match-form .match-topic-options>p{font-size:12px;line-height:1.65;color:#606a79}
#match-form .match-topic-options label{
  min-height:44px;gap:10px;margin:3px 0;padding:5px 0;font-size:13px;line-height:1.45;color:#414b5b;
}
#match-form .match-topic-options input{width:18px;height:18px}
#match-form .match-topic-options label:has(input:checked){color:#15558c;font-weight:650}
#match-form .example-row{flex-wrap:wrap;gap:8px;margin-top:20px}
#match-form .example-row>span{font-size:12px;color:#596778}
#match-form .example-row button{
  min-height:44px;font-size:12px;line-height:1.4;padding:10px 12px;white-space:normal;
}
#match-form .constraint-hint,#match-results .match-constraint-note{
  font-size:12px;line-height:1.7;color:#526276;background:#edf3f8;
}
#match-results .brief-summary p,#match-results .match-reasons p,
#match-results .followup-card>p,#match-results .followup-card ul{
  font-size:14px;line-height:1.7;
}
#match-results .match-actions{flex-wrap:wrap;gap:10px}
#match-results .match-actions .text-button{font-size:13px;min-height:44px}

/* Inquiry: keep the existing three-step flow, with legible review/support copy. */
main:has(#inquiry-form) .step{font-size:12px;line-height:1.4;color:#5f6978}
main:has(#inquiry-form) .step.active{color:#166ab5;font-weight:700}
main:has(#inquiry-form) :is(.plan-side>p,.plan-empty,.side-note){
  font-size:13px;line-height:1.7;color:#5e6979;
}
main:has(#inquiry-form) .plan-side>a{min-height:44px;font-size:13px;line-height:1.5}
#inquiry-form .prototype-note{font-size:13px;line-height:1.7;color:#536276}
#inquiry-form .review-block p{font-size:14px;line-height:1.7;color:#465469}
#inquiry-form .review-block small{font-size:11px;line-height:1.5;color:#5e6c7e}
main:has(#inquiry-form)>.reset-draft{min-height:44px;font-size:12px}

/* Optional local profile and referrals: keep the distinction from a real account. */
#profile-form .profile-consent label{font-size:14px;line-height:1.6;color:#414b5b}
#profile-form .profile-consent input{width:18px;height:18px}
#profile-form .profile-consent small,#profile-form .profile-storage-note{
  font-size:12px;line-height:1.7;color:#616978;
}
main:has(:is(#profile-form,#recruitment-form)) .local-profile-label{
  font-size:10px;line-height:1.6;letter-spacing:.8px;
}
main:has(:is(#profile-form,#recruitment-form)) .profile-about :is(li,p,a){
  font-size:13px;line-height:1.75;
}
main:has(:is(#profile-form,#recruitment-form)) .profile-about>p{color:#b4bac8}
main:has(:is(#profile-form,#recruitment-form)) .profile-about>a{min-height:44px}
main:has(#profile-form)>.reset-draft,#recruitment-form .reset-draft{
  min-height:44px;font-size:12px;line-height:1.5;text-align:left;
}
#recruitment-form .recruit-form-note,#recruitment-review .recruit-review>p{
  font-size:13px;line-height:1.7;color:#5d6777;
}
#recruitment-review .recruit-review pre{font-size:13px;line-height:1.75;color:#414b59}

/* Speaker alerts: a preview setting must be as readable as a real setting. */
.alert-preferences h2{font-size:22px;line-height:1.3}
.alert-preferences>p,.alert-preferences .preference-note{
  font-size:12px;line-height:1.7;color:#5c6776;
}
.alert-preferences .toggle-row b{font-size:14px}
.alert-preferences .toggle-row small{font-size:12px;line-height:1.5;color:#606c7c}
.alert-preferences .topic-options{gap:0 14px}
.alert-preferences .topic-options legend{font-size:14px;color:#3c485a}
.alert-preferences .topic-options>p{font-size:12px;line-height:1.6;color:#606c7c}
.alert-preferences .topic-option{
  min-height:44px;gap:10px;margin:4px 0;padding:5px 0;font-size:13px;line-height:1.45;color:#465568;
}
.alert-preferences .topic-option input{width:18px;height:18px;flex-shrink:0}
.alert-preferences .topic-option:has(input:checked){color:#15558c;font-weight:650}
.alert-preferences .delivery-preview>b{font-size:14px}
.alert-preferences .delivery-preview>div{font-size:13px;min-height:36px}
.alert-preferences .delivery-preview span{font-size:11px}
.alert-preferences .preference-feedback{font-size:12px;line-height:1.7;color:#245c88}
.alert-preferences .switch-input:focus-visible+.switch-track{outline-color:#176ec1}
.alerts-feed .alert-disclaimer{font-size:12px;line-height:1.7;color:#606c7c}

@media(max-width:700px){
  :is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field :is(input,textarea,select){
    font-size:16px;min-height:48px;
  }
  :is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .field textarea{line-height:1.6}
  :is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .form-grid{gap:20px 16px}
  main:has(:is(#match-form,#inquiry-form,#profile-form,#recruitment-form,#alerts-enabled)) .page-heading h1{
    font-size:clamp(29px,7.7vw,35px);line-height:1.17;letter-spacing:-.8px;
  }
  main:has(:is(#match-form,#inquiry-form,#profile-form,#recruitment-form,#alerts-enabled)) .page-heading p{font-size:14px}
  main:has(#inquiry-form) .stepper{gap:8px}
  main:has(#inquiry-form) .step{flex-direction:column;align-items:center;text-align:center;gap:7px;font-size:12px}
  main:has(#inquiry-form) .step:after{display:none}
  main:has(#inquiry-form) .step>span{width:28px;height:28px;font-size:12px}
  main:has(#inquiry-form) .step.active{color:#125c9b}
  .mobile-nav{
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
    padding:7px 8px calc(8px + env(safe-area-inset-bottom));box-sizing:border-box;
  }
  .mobile-nav>a{
    min-width:0;min-height:52px;padding:3px 2px;font-size:11px;line-height:1.3;
    text-align:center;overflow-wrap:anywhere;
  }
  .mobile-nav b{left:auto;right:calc(50% - 27px);font-size:9px}
  .mobile-nav>a:focus-visible{outline:3px solid #176ec1;outline-offset:-1px;border-radius:7px}
}
@media(max-width:460px){
  #match-form .match-topic-options{grid-template-columns:1fr;max-height:350px;padding:15px}
  .alert-preferences .topic-options{grid-template-columns:1fr}
  :is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .form-actions .button{flex:1 1 140px}
  :is(#match-form,#inquiry-form,#profile-form,#recruitment-form) .form-actions .autosave{flex-basis:100%}
  #match-results .match-actions .button{flex:1 1 180px}
  #recruitment-review .review-actions .button{flex:1 1 180px}
}
@media(prefers-reduced-motion:reduce){
  :is(#match-form,#inquiry-form,#profile-form,#recruitment-form,#match-results,#recruitment-review,.alert-preferences,.mobile-nav) *{
    transition:none!important;scroll-behavior:auto!important;
  }
}

/* ED Hunter: two compact, visually distinct intent paths, not pale text panels. */
.edhunter-entry-grid.edhunter-pathways{
  grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0 30px;
}
.edhunter-pathways .edhunter-path{
  display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:0;
  padding:26px;border:1px solid #355347;border-radius:17px;background:#090e0c;color:#f4faf6;
}
.edhunter-pathways .edhunter-path-organization{
  background:#19211e;border-color:#465a4e;
}
.edhunter-path-top{display:flex;align-items:center;gap:13px;width:100%;margin-bottom:19px}
.edhunter-path-icon{
  display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;
  border-radius:13px;background:#5bed9d;color:#082314;border:1px solid #78f4b1;
}
.edhunter-path-icon svg{width:25px;height:25px;stroke-width:1.75}
.edhunter-path-organization .edhunter-path-icon{
  background:#263e30;color:#94f3b7;border-color:#50775d;
}
.edhunter-path-label{
  font-size:10px;font-weight:750;letter-spacing:1px;line-height:1.6;color:#a9d6bb;max-width:260px;
}
.edhunter-pathways .edhunter-path h3{
  margin:0 0 13px;font-size:31px;font-weight:750;line-height:1.12;letter-spacing:-.8px;color:#f4faf6;
}
.edhunter-pathways .edhunter-path>p{
  margin:0;font-size:14px;line-height:1.65;color:#becdc4;max-width:440px;
}
.edhunter-path-chips{display:flex;flex-wrap:wrap;gap:7px;margin:17px 0 0}
.edhunter-path-chips>span{
  display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #3b5144;
  border-radius:6px;background:#142219;color:#d0e7d8;font-size:11px;line-height:1.4;
}
.edhunter-path-organization .edhunter-path-chips>span{background:#222f28;border-color:#46604e}
.edhunter-pathways .edhunter-path>.button{
  margin-top:21px;min-height:46px;font-size:13px;line-height:1.45;white-space:normal;
  text-align:left;justify-content:space-between;gap:14px;padding:12px 16px;
  background:#5bed9d;border-color:#5bed9d;color:#082314;font-weight:750;max-width:100%;
}
.edhunter-pathways .edhunter-path>.button:hover{background:#8af4b6;border-color:#8af4b6}
.edhunter-pathways .edhunter-path-organization>.button{
  background:#eff8f1;color:#153b24;border-color:#eff8f1;
}
.edhunter-pathways .edhunter-path-organization>.button:hover{background:#c9f0d5;border-color:#c9f0d5}
.edhunter-pathways .edhunter-path>.button svg{flex-shrink:0}
.edhunter-pathways .edhunter-path>.button:focus-visible{outline:3px solid #a7f5c7;outline-offset:4px}
.edhunter-path-foot{display:block;margin-top:10px;font-size:11px;line-height:1.6;color:#a8bfb1}
@media(max-width:700px){
  .edhunter-entry-grid.edhunter-pathways{grid-template-columns:1fr;gap:14px;margin:20px 0 25px}
  .edhunter-pathways .edhunter-path{padding:23px;border-radius:14px}
  .edhunter-path-top{margin-bottom:17px}
  .edhunter-pathways .edhunter-path h3{font-size:29px;line-height:1.12;margin-bottom:12px}
  .edhunter-pathways .edhunter-path>p{font-size:14px;line-height:1.6;max-width:520px}
  .edhunter-pathways .edhunter-path>.button{margin-top:18px}
}
@media(max-width:420px){
  .edhunter-pathways .edhunter-path{padding:20px}
  .edhunter-path-top{gap:11px;margin-bottom:15px}
  .edhunter-path-icon{width:42px;height:42px;border-radius:11px}
  .edhunter-path-label{font-size:10px;letter-spacing:.65px}
  .edhunter-pathways .edhunter-path h3{font-size:27px}
  .edhunter-path-chips{margin-top:14px;gap:6px}
  .edhunter-path-chips>span{padding:5px 7px;font-size:11px}
  .edhunter-pathways .edhunter-path>.button{width:100%;padding:12px 13px}
}
/* At these widths the visible sidebar leaves too little room for two
   fixed-portrait provider cards. Change only the column count, not photos. */
@media(min-width:701px) and (max-width:900px){
  .provider-directory .provider-grid{grid-template-columns:minmax(0,1fr)}
}
/* Shared topic migration: never hide older choices or turn them into broader preferences. */
.topic-migration-notice{grid-column:1/-1;background:#fff8e8;border:1px solid #b7832b;border-radius:12px;padding:16px;color:#433318;margin:14px 0}.topic-migration-notice h3{font-size:15px;margin:0 0 8px}.topic-migration-notice p,.topic-taxonomy-note{font-size:13px!important;line-height:1.65!important}.topic-migration-notice ul{list-style:none;padding:0;margin:10px 0 0}.topic-migration-notice li{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #d7c5a4}.topic-migration-notice li>span{overflow-wrap:anywhere}.topic-migration-notice button{min-height:44px;text-align:left;color:#4a3920!important}.topic-taxonomy-note{grid-column:1/-1;color:#525c6a;margin:12px 0}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.format-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 8px}.format-filter-row button{min-height:46px;padding:11px 18px;border:1px solid #6e6680;border-radius:10px;background:#fff;color:#33293f;font-size:14px;font-weight:650;cursor:pointer}.format-filter-row button.active{background:#6e2db5;border-color:#6e2db5;color:white}.format-filter-row button:focus-visible{outline:3px solid #2877cb;outline-offset:3px}.format-filter-note{font-size:12px;line-height:1.6;color:#5b5665;margin:0 0 18px;max-width:800px}.profile-program-formats{margin:24px 0 12px;padding:18px;border:1px solid #ded9e5;border-radius:12px}.profile-program-formats p{font-size:13px!important;line-height:1.65}.tag.topic-count{background:#eee8f5;color:#543375}@media(max-width:480px){.format-filter-row{display:grid;grid-template-columns:1fr}.format-filter-row button{width:100%;text-align:left;font-size:14px}}
