:root{color-scheme:light;--ink:#202b35;--muted:#52616d;--blue:#164e73;--line:#cdd6dd;--canvas:#e9edf0;font-family:Arial,Helvetica,sans-serif;font-size:16px}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
a:hover{color:#073451;text-decoration-thickness:2px}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid #ac5a16;outline-offset:4px}
[hidden]{display:none!important}
.skip-link{position:absolute;top:8px;left:8px;padding:12px;background:white;z-index:2;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.toolbar{max-width:1056px;margin:24px auto 0;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.wordmark{font-size:.78rem;font-weight:700;letter-spacing:.07em;text-decoration:none;color:var(--ink)}
.wordmark span{display:block;font-size:.64rem;font-weight:400;letter-spacing:.1em;color:var(--muted);margin-top:5px}
.actions{display:flex;flex-wrap:wrap;gap:8px}
.button{min-height:44px;padding:10px 16px;border:1px solid #a7b6c2;border-radius:4px;font-size:.82rem;font-weight:600}
.button-secondary{background:transparent;color:var(--blue)}
.button-primary{background:var(--blue);color:white;border-color:var(--blue)}
.button:hover{filter:brightness(.93)}
.action-status{max-width:1020px;min-height:20px;margin:5px auto 12px;text-align:right;font-size:.78rem;color:var(--muted);padding:0 18px}
.document{max-width:1020px;margin:0 auto;background:white;padding:44px 56px 28px;border-top:5px solid var(--blue);box-shadow:0 8px 36px #17394e0c}
.profile{display:grid;grid-template-columns:minmax(0,1fr) 114px;gap:22px 32px;border-bottom:1px solid var(--line);padding-bottom:22px}
.eyebrow{font-size:.65rem;letter-spacing:.13em;font-weight:700;color:var(--muted);margin:0 0 12px}
h1{font-size:2.25rem;line-height:1.15;letter-spacing:-.045em;margin:0 0 10px;color:#192f40}
.headline{font-size:1rem;font-weight:600;line-height:1.5;margin:0 0 7px}
.specialties{font-size:.87rem;line-height:1.6;color:var(--muted);margin:0}
.portrait{width:114px;height:124px;object-fit:cover;object-position:center 30%;border-radius:2px;align-self:center}
.contacts{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:13px 25px}
.contacts a{display:block;text-decoration:none;min-width:0}
.contact-label{font-size:.72rem;font-weight:700;color:var(--ink);display:block;margin-bottom:3px}
.contact-url{display:block;font-size:.82rem;line-height:1.5;text-decoration:underline;text-underline-offset:3px;color:var(--blue);overflow-wrap:anywhere}
.section-nav{display:flex;gap:12px 24px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);font-size:.8rem}
.section-nav a{font-weight:600}
section{margin-top:27px;scroll-margin-top:18px}
h2{font-size:.94rem;line-height:1.4;letter-spacing:.015em;color:#193c56;border-bottom:1px solid var(--line);padding-bottom:7px;margin:0 0 14px;text-transform:none}
h3{font-size:.94rem;line-height:1.5;margin:0;font-weight:700}
p,dd,li{font-size:.9rem;line-height:1.65}
section>p{margin:0 0 10px}
.entry{margin-bottom:17px;break-inside:avoid}
.entry:last-child{margin-bottom:0}
.entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:4px 18px;flex-wrap:wrap}
.period{font-size:.78rem;color:var(--muted);white-space:nowrap}
.organization{font-size:.84rem;font-weight:600;margin:3px 0 5px;color:#405665;line-height:1.5}
.entry>p:not(.organization){margin:5px 0 0}
.experience-points{margin:5px 0 0;padding-left:19px}
.experience-points li{padding-left:2px;margin:0 0 4px}
.skills{margin:0}
.skills>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;margin-bottom:10px}
dt{font-size:.85rem;line-height:1.6;font-weight:700}
dd{margin:0}
.course-list{margin:6px 0 0;padding-left:19px;columns:2;column-gap:30px}
.course-list li{margin:0 0 5px;padding-left:2px;break-inside:avoid}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);margin-bottom:12px}
.section-heading h2{margin:0;border:0}
.section-heading>a{font-size:.8rem;flex-shrink:0}
.section-intro{color:var(--muted);font-size:.86rem}
.book-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 28px;margin:20px 0 0;padding:0}
.book{display:block;padding:12px 0;border-bottom:1px solid #e0e6ea;break-inside:avoid}
.book-image{display:block;line-height:0}
.book img{width:65px;height:98px;object-fit:contain;object-position:center}
.book-category{font-size:.66rem;color:var(--muted);line-height:1.4;margin:0 0 4px}
.book h3{font-size:.88rem;line-height:1.45;margin-bottom:0}
.book h3 a{color:var(--blue);text-decoration:underline}
.book h3 a:hover{text-decoration:underline}
.book-link{font-size:.78rem;font-weight:600}
.book-print-url,.print-continuation{display:none}
.document-footer{margin-top:27px;border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.72rem;color:var(--muted)}
.document-footer p{margin:0;font-size:inherit}
.page-footer{text-align:center;padding:23px 15px 28px;font-size:.74rem;color:var(--muted)}
.page-footer span{padding:0 8px}
.document{max-width:940px;padding:38px 48px 28px;border-top:0}
.profile{grid-template-columns:minmax(0,1fr) 96px;gap:15px 24px;padding-bottom:18px;border-bottom:2px solid #314d61}
h1{font-size:1.95rem;letter-spacing:-.025em;margin-bottom:9px}
.headline{font-size:.94rem;font-weight:400}
.portrait{width:96px;height:106px}
.contacts{display:flex;flex-direction:column;gap:5px;font-size:.79rem;line-height:1.5}
.contacts a{display:inline;text-decoration:underline;font-size:inherit}
.contacts strong{font-weight:600;color:var(--ink)}
section{margin-top:23px}
h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#263e50;margin-bottom:13px;padding-bottom:6px;border-color:#aab9c3}
.entry-heading h3{font-size:.91rem}
.organization{font-weight:400;color:#374955;margin-top:2px;font-size:.87rem}
.publication-list{margin:10px 0 0;padding-left:20px}
.publication-list li{padding-left:3px;margin-bottom:5px;font-size:.87rem}
.location{font-size:.83rem;color:var(--muted);margin:5px 0 0;line-height:1.5}
.subheading{margin:18px 0 9px;font-size:.88rem}
.qualifications{list-style:none;padding:0;margin:0}
.qualifications li{margin-bottom:12px;break-inside:avoid}
.qualification-heading{display:flex;justify-content:space-between;gap:4px 16px;flex-wrap:wrap;font-size:.87rem}
.qualification-heading span{font-size:.77rem;color:var(--muted)}
.qualifications p{font-size:.82rem;line-height:1.5;color:var(--muted);margin:3px 0 0}
.ongoing{padding-left:19px;margin:7px 0 0}
.ongoing li{margin-bottom:3px}
@media(max-width:740px){.document{padding:32px 30px 25px}.toolbar{margin-top:18px}.profile{column-gap:22px}.skills>div{grid-template-columns:160px minmax(0,1fr);gap:18px}h1{font-size:1.9rem}.course-list{columns:1}.book-list{column-gap:22px}.book img{width:52px;height:80px}.contacts{gap:12px 18px}.contact-url{font-size:.77rem}}
@media(max-width:480px){.document{padding:26px 21px 23px}.toolbar{gap:10px;padding:0 15px}.wordmark{font-size:.65rem}.wordmark span{font-size:.55rem}.button{font-size:.72rem;padding:9px}.actions{gap:5px}.profile{grid-template-columns:minmax(0,1fr) 76px;column-gap:14px;row-gap:18px}.portrait{width:76px;height:88px;align-self:start;margin-top:23px}h1{font-size:1.8rem;line-height:1.08}.eyebrow{font-size:.55rem;letter-spacing:.08em}.headline{font-size:.87rem}.specialties{font-size:.8rem}.contacts{grid-template-columns:1fr}.contact-label{font-size:.72rem}.contact-url{font-size:.82rem}.section-nav{font-size:.78rem;gap:12px 18px}.skills>div{grid-template-columns:1fr;gap:2px;margin-bottom:12px}.book-list{grid-template-columns:1fr;margin-top:10px}.book{padding:12px 0}.book img{width:60px;height:90px}.book h3{font-size:.94rem}.book-category{font-size:.71rem}.section-heading{align-items:start}.section-heading>a{font-size:.73rem}p,dd,li{font-size:.89rem}}
@media print{
 @page{size:A4;margin:14mm 16mm}
 :root{font-size:12pt;--ink:#202020;--muted:#444;--blue:#193c56}
 body{background:white;color:#202020}
 .toolbar,.action-status,.page-footer,.skip-link,.section-nav{display:none!important}
 .document{padding:0;margin:0;max-width:none;width:100%;border:0;box-shadow:none}
 .profile{grid-template-columns:minmax(0,1fr) 25mm;gap:4mm 6mm;padding-bottom:4mm;border-bottom:1pt solid #52616d;break-inside:avoid}
 .portrait{width:25mm;height:28mm;margin:0}
 .eyebrow{font-size:7pt;margin-bottom:2mm;letter-spacing:.7pt}
 h1{font-size:23pt;margin-bottom:2mm}
 .headline{font-size:10pt;margin-bottom:1mm}
 .specialties{font-size:9pt}
 .contacts{display:flex;gap:.7mm;font-size:8pt;line-height:1.4}
 .contact-label{font-size:7.5pt;margin:0}
 .contact-url{font-size:8pt;line-height:1.4}
 section{margin-top:4.5mm}
 h2{font-size:10.5pt;line-height:1.3;letter-spacing:0;padding-bottom:1.5mm;margin-bottom:2.5mm;break-after:avoid}
 h3{font-size:10pt;break-after:avoid}
 p,dd,li{font-size:9.5pt;line-height:1.5;orphans:3;widows:3}
 section>p{margin-bottom:2mm}
 .entry{margin-bottom:3mm}
 .entry-heading{gap:1mm 5mm}
 .organization{font-size:8.8pt;margin:1mm 0}
 .period{font-size:8pt}
 .experience-points{margin-top:1mm;padding-left:4mm}
 .experience-points li{margin-bottom:1mm}
 .skills>div{grid-template-columns:42mm minmax(0,1fr);gap:5mm;margin-bottom:2mm;break-inside:avoid}
 dt{font-size:9pt}
 .course-list{columns:1;margin-top:1mm}
 .course-list li{margin-bottom:.5mm}
 a{color:inherit;text-decoration:underline;text-decoration-thickness:.3pt}
 .education{margin-top:4mm}
 .print-continuation{display:flex;justify-content:space-between;border-bottom:1px solid #bbb;padding-bottom:2mm;font-size:8pt;color:#444;break-before:page}
 .section-heading{margin-bottom:2mm}
 .section-heading h2{font-size:12pt}
 .section-heading>a{font-size:8pt}
 .section-intro{font-size:9pt}
 .book-list{grid-template-columns:1fr;gap:0;margin-top:3mm}
 .book{display:block;padding:2.5mm 0;break-inside:avoid}
 .book-image,.book-link,.book-category{display:none}
 .book h3{font-size:10pt;margin-bottom:.5mm}
 .book h3 a{text-decoration:none}
 .book-print-url{display:block;font-size:8pt;color:#444;line-height:1.4;overflow-wrap:anywhere}
 .publication-list li{font-size:10pt;line-height:1.45;margin-bottom:2mm;break-inside:avoid}
 .location{font-size:8.5pt;margin-top:1mm}
 .subheading{font-size:9.5pt;margin:3mm 0 2mm;break-after:avoid}
 .qualifications li{margin-bottom:2.5mm}
 .qualification-heading{font-size:9.5pt}
 .qualification-heading span{font-size:8pt}
 .qualifications p{font-size:8.5pt;margin-top:.5mm}
 .ongoing li{font-size:9.5pt;margin-bottom:.5mm}
 .document-footer{font-size:8pt;margin-top:4mm;padding-top:2mm}
}
