/* U1.3: one header, one footer, one menu surface for the complete HTML walk. */
.site-header,
.site-footer { box-sizing: border-box; width: 100%; justify-self: stretch; margin: 0; font-family: var(--font-pass-latin); font-weight: var(--weight-home-400); line-height: var(--leading-home-pass-role-003); font-kerning: normal; color: var(--ink-home-pass); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html[data-portal-chrome-pending] .site-header,
html[data-portal-chrome-pending] .site-footer { visibility: hidden; }
.site-header a,
.site-footer a { border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
.site-header { position: sticky; top: 0; z-index: 50; background: var(--paper-home-hall); box-shadow: none; }
.site-header.scroll-state-ready { transition: background-color var(--duration-fast) var(--ease-feedback), box-shadow var(--duration-fast) var(--ease-feedback); }
.site-header.is-scrolled { background-color: var(--paper-home-hall-2); box-shadow: var(--elevation-1); }
.site-header .wrap,
.site-footer .wrap { box-sizing: border-box; max-width: 1336px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }
.site-header .nav { display: flex; align-items: center; gap: 24px; min-height: 68px; }
.site-header .brand { display: inline-flex; flex: none; align-items: center; gap: 10px; color: var(--ink-home-pass); font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-015); font-weight: 600; letter-spacing: var(--tracking-home-pass-role-016); text-decoration: none; white-space: nowrap; }
.site-header .brand svg { width: 26px; height: 18px; fill: currentColor; flex: none; }
.site-header .nav-links { display: flex; align-items: center; gap: clamp(10px, 1.5vw, 22px); margin-left: auto; font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-031); }
.site-header .nav-links a,
.site-header .language-switcher a { display: inline-flex; align-items: center; color: var(--ink-home-pass); font-family: var(--font-pass-latin); font-size: inherit; font-weight: var(--weight-home-400); text-decoration: none; white-space: nowrap; }
.site-header .nav-links a { min-height: 44px; }
.site-header .nav-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
.site-header .nav-signin { min-width: 104px; justify-content: flex-start; }
.site-header .language-switcher { display: flex; align-items: center; gap: 9px; font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-036); }
.site-header .language-switcher a { min-height: 24px; }
.site-header .language-switcher [aria-current="page"] { font-weight: 700; }
.site-header .menu-glyph { display: none; align-items: center; justify-content: center; width: 42px; height: 42px; border: 0; padding: 0; background: transparent; color: var(--ink-home-pass); font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-046); font-weight: var(--weight-home-400); line-height: var(--leading-home-pass-role-003); cursor: pointer; }
.site-header a,
.site-header .menu-glyph,
.site-footer .footer-links a { transition: color var(--duration-fast) var(--ease-feedback), background-color var(--duration-fast) var(--ease-feedback), border-color var(--duration-fast) var(--ease-feedback), box-shadow var(--duration-fast) var(--ease-feedback), outline-color var(--duration-fast) var(--ease-feedback), text-decoration-color var(--duration-fast) var(--ease-feedback); }
@media (hover: hover) and (pointer: fine) {
  .site-header .nav-links a:hover,
  .site-header .language-switcher a:hover,
  .site-footer .footer-links a:hover { color: var(--ink-home-pass); text-decoration: underline; text-underline-offset: 4px; }
}
.site-footer { background: var(--paper-home-hall-2); padding: 34px 0 40px; border-top: 1px solid var(--rule-home-pass); }
.site-footer .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.site-footer .footer-brand { display: inline-flex; align-items: center; height: 28px; font-size: var(--text-home-pass-role-047); font-weight: 600; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; gap: 10px 26px; font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-031); }
.site-footer .footer-links a { display: inline-flex; align-items: center; min-height: 24px; color: var(--ink-home-pass-2); font-size: inherit; text-decoration: none; }
/* Disabled primary actions keep readable ink on paper across every page. */
.btn-primary:is(:disabled, [aria-disabled="true"]),
.login-panel #submit-button:disabled { opacity: 1 !important; background: var(--paper-home-base); color: var(--ink-home-pass-2); border-color: transparent; cursor: not-allowed; }
.footer-tagline,
.footer-meta { margin: 0; padding: 8px clamp(16px, 4vw, 48px); background: var(--paper-home-hall-2); color: var(--ink-home-pass-2); font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-031); }
@media (max-width: 760px) {
  .site-header .nav { min-height: 60px; gap: 12px; }
  .site-header .brand { font-size: var(--text-home-pass-role-017); gap: 6px; }
  .site-header .brand svg { width: 20px; }
  .site-header .nav-links { display: none; }
  .site-header .language-switcher { margin-left: auto; }
  .site-header .menu-glyph { display: inline-flex; margin-left: auto; }
}
/* nav-menu.js moves the controlled nav into this wrapper. It is transparent on desktop. */
.nav-menu-dialog,
.nav-menu-sheet { display: contents; }
.nav-menu-scrim,
.nav-menu-close { display: none; }
.nav-menu-dialog.is-modal { display: block; position: fixed; inset: 0; z-index: 200; }
.nav-menu-dialog.is-modal[hidden] { display: none !important; }
.nav-menu-dialog.is-modal .nav-menu-scrim { display: block; position: absolute; inset: 0; background: var(--nav-menu-scrim); opacity: 0; transition: opacity 160ms var(--ease-drawer); }
.nav-menu-dialog.is-modal .nav-menu-sheet { display: flex; position: absolute; top: 0; right: 0; bottom: 0; flex-direction: column; gap: 16px; width: min(86vw, 360px); padding: 16px 20px 32px; overflow-y: auto; overscroll-behavior: contain; background: var(--paper-home-hall); color: var(--ink-home-pass); box-shadow: var(--elevation-3); transform: translateX(100%); transition: transform 160ms var(--ease-drawer); }
.nav-menu-dialog.is-modal.is-open .nav-menu-scrim { opacity: 1; transition-duration: 240ms; }
.nav-menu-dialog.is-modal.is-open .nav-menu-sheet { transform: none; transition-duration: 240ms; }
.nav-menu-dialog.is-modal .nav-menu-close { display: inline-grid; place-items: center; align-self: flex-end; width: 44px; height: 44px; border: 1px solid var(--rule-home-pass); background: var(--paper-home-hall); color: var(--ink-home-pass); cursor: pointer; }
.nav-menu-dialog.is-modal .nav-links,
.nav-menu-dialog.is-modal .language-switcher { display: flex; order: 0; flex: 0 0 auto; width: auto; margin: 0; }
.nav-menu-dialog.is-modal .nav-links { flex-direction: column; align-items: stretch; gap: 8px; padding: 0; }
.nav-menu-dialog.is-modal .language-switcher { align-self: flex-start; gap: 9px; }
.nav-menu-dialog.is-modal .nav-links a { display: flex; align-items: center; min-height: 44px; border: 0; padding: 0; background: transparent; color: var(--ink-home-pass); font-family: var(--font-pass-latin); font-size: var(--text-home-pass-role-002); text-decoration: none; }
.nav-menu-dialog.is-modal .nav-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 4px; }
html.nav-menu-locked,
html.nav-menu-locked body { overflow: hidden; }
html.nav-menu-failed .site-header .menu-glyph { display: none !important; }
html.nav-menu-failed .site-header .nav-links { display: flex !important; flex-wrap: wrap; }

/* BEGIN generated motion protection: tools/build_motion_protection.mjs */
:where(a[href], button, summary, select, input, textarea, label.dropzone, [role="button"], [role="tab"], .rctl-opt span, button, [role="button"], .btn, .btn-primary, .btn-outline, .btn-ink, .button, .action-primary, .action-link, .scan-pill, .home-pill, .job-action, .filter-chip, .mode-tab, .nav-signin, .audience-toggle button):where(:hover, :active, :focus, :focus-visible):where(
  :is(#live-result, #jd-result, #jd, #template-text, #stage, #track, #file-meta, .trust-note, .submit-helper, #scan-draft-notice, #data-flow, .footer-meta, #audit-form #submit-button, #deep-audit-link, #mobile-sticky-buy-link, input, textarea, select, .portal-jobs-form, .portal-jobs-intro, .portal-jobs-consent, #portal-jobs-results, #pricing, #pack-list, section.receipt, .login-panel, .portal-jobs-access, #result-body, #jobs-list, #match-list),
  :is(#live-result, #jd-result, #jd, #template-text, #stage, #track, #file-meta, .trust-note, .submit-helper, #scan-draft-notice, #data-flow, .footer-meta, #audit-form #submit-button, #deep-audit-link, #mobile-sticky-buy-link, input, textarea, select, .portal-jobs-form, .portal-jobs-intro, .portal-jobs-consent, #portal-jobs-results, #pricing, #pack-list, section.receipt, .login-panel, .portal-jobs-access, #result-body, #jobs-list, #match-list) *,
  :has(:is(#live-result, #jd-result, #jd, #template-text, #stage, #track, #file-meta, .trust-note, .submit-helper, #scan-draft-notice, #data-flow, .footer-meta, #audit-form #submit-button, #deep-audit-link, #mobile-sticky-buy-link, input, textarea, select, .portal-jobs-form, .portal-jobs-intro, .portal-jobs-consent, #portal-jobs-results, #pricing, #pack-list, section.receipt, .login-panel, .portal-jobs-access, #result-body, #jobs-list, #match-list))
) {
  transform: none !important;
}
/* END generated motion protection */
