/* Editorial extensions of the established practical workbook identity. */
.career-page .guide-main { max-width: 960px; }
.career-page h1 { max-width: 22ch; }
.career-page article > section, .career-related { margin-block: 58px; }
.career-page h3 { margin-top: 28px; }
.career-page h4 { font-size: 16px; margin: 24px 0 10px; }
.career-page p { max-width: 75ch; }
.career-table { max-width: 100%; overflow: auto; margin: 24px 0; border: 1px solid #dce5dd; border-radius: 8px; }
.career-table:focus-visible, .worked-solution summary:focus-visible { outline: 3px solid #107c41; outline-offset: 3px; }
.career-table table { border-collapse: collapse; width: 100%; font-size: 14px; line-height: 1.6; font-variant-numeric: tabular-nums; }
.career-table caption { text-align: left; padding: 14px 16px; font-weight: 800; background: #f5f8ed; color: #152f25; }
.career-table th, .career-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #dce5dd; min-width: 90px; vertical-align: top; }
.career-table thead th { background: #f0f7f2; }
.career-table tbody tr:last-child > * { border-bottom: 0; }
.career-table .source-text { white-space: pre-wrap; }
.career-table code { display: block; max-width: 52ch; white-space: pre-wrap; overflow-wrap: anywhere; }
.career-table p { margin: 8px 0; }
.example-units, .career-page figcaption { color: #4f6256; font-size: 14px; }
.worked-solution { margin: 26px 0; border-block: 1px solid #dce5dd; padding-block: 8px 20px; }
.worked-solution summary, .download-workbook summary { cursor: pointer; padding: 14px 0; min-height: 44px; font-weight: 800; }
.worked-answer pre { overflow-x: auto; }
.career-sequence li { margin-block: 16px; }
.career-sequence span { display: block; }
.download-workbook figure { margin: 24px 0; }
.download-workbook figure img { display: block; object-fit: contain; object-position: left top; width: 100%; max-width: 560px; height: auto; max-height: 430px; }
.download-workbook figcaption { margin-top: 12px; }
.career-page dt { font-weight: 800; margin-top: 20px; }
.career-page dd { margin: 6px 0 22px; }
.workbook-hash code { overflow-wrap: anywhere; }
.career-related li { margin-block: 14px; }
.career-page .site-footer nav { flex-wrap: wrap; }
.career-page { background: #fff; }
.career-page .guide-main { padding-top: 36px; }
.career-page .career-page-opening { max-width: 800px; padding-block: 0 24px; }
.career-page .career-page-opening h1 { font-size: 2.75rem; line-height: 1.17; letter-spacing: -.035em; margin: 0 0 22px; text-wrap: balance; }
.career-page .career-page-opening .intro { font-size: 1.125rem; line-height: 1.75; max-width: 66ch; margin-bottom: 24px; }
.career-page .career-page-nav { display: flex; flex-wrap: wrap; column-gap: 28px; padding-block: 8px; margin: 0 0 44px; border-block: 1px solid #dce5dd; }
.career-page .career-page-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.career-page .guide-main article { margin-top: 0; }
.career-page article > section { scroll-margin-top: 24px; }
.career-page article > section:first-child { margin-top: 0; }
.career-page article > section > h2 { font-size: 1.75rem; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 18px; text-wrap: balance; }
.career-page .career-deliverables { margin-block: 28px; border-top: 1px solid #dce5dd; }
.career-page .career-deliverables > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px; padding-block: 22px; border-bottom: 1px solid #dce5dd; }
.career-page .career-deliverables dt { margin: 0; font-size: 1rem; line-height: 1.6; }
.career-page .career-deliverables dd { margin: 0; color: #4f6256; line-height: 1.75; }
.career-page .career-source, .career-page .career-source a { color: #4f6256; font-size: .875rem; line-height: 1.75; }
.career-page .career-pay-reference { padding-block: 6px 24px; border-bottom: 1px solid #dce5dd; }
.career-page .career-pay-reference h3 { margin-top: 12px; }
.career-page .career-pay-reference dl { max-width: 760px; margin: 24px 0; background: #f4f8f5; padding: 8px 24px; }
.career-page .career-pay-reference dl > div { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(0, 2fr); gap: 24px; padding-block: 14px; }
.career-page .career-pay-reference dt, .career-page .career-pay-reference dd { margin: 0; font-size: 1rem; line-height: 1.6; }
.career-page .career-pay-reference dt { color: #4f6256; font-weight: 500; }
.career-page .career-pay-reference dd { overflow-wrap: anywhere; }
.career-page .career-pay-reference strong { font-size: 1.125rem; font-variant-numeric: tabular-nums; }
.career-page .career-path-list { list-style: none; padding: 0; margin: 32px 0 24px; border-top: 1px solid #dce5dd; }
.career-page .career-path-list > li { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px 48px; padding: 26px 0; border-bottom: 1px solid #dce5dd; }
.career-page .career-path-list h3 { margin: 0 0 6px; font-size: 1.25rem; line-height: 1.4; letter-spacing: -.02em; }
.career-page .career-path-list h3 a { display: inline-flex; align-items: center; min-height: 44px; }
.career-page .career-path-list p { margin: 6px 0; font-size: 1rem; line-height: 1.7; }
.career-page .career-path-list .career-path-first { font-size: .875rem; color: #4f6256; }
.career-page .career-path-pay { align-self: center; }
.career-page .career-path-pay p, .career-page .career-path-pay a { font-size: .875rem; line-height: 1.6; }
.career-page .career-path-pay strong { font-size: 1rem; color: #22382c; font-variant-numeric: tabular-nums; }
.career-page :is(.career-page-nav, .career-path-list) a:focus-visible { outline: 3px solid #107c41; outline-offset: 4px; }
.career-page ::selection { background: #d8f3a3; color: #152f25; }
@media (max-width: 620px) {
  .career-page .guide-main { padding-inline: 20px; }
  .career-page h1 { font-size: 32px; line-height: 1.18; }
  .career-page article > section, .career-related { margin-block: 40px; }
  .career-table th, .career-table td { padding: 10px 12px; }
  .career-page .button { max-width: 100%; white-space: normal; text-align: center; }
  .career-page .guide-main { padding-top: 24px; }
  .career-page .career-page-opening { padding-block: 0 20px; }
  .career-page .career-page-opening h1 { font-size: 2rem; line-height: 1.2; }
  .career-page .career-page-opening .intro { font-size: 1rem; line-height: 1.75; }
  .career-page .career-page-nav { gap: 0 20px; margin-bottom: 32px; }
  .career-page .career-page-nav a { font-size: .875rem; }
  .career-page article > section > h2 { font-size: 1.5rem; }
  .career-page .career-deliverables > div { grid-template-columns: minmax(0, 1fr); gap: 8px; padding-block: 20px; }
  .career-page .career-pay-reference dl { padding-inline: 18px; }
  .career-page .career-pay-reference dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .career-page .career-path-list > li { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-block: 24px; }
  .career-page .career-path-pay { padding-left: 16px; border-left: 1px solid #dce5dd; }
}
