/*
 * Site-authored overrides for the mirrored legacy chrome stylesheets.
 * Loaded AFTER /Content/css/main.css on every page that renders the
 * imported chrome. Never edit the mirrored files under /Content (they
 * can be refreshed by fetch-parity); put chrome fixes here instead.
 *
 * The legacy stylesheet fixes the header (position: fixed), which takes
 * it out of normal flow and forces every layout to guess its height with
 * hardcoded paddings. Sticky keeps the exact same pinned-on-scroll look
 * while the header reserves its own real height at every breakpoint, so
 * no offset compensation is needed anywhere.
 */
.SiteHeader {
  position: sticky;
  top: 0;
  left: auto;
}

/*
 * Keyboard operability for the primary nav dropdown (Workstream 3).
 * The mirrored legacy CSS opens .has-sub .sub only on :hover and li:focus,
 * but an <li> never receives keyboard focus, so tabbing to the "Company"
 * link never revealed its submenu. :focus-within opens the panel while any
 * descendant (the trigger link or a submenu link) holds focus, so the whole
 * menu is reachable and operable with the keyboard alone. Same visual state
 * as hover, no parity edits.
 */
.SiteHeader .header-main .HeaderNav .HeaderNav__list li.has-sub:focus-within .sub {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
  left: 0;
}

/*
 * Mobile nav: open the Company submenu when its toggle is tapped.
 * The mirrored legacy CSS hides li.has-sub .sub with display:none inside
 * the hamburger menu, but ships no .subcheck:checked ~ .sub rule to
 * reveal it, so the Company dropdown could never open on small screens
 * (and the /company link, desktop-only, was unreachable). The checkbox
 * and label are already in the parity markup; this supplies the missing
 * reveal rule. "About Our Company" inside the submenu links to /company.
 */
@media only screen and (max-width: 1500px) {
  .SiteHeader .header-main .HeaderNav .HeaderNav__list li.has-sub .subcheck:checked ~ .sub {
    display: block;
  }
}

/*
 * Header CTA label fit. The mirrored legacy CSS sized .header-btn for the
 * short "Contact Us" label: a clamp(180px, 15.6vw, 235px) button whose
 * <span> fills the whole 1fr grid cell with no padding. The longer
 * "Talk to an Engineer" label wraps and presses flush against the button
 * walls. Give the label real horizontal padding, a sane wrapped
 * line-height, and a slightly responsive font size so it sits centered
 * with breathing room at every width. No parity edits.
 */
.SiteHeader .header-main .header-btn span {
  box-sizing: border-box;
  padding: 0 clamp(10px, 1vw, 16px);
  font-size: clamp(11px, 0.9vw, 13px);
  line-height: 1.3;
  text-align: center;
}

/*
 * Site-wide font: web-safe Helvetica (user request, July 2026). The
 * mirrored legacy chrome CSS sets Titillium Web / PT Sans on dozens of
 * header/footer selectors; this single high-priority override retires
 * both webfonts everywhere the legacy chrome renders.
 */
.SiteHeader,
.SiteHeader *,
.site-footer,
.site-footer *,
.footer-main,
.footer-main *,
.footer-lower,
.footer-lower * {
  font-family: Helvetica, Arial, sans-serif !important;
}

/*
 * Same Helvetica switch for parity/migrated page CONTENT. The mirrored
 * legacy main.css applies Titillium Web / PT Sans to ~30 content
 * selectors (body, headings, buttons, forms), and pass-through calc
 * widgets carry inline font-family styles from the legacy CMS; the
 * !important here beats both. Scoped to :not(.ind-page) so the authored
 * industry design system (Barlow / IBM Plex Mono, loaded via
 * /fonts/fonts.css on IndustryLayout) keeps its own type; code/pre/kbd/
 * samp keep monospace.
 */
body,
#main-content:not(.ind-page),
#main-content:not(.ind-page) *:not(code):not(pre):not(kbd):not(samp) {
  font-family: Helvetica, Arial, sans-serif !important;
}
