/* Shared reading and print treatment for the two application documents. */
.document-page { background:var(--surface); }
.document-page .masthead { background:var(--paper); }
.document-page nav [aria-current="page"] { text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:3px; }
.document-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:32px; }
.document-toolbar>a:first-child { font-size:13px; }
.document-paper { max-width:1040px; margin:0 auto 64px; padding:64px 72px; background:var(--paper); }
.document-heading { padding-bottom:32px; border-bottom:1px solid var(--line); margin-bottom:40px; }
.document-heading .eyebrow { margin-bottom:16px; }
.document-heading .accent-rule { margin-top:24px; margin-bottom:20px; }
.document-heading .professional-line { color:var(--navy); margin-top:16px; font-size:17px; }
.document-contact { display:flex; flex-wrap:wrap; gap:8px 24px; font-size:12px; color:var(--muted); margin-top:20px; font-style:normal; }
.document-contact a { overflow-wrap:anywhere; }
.document-paper p,.document-paper li { orphans:3; widows:3; }
.document-paper p { font-size:16px; line-height:1.65; }
.document-paper h2 { font-size:34px; line-height:1; margin-bottom:24px; }
.document-paper h3 { font-size:24px; line-height:1.15; }
.document-section { margin-top:48px; }
.document-section:first-child { margin-top:0; }
.cv-profile { color:var(--navy); }
.cv-entry { margin-top:28px; }
.cv-entry:first-of-type { margin-top:0; }
.cv-entry-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px 24px; margin-bottom:12px; }
.cv-entry-heading h3 { max-width:620px; }
.entry-period { color:var(--muted); font-size:12px; line-height:1.5; flex-shrink:0; }
.cv-entry p { margin-top:12px; }
.document-paper ul,.document-paper ol { padding-left:21px; margin:16px 0 0; }
.document-paper li { font-size:15px; line-height:1.65; margin-top:12px; padding-left:4px; }
.document-paper li:first-child { margin-top:0; }
.document-paper li::marker { color:var(--navy); }
.document-paper .source-note { font-size:var(--caption-size); color:var(--muted); line-height:1.55; }
.commercial-note { border-left:3px solid var(--accent); padding-left:20px; margin:20px 0; }
.commercial-note p { font:400 23px/1.35 var(--display); color:var(--navy); }
.commercial-note .source-note { font:400 var(--caption-size)/1.6 var(--body); margin-top:12px; }
.document-quote { margin:28px 0 0; padding:24px 0 0; border-top:3px solid var(--accent); }
.document-quote blockquote { font:400 25px/1.35 var(--display); color:var(--navy); margin:0; }
.document-quote figcaption { margin-top:20px; font-size:var(--caption-size); line-height:1.8; }
.qualification-list { list-style:none; padding-left:0!important; }
.qualification-list strong { font-weight:600; }
.publication-list li { margin-top:20px; }
.publication-list a { overflow-wrap:anywhere; }
.document-end { border-top:1px solid var(--line); padding-top:24px; margin-top:48px; display:flex; justify-content:space-between; gap:24px; font-size:13px; }
.cover-letter .document-paper { max-width:984px; }
.letter-body p { margin-top:20px; }
.letter-body p:first-child { margin-top:0; }
.letter-signoff { margin-top:28px; }
.letter-signoff p+p { margin-top:8px; }
.letter-signoff p:last-child { font:700 24px/1.2 var(--display); color:var(--navy); }
@media(max-width:991px) {
  .document-paper { margin-inline:32px; padding:48px; }
  .document-paper h2 { font-size:28px; }
  .cv-entry-heading { display:block; }
  .entry-period { display:block; margin-top:8px; }
}
@media(max-width:620px) {
  .document-toolbar { align-items:flex-start; padding-block:24px; gap:16px; }
  .document-toolbar .button { min-height:44px; padding:10px 16px; }
  .document-paper { margin:0 0 40px; padding:40px 24px; }
  .document-heading { padding-bottom:28px; margin-bottom:32px; }
  .document-heading .professional-line { font-size:16px; }
  .document-contact { display:grid; gap:8px; }
  .document-section { margin-top:40px; }
  .document-paper h3 { font-size:23px; }
  .document-paper p { font-size:16px; }
  .document-paper li { font-size:15px; }
  .document-end { flex-direction:column; }
}
@media print {
  @page { size:A4; margin:17mm 18mm 18mm; }
  @page application-letter { size:A4; margin:13mm 16mm 14mm; }
  body.cover-letter { page:application-letter; }
  html { scroll-behavior:auto; }
  body.document-page { background:#fff; color:#111820; font-size:10.5pt; line-height:1.43; }
  .document-page .masthead,.document-toolbar,.document-page>.footer,.document-end,.skip { display:none!important; }
  .document-paper,.cover-letter .document-paper { max-width:none; margin:0; padding:0; }
  .document-heading { padding-bottom:12pt; margin-bottom:16pt; }
  .document-heading h1 { font-size:32pt; line-height:1; }
  .document-heading .eyebrow { font-size:8pt; margin-bottom:8pt; }
  .document-heading .professional-line { font-size:11pt; margin-top:8pt; }
  .document-heading .accent-rule { width:30pt; height:2pt; margin:10pt 0; }
  .document-contact { display:flex; gap:4pt 12pt; font-size:8pt; margin-top:10pt; }
  .document-paper p,.document-paper li { font-size:10.5pt; line-height:1.43; }
  .document-paper p+p { margin-top:7pt; }
  .document-paper h2 { font-size:18pt; line-height:1.08; margin-bottom:10pt; break-after:avoid; }
  .document-paper h3 { font-size:12.5pt; line-height:1.15; break-after:avoid; }
  .document-section { margin-top:13pt; }
  .cv-entry { margin-top:10pt; }
  .cv-entry-heading { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:3pt 12pt; margin-bottom:5pt; break-after:avoid; }
  .entry-period { display:inline; font-size:8.5pt; margin-top:0; flex-shrink:1; }
  .cv-entry p { margin-top:6pt; }
  .document-paper ul,.document-paper ol { margin-top:7pt; padding-left:15pt; }
  .document-paper li { margin-top:6pt; padding-left:2pt; }
  .document-paper .source-note { font-size:var(--caption-print-size); line-height:1.4; }
  .commercial-note { padding-left:10pt; margin:9pt 0; border-left-width:2pt; }
  .commercial-note p { font-size:13.5pt; line-height:1.22; }
  .commercial-note .source-note { font-size:var(--caption-print-size); margin-top:5pt; }
  .document-quote { padding-top:10pt; margin-top:13pt; border-top-width:2pt; break-inside:avoid; }
  .document-quote blockquote { font-size:15pt; line-height:1.25; }
  .document-quote figcaption { font-size:var(--caption-print-size); margin-top:8pt; }
  .cv-sheet+.cv-sheet { break-before:page; }
  .cv-sheet>.document-section:first-child { margin-top:0; }
  .publication-list li { font-size:9pt; line-height:1.4; margin-top:9pt; }
  .qualification-list li { margin-top:5pt; }
  .letter-body p { margin-top:5pt; font-size:10.25pt; line-height:1.3; }
  .letter-body p+p { margin-top:5pt; }
  .cover-letter .document-heading { margin-bottom:8pt; padding-bottom:6pt; }
  .cover-letter .document-heading h1 { font-size:28pt; }
  .cover-letter .document-heading .eyebrow { margin-bottom:6pt; }
  .cover-letter .document-heading .accent-rule { margin:7pt 0 0; }
  .cover-letter .professional-line { display:none; }
  .letter-signoff { margin-top:8pt; break-inside:avoid; }
  .letter-signoff p+p { margin-top:4pt; }
  .letter-signoff p:last-child { font-size:14pt; }
  .document-paper a { color:inherit; text-decoration:none; }
}
