/* Shared by the four unlisted career profiles. External CSS preserves the site's self-only CSP. */
:root { color-scheme: dark; --pm-bg:#07111c; --pm-panel:#0b1928; --pm-raised:#10263b; --pm-line:#314459; --pm-text:#edf2f5; --pm-muted:#c9d3dc; --pm-lime:#c8f000; --pm-focus:#59c8ff; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-padding-top:1.5rem; }
.pm-page { margin:0; background:var(--pm-bg); color:var(--pm-text); font:1rem/1.6 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.pm-page a { color:inherit; text-underline-offset:.22em; text-decoration-thickness:.08em; overflow-wrap:anywhere; }
.pm-page a:hover { color:var(--pm-lime); }
.pm-page :focus-visible { outline:3px solid var(--pm-focus); outline-offset:4px; }
.pm-page img { display:block; max-width:100%; }
.pm-wrap { width:min(1120px,calc(100% - 3rem)); margin-inline:auto; }
.pm-skip { position:absolute; top:.75rem; left:.75rem; z-index:10; transform:translateY(-200%); padding:.65rem 1rem; background:var(--pm-lime); color:var(--pm-bg)!important; border-radius:6px; }
.pm-skip:focus { transform:translateY(0); }
.pm-header { border-bottom:1px solid var(--pm-line); background:var(--pm-panel); }
.pm-header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.pm-header-inner>a:last-child { font-size:.9rem; font-weight:650; }
.pm-header img { width:160px; height:48px; }
.pm-hero { display:grid; grid-template-columns:minmax(0,1fr) 128px; align-items:start; gap:2.5rem; padding:2.5rem 0 1.35rem; }
.pm-page h1,.pm-page h2,.pm-page h3,.pm-page p { margin-top:0; }
.pm-page h1,.pm-page h2,.pm-page h3 { line-height:1.2; letter-spacing:-.025em; }
.pm-page h1 { font-size:clamp(2.4rem,5vw,3.3rem); margin-bottom:.5rem; }
.pm-role { color:var(--pm-lime); font-size:clamp(1.15rem,2.5vw,1.65rem); font-weight:750; line-height:1.3; margin-bottom:.8rem; }
.pm-intro { max-width:79ch; margin-bottom:.9rem; }
.pm-eyebrow { color:var(--pm-lime); font-size:.73rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; margin-bottom:.65rem; }
.pm-portrait { width:128px; height:auto; aspect-ratio:428/658; object-fit:contain; border-radius:12px; background:var(--pm-panel); }
.pm-contact { display:flex; flex-wrap:wrap; gap:.4rem 1.25rem; font-size:.9rem; margin:0; }
.pm-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border:1px solid var(--pm-line); border-radius:12px; background:var(--pm-raised); overflow:hidden; }
.pm-facts div { padding:1rem 1.25rem; }
.pm-facts div+div { border-left:1px solid var(--pm-line); }
.pm-facts dt { color:var(--pm-lime); font-size:1.8rem; font-weight:800; line-height:1.25; }
.pm-facts dd { margin:.3rem 0 0; color:var(--pm-muted); font-size:.85rem; }
.pm-snapshot { padding:1rem 0 .3rem; font-size:.9rem; }
.pm-snapshot p { margin:0 0 .55rem; }
.pm-snapshot strong { color:var(--pm-lime); margin-right:.5rem; }
.pm-jump { display:flex; flex-wrap:wrap; gap:.45rem .6rem; padding:.6rem 0 0; }
.pm-jump a { display:inline-flex; min-height:44px; align-items:center; border:1px solid var(--pm-line); border-radius:6px; padding:.45rem .8rem; background:var(--pm-panel); font-size:.85rem; font-weight:650; text-decoration:none; }
.pm-jump a:hover { border-color:var(--pm-lime); }
.pm-section { padding:2.3rem 0; border-bottom:1px solid var(--pm-line); scroll-margin-top:1rem; }
.pm-page h2 { font-size:clamp(1.5rem,3vw,2rem); margin-bottom:.8rem; }
.pm-page h3 { font-size:1.08rem; margin-bottom:.65rem; }
.pm-section>h3:not(:first-child) { margin-top:1.7rem; }
.pm-note { font-size:.9rem; color:var(--pm-muted); margin-bottom:1rem; }
.pm-table { width:100%; border-collapse:collapse; text-align:left; table-layout:fixed; margin:1rem 0; font-size:.92rem; }
.pm-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.pm-table th,.pm-table td { padding:.85rem 1.1rem; vertical-align:top; overflow-wrap:anywhere; border-bottom:1px solid var(--pm-line); }
.pm-table thead th { background:var(--pm-raised); color:var(--pm-muted); font-size:.77rem; letter-spacing:.04em; text-transform:uppercase; }
.pm-table thead th:first-child { width:27%; }
.pm-table tbody th { color:var(--pm-lime); font-weight:700; }
.pm-table tbody tr { background:var(--pm-panel); }
.pm-table tbody tr:nth-child(even) { background:#0e2032; }
.pm-callout { margin-top:1.2rem; padding:1.2rem 1.4rem; background:var(--pm-raised); border-left:3px solid var(--pm-lime); border-radius:0 8px 8px 0; }
.pm-callout p { margin-bottom:.55rem; }
.pm-callout p:last-child { margin-bottom:0; }
.pm-strengths { color:var(--pm-lime); font-size:.9rem; margin-bottom:1.2rem; }
.pm-career-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.pm-card { padding:1.3rem; background:var(--pm-panel); border:1px solid var(--pm-line); border-radius:10px; }
.pm-card p { font-size:.9rem; margin-bottom:0; }
.pm-card .pm-dates { color:var(--pm-muted); font-size:.78rem; margin-bottom:.8rem; }
.pm-credentials { margin-top:1.5rem; }
.pm-credentials p { font-size:.9rem; margin-bottom:.5rem; color:var(--pm-muted); }
.pm-end { display:flex; align-items:center; justify-content:space-between; gap:2rem; border-bottom:0; padding-bottom:3rem; }
.pm-end p { color:var(--pm-muted); font-size:.9rem; }
.pm-button { display:inline-flex; align-items:center; min-height:44px; padding:.65rem 1rem; background:var(--pm-lime); color:var(--pm-bg)!important; border-radius:6px; text-decoration:none; font-weight:750; }
.pm-button:hover { background:#dcff49; }
.pm-related { display:grid; gap:.6rem; font-size:.9rem; }
.pm-footer { border-top:1px solid var(--pm-line); background:var(--pm-panel); padding:1.25rem 0; color:var(--pm-muted); font-size:.8rem; }
.pm-footer .pm-wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; }
@media(max-width:760px) { .pm-career-grid { grid-template-columns:1fr; } .pm-hero { gap:1.4rem; grid-template-columns:minmax(0,1fr) 100px; } .pm-portrait { width:100px; } .pm-facts dt { font-size:1.45rem; } .pm-facts div { padding:.9rem; } }
@media(max-width:560px) {
 .pm-wrap { width:calc(100% - 2rem); }
 .pm-header-inner { min-height:70px; } .pm-header img { width:132px; height:auto; } .pm-header-inner>a:last-child { font-size:.8rem; }
 .pm-hero { display:grid; grid-template-columns:minmax(0,1fr) 56px; gap:0 1rem; padding-top:1.65rem; }
 .pm-hero>div { display:contents; }
 .pm-portrait { grid-column:2; grid-row:1 / span 2; width:56px; border-radius:6px; }
 .pm-hero h1 { grid-column:1; grid-row:2; } .pm-hero .pm-eyebrow { grid-column:1; grid-row:1; font-size:.65rem; } .pm-role { grid-column:1 / -1; grid-row:3; margin-top:.8rem; } .pm-intro,.pm-contact { grid-column:1 / -1; }
 .pm-facts { grid-template-columns:1fr; } .pm-facts div { display:grid; grid-template-columns:115px minmax(0,1fr); gap:.5rem; align-items:center; padding:.7rem .9rem; }
 .pm-facts div+div { border-left:0; border-top:1px solid var(--pm-line); } .pm-facts dd { margin:0; }
 .pm-table,.pm-table tbody,.pm-table tr,.pm-table th,.pm-table td { display:block; width:100%; }
 .pm-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
 .pm-table tr { border-bottom:1px solid var(--pm-line); padding:.15rem 0; }
 .pm-table tbody th { border:0; padding:.8rem 1rem .2rem; }
 .pm-table td { border:0; padding:.15rem 1rem .85rem; }
 .pm-section { padding:1.8rem 0; } .pm-end { display:block; } .pm-related { margin-top:1.5rem; }
}
@media print {
 :root { color-scheme:light; }
 .pm-page { color:#111; background:#fff; font-size:10pt; }
 .pm-header,.pm-jump,.pm-contact,.pm-end,.pm-footer,.pm-skip,.pm-portrait { display:none; }
 .pm-wrap { width:100%; } .pm-hero { display:block; padding:0; }
 .pm-page h1 { font-size:26pt; } .pm-page h2 { font-size:16pt; } .pm-section { padding:1rem 0; }
 .pm-role,.pm-eyebrow,.pm-facts dt,.pm-snapshot strong,.pm-table tbody th,.pm-strengths { color:#222; }
 .pm-note,.pm-facts dd,.pm-card .pm-dates,.pm-credentials p { color:#333; }
 .pm-facts,.pm-table tbody tr,.pm-table tbody tr:nth-child(even),.pm-table thead th,.pm-callout,.pm-card { color:#111; background:#fff; }
 .pm-career-grid { display:block; } .pm-card { margin-bottom:.7rem; }
 .pm-table tr,.pm-card,.pm-callout { break-inside:avoid; } .pm-page h2,.pm-page h3 { break-after:avoid; }
}

/* Standard site header/footer: profile typography is scoped to main, not body. */
html { scroll-padding-top:calc(var(--header-height,5rem) + 1rem); }
main.pm-page { margin-inline:auto; }
main.pm-page h1,main.pm-page h2,main.pm-page h3 { color:var(--pm-text); }
.pm-lead { max-width:85ch; margin-bottom:1.2rem; }
.pm-lead strong { color:var(--pm-lime); }
@media print {
 .site-header,.site-footer,.skip-link { display:none; }
 body { background:#fff; color:#111; }
 main.pm-page h1,main.pm-page h2,main.pm-page h3,.pm-lead strong { color:#111; }
}
