/* Shared reflow and touch refinements, loaded after section styles. */
main { min-width: 0; overflow-wrap: anywhere; }
.site-header.platform-header .brand { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.site-header.platform-header .brand span { max-width: 100%; white-space: normal; }
.form-actions { flex-wrap: wrap; }
.form-actions a, .card-heading a, .legal-footer nav a, .legal-sidebar a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.card-heading { flex-wrap: wrap; }
.card-heading > *, .intake-form-card, .intake-field, .registration-card, .registration-aside { min-width: 0; }
.checkbox-field > label > span, .jobs-checkbox-field label > span { min-width: 0; }
.intake-progress { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); }
.registration-returning .button, .registration-choice .button { max-width: 100%; }
.intake-cta > .button { max-width: 100%; white-space: normal; }
.tracker-tabs { flex-wrap: wrap; row-gap: .5rem; }
.tracker-tab { flex-wrap: wrap; min-width: 0; max-width: 100%; }
.tracker-panel .panel-heading { flex-wrap: wrap; }
.tracker-panel .panel-heading > * { min-width: 0; max-width: 100%; }
.report-builder-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.jobs-card { min-width: 0; }
.jobs-resume-list { overflow-wrap: anywhere; }
.jobs-checkbox-field label { min-height: 2.75rem; }
.jobs-card summary { min-height: 2.75rem; padding-block: .55rem; cursor: pointer; }
.jobs-actions > a, .jobs-card > p > a, .jobs-resume-list a, .jobs-posting-title, .jobs-public-actions a, .jobs-public-card-footer a, .jobs-public-pagination a { display: inline-flex; align-items: center; min-height: 2.75rem; max-width: 100%; }
.jobs-public-card h3 a, .jobs-company a, .jobs-public-breadcrumb a, .jobs-public-business-contact a, .jobs-public-summary > a { display: inline-flex; align-items: center; min-height: 2.75rem; max-width: 100%; }
.jobs-public-breadcrumb { align-items: center; }
.jobs-posting-status-filter select { height: auto; min-height: 2.75rem; }

@media (max-width: 64rem) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .legal-sidebar { position: static; padding: 1rem 1.3rem; border-radius: .4rem; background: #edf4fa; }
  .intake-field input:not([type="checkbox"]):not([type="radio"]), .intake-field select, .intake-field textarea { font-size: max(1rem, 16px); }
}

@media (max-width: 900px) {
  .wizard-grid, .registration-grid, .travel-panel, .feature-grid { grid-template-columns: minmax(0, 1fr); }
  .wizard-grid { gap: 1rem; }
  .wizard-aside { max-width: none; padding: 1rem .5rem; }
  .registration-card { max-width: none; }
  .travel-panel { gap: 1rem; }
}

@media (max-width: 54rem) {
  .site-header.platform-header .platform-navigation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; flex-basis: 100%; width: 100%; }
  .site-header .platform-navigation > .platform-nav-link, .site-header .platform-menu > summary { width: 100%; }
  .platform-menu, .platform-sign-in { grid-column: 1 / -1; }
  .site-header .platform-menu > summary { justify-content: space-between; }
  .platform-menu-panel { position: static; width: 100%; max-height: min(36rem, 60dvh, max(12rem, calc(100dvh - 17rem))); margin-top: .5rem; }
  .platform-menu-content { grid-template-columns: minmax(0, 1fr); gap: 1rem; padding: .65rem; overscroll-behavior: auto; scrollbar-gutter: stable; }
  .platform-menu-footer { padding: .5rem .65rem; }
  .site-header .platform-sign-out { width: 100%; }
  .jobs-search-period { grid-column: 1 / -1; }
}

@media (max-width: 40rem) {
  .site-header.platform-header .platform-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intake-progress li { font-size: .8rem; }
  .intake-page .application-timeline, .tracker-page .application-timeline { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
  .application-timeline .timeline-step { min-height: 2.75rem; padding: 0 0 1rem 1.75rem; font-size: .875rem; }
  .application-timeline .timeline-step::before { top: .6875rem; right: auto; bottom: -.6875rem; left: calc(.4375rem - 1px); width: 2px; height: auto; }
  .application-timeline .timeline-step:last-child { padding-bottom: 0; }
  .application-timeline .timeline-step:last-child::before { display: none; }
  .application-timeline .timeline-dot { position: absolute; top: .25rem; left: 0; width: .875rem; height: .875rem; margin: 0; }
  .application-timeline .timeline-label { max-width: none; font-size: inherit; line-height: 1.5; }
  .application-timeline .timeline-date, .application-timeline .timeline-current-label { font-size: .75rem; }
  .application-timeline .timeline-step.is-skipped::before { background: repeating-linear-gradient(to bottom, #e0e6ef 0, #e0e6ef 4px, transparent 4px, transparent 8px); }
}
