/* Canonical public recruitment/application CSS. Account packaging maps this same
   landing source to its root; no second stylesheet copy is maintained. */
:root { color-scheme: dark light; }
.pp-page, .pp-page *, .pp-page *::before, .pp-page *::after { box-sizing: border-box; }
body.pp-page { margin: 0; background: var(--mg-bg); color: var(--mg-ink); font: 1rem/1.6 var(--mg-font-ui); overflow-wrap: anywhere; }
.pp-page a { color: var(--mg-accent-text); text-underline-offset: 3px; }
.pp-page ::selection { background: color-mix(in srgb,var(--mg-accent) 28%,transparent); color: var(--mg-ink); }
.pp-page :focus-visible { outline: 3px solid var(--mg-focus); outline-offset: 3px; }
.pp-wrap { width: min(1120px,100% - 40px); margin-inline: auto; }
.pp-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-block: 24px; border-bottom: 1px solid var(--mg-line); }
.pp-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; text-decoration: none; min-height: 44px; }
.pp-header nav { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.pp-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.pp-skip { position: absolute; top: -100px; left: 12px; background: var(--mg-surface); padding: 12px; z-index: 2; }
.pp-skip:focus { top: 8px; }
.pp-page h1, .pp-page h2 { font-family: var(--mg-font-display); font-weight: 700; text-transform: uppercase; line-height: 1.06; letter-spacing: .01em; text-wrap: balance; }
.pp-page h1 { font-size: clamp(2.6rem,6vw,5rem); max-width: 20ch; margin: 0 0 24px; }
.pp-page h2 { font-size: clamp(1.7rem,3vw,2.4rem); margin: 0 0 18px; }
.pp-page h3 { font-size: 1.1rem; margin: 0 0 12px; }
.pp-page p { max-width: 73ch; margin: 0 0 18px; }
.pp-page li { margin-bottom: 12px; padding-left: 4px; }
.pp-page ol, .pp-page ul { padding-left: 24px; }
.pp-hero { padding-block: clamp(48px,7vw,100px); display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 50px; align-items: start; }
.pp-lead { font-size: 1.2rem; max-width: 51ch !important; }
.pp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-block: 28px; }
.pp-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 20px; border: 1px solid var(--mg-accent); border-radius: var(--mg-radius); background: var(--mg-accent); color: var(--mg-on-accent) !important; font: 700 1rem var(--mg-font-ui); cursor: pointer; text-decoration: none; }
.pp-button:hover { filter: brightness(.95); }
.pp-intro-note { border-top: 1px solid var(--mg-line); padding-top: 24px; }
.pp-section { padding-block: 48px; border-top: 1px solid var(--mg-line); scroll-margin-top: 24px; }
.pp-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.pp-role { padding-top: 24px; border-top: 2px solid var(--mg-accent); }
.pp-path { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 36px; counter-reset: steps; list-style: none; padding: 0 !important; margin-top: 24px; }
.pp-path li { counter-increment: steps; padding: 0; }
.pp-path li::before { content: counter(steps,decimal-leading-zero); display: block; color: var(--mg-accent-text); font-family: var(--mg-font-mono); margin-bottom: 8px; }
.pp-path strong { display: block; }
.pp-message { background: var(--mg-surface); border: 1px solid var(--mg-line); border-radius: var(--mg-radius); padding: 24px; margin-block: 24px; }
.pp-message h2 { font-size: 1.7rem; }
.pp-error { border-color: var(--mg-status-danger-ink); }
.pp-help, .pp-page small { color: var(--mg-ink-muted); font-size: .9rem; }
.pp-faq details { border-top: 1px solid var(--mg-line); padding-block: 12px; }
.pp-faq summary { padding-block: 10px; min-height: 44px; cursor: pointer; font-weight: 600; }
.pp-faq details p { margin-top: 12px; }
.pp-application { padding-block: 48px; }
.pp-application-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 48px; margin-top: 36px; }
.pp-form { min-width: 0; }
.pp-form fieldset { padding: 24px 0; margin: 0 0 28px; border: 0; border-top: 1px solid var(--mg-line); min-width: 0; }
.pp-form legend { font-size: 1.1rem; font-weight: 700; padding-right: 12px; }
.pp-form label { display: block; font-weight: 600; margin: 20px 0 6px; }
.pp-form label span:not(.pp-checkbox span) { font-weight: 400; }
.pp-form input:not([type=checkbox]), .pp-form textarea, .pp-form select { display: block; width: 100%; min-height: 48px; font: 1rem/1.5 var(--mg-font-ui); background: var(--mg-surface); border: 1px solid var(--mg-line); color: var(--mg-ink); border-radius: var(--mg-radius); padding: 11px 12px; caret-color: var(--mg-accent-text); }
.pp-form textarea { resize: vertical; }
.pp-form input[type=hidden] { display: none; }
.pp-form small { display: block; margin-top: 7px; }
.pp-form ::placeholder { color: var(--mg-ink-muted); opacity: 1; }
.pp-fields-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.pp-privacy { padding-block: 24px; border-block: 1px solid var(--mg-line); margin-bottom: 24px; }
.pp-privacy h2 { font: 700 1.2rem/1.4 var(--mg-font-ui); text-transform: none; }
.pp-preserve-lines { white-space: pre-line; }
.pp-form .pp-checkbox { display: flex; align-items: start; gap: 12px; padding-block: 10px; }
.pp-checkbox input { width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--mg-accent); }
.pp-aside { align-self: start; border-top: 1px solid var(--mg-line); padding-top: 24px; }
.pp-aside h2 { font-size: 1.7rem; }
.pp-footer { border-top: 1px solid var(--mg-line); padding-block: 32px 48px; color: var(--mg-ink-muted); font-size: .9rem; }
@media (max-width: 780px) { .pp-hero, .pp-application-layout { grid-template-columns: 1fr; gap: 28px; } .pp-header { align-items: start; flex-direction: column; } .pp-path { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 480px) { .pp-wrap { width: calc(100% - 32px); } .pp-columns, .pp-fields-pair, .pp-path { grid-template-columns: 1fr; } .pp-section { padding-block: 32px; } .pp-message { padding: 18px; } .pp-actions { align-items: stretch; flex-direction: column; } .pp-actions > a { display: inline-flex; align-items: center; min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .pp-page *, .pp-page *::before, .pp-page *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
@media print { body.pp-page { background: white; color: black; } .pp-page a { color: black; } .pp-skip, .pp-header nav, .pp-actions, .pp-form button { display: none; } .pp-hero, .pp-columns, .pp-application-layout { display: block; } .pp-page details > :not(summary), .pp-page details::details-content { display: block !important; content-visibility: visible !important; } }
