:root{color-scheme:light;--bg:#f6f5f2;--panel:#fff;--text:#20201e;--muted:#62625d;--line:#e5e4df;--soft:#f7f7f4}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid #35635a;outline-offset:5px}
[hidden]{display:none!important}
.skip-link{position:absolute;top:12px;left:12px;z-index:10;padding:12px 18px;background:#fff;border:1px solid var(--text);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.topbar,.resume,.footer{width:min(1140px,calc(100% - 64px));margin-inline:auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;font-weight:650;line-height:1.4}
.brand small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px}
.monogram{display:grid;place-content:center;position:relative;width:43px;height:43px;background:#20201e;color:#fff;border-radius:12px;font-size:16px;letter-spacing:-1px}
.monogram span{position:absolute;right:6px;bottom:8px;color:#c1c1b7}
.nav-links{display:flex;align-items:center;gap:26px;font-size:12px}
.nav-links a{text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
.nav-links .nav-contact{color:var(--text);padding:10px 16px;border:1px solid #d4d4cc;border-radius:7px;background:#fff}
.nav-contact span{margin-left:14px}
.resume{margin-bottom:48px}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:54px;align-items:center;background:#1b1c1a;color:#fafaf8;padding:52px;border-radius:16px;border:1px solid #30312e}
.hero>div{grid-column:1;grid-row:1;min-width:0}
.photo{grid-column:2;grid-row:1;width:240px;height:280px;object-fit:cover;object-position:50% 38%;border-radius:10px;background:#30312e;border:1px solid #53544e}
.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.6px;text-transform:uppercase;color:#cccec4;margin-bottom:23px}
h1{font-size:clamp(34px,4.1vw,54px);font-weight:650;line-height:1.08;letter-spacing:-2.3px;margin:0 0 20px}
h1 span{display:block;color:#c8c9c1;font-weight:400}
.role{max-width:510px;font-size:15px;line-height:1.75;color:#c3c5bb;margin:0 0 26px}
.contact{display:flex;flex-wrap:wrap;gap:8px}
.contact a,.pill{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;font-size:11px;line-height:1.5;border:1px solid #4b4d45;border-radius:5px;overflow-wrap:anywhere;max-width:100%;text-decoration:none;color:#e8e9e2}
.pill{background:#30322c}
.contact a:hover{background:#363830;border-color:#96998b}
.content{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;margin-top:28px;align-items:start}
.content>div,aside{min-width:0}
section{margin:0 0 22px;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
h2{display:flex;align-items:center;gap:14px;margin:0 0 23px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted)}
h2:after{content:"";height:1px;flex:1;background:var(--line);min-width:12px}
.summary{margin:0;color:var(--muted);font-size:14px;line-height:1.95}
.summary strong{color:var(--text);font-weight:550}
.specialty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.specialty{padding:19px;border:1px solid var(--line);border-radius:8px;background:#fbfbf9}
.specialty-icon{display:grid;place-items:center;width:32px;height:32px;background:#eeefea;border:1px solid #e2e3dc;border-radius:7px;font-size:16px;font-weight:650;margin-bottom:16px}
.specialty strong{display:block;font-size:12px;font-weight:650;margin-bottom:7px}
.specialty span{display:block;font-size:12px;color:var(--muted);line-height:1.8}
.job{position:relative;border-left:1px solid var(--line);margin-left:4px;padding:0 0 27px 23px}
.job:before{content:"";position:absolute;left:-4px;top:8px;width:7px;height:7px;background:#8b8e81;border-radius:50%;box-shadow:0 0 0 4px #fff}
.job:last-child{padding-bottom:0}
.job h3{margin:0 0 5px;font-size:15px;font-weight:650;line-height:1.5;letter-spacing:-.2px}
.meta{font-size:10px;line-height:1.7;color:#676b5d;font-weight:600;letter-spacing:.3px;margin-bottom:10px}
.job p{font-size:13px;color:var(--muted);line-height:1.85;margin:0}
.job a{color:var(--text);font-weight:600;white-space:nowrap}
.featured-job{background:var(--soft);padding:20px!important;border:1px solid var(--line);border-radius:8px;margin:0 0 25px}
.featured-job:before{display:none}
.featured-job:last-child{margin-bottom:0}
aside{display:flex;flex-direction:column;gap:22px}
aside section{margin:0;padding:25px}
.sidebox p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}
.sidebox strong{color:var(--text);font-weight:600}
.contact-list{display:grid;gap:17px}
.contact-list a{overflow-wrap:anywhere;text-decoration:none}
.contact-list a:hover{text-decoration:underline}
.contact-list p:first-child{padding-bottom:16px;border-bottom:1px solid var(--line)}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{padding:5px 8px;border:1px solid var(--line);border-radius:5px;font-size:10px;line-height:1.7;color:var(--muted)}
.tag.primary{background:var(--soft);color:#414439;border-color:#dcded3}
.edu,.cert{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.edu:last-child,.cert:last-child{padding:0;margin:0;border:0}
.edu strong,.cert strong{display:block;font-size:12px;line-height:1.6}
.edu span,.cert span,.edu small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #dcdcd4;padding:25px 0 100px;color:var(--muted);font-size:11px}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline}
.print-fab{position:fixed;right:24px;bottom:22px;z-index:5;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:13px 18px;border:1px solid #41423d;border-radius:8px;background:#20211e;color:#fff;font:500 12px/1.5 Inter,ui-sans-serif,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 20px #0002}
.print-fab:hover{background:#3b3d36}
.print-fab svg{width:17px;height:17px;stroke:currentColor}
@media(max-width:1000px){.hero{gap:30px;padding:36px;grid-template-columns:minmax(0,1fr) 190px}.photo{width:190px;height:245px}.content{grid-template-columns:minmax(0,1fr) 285px;gap:18px}section{padding:24px}aside section{padding:22px}.specialty-grid{gap:9px}.specialty{padding:15px}}
@media(max-width:760px){.topbar,.resume,.footer{width:calc(100% - 32px)}.topbar{padding:20px 0}.nav-links{gap:12px}.nav-links>a:not(.nav-contact){display:none}.nav-links .nav-contact{font-size:11px;padding:9px 11px}.nav-contact span{margin-left:5px}.hero{grid-template-columns:minmax(0,1fr) 120px;padding:28px;gap:22px}.photo{width:120px;height:165px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:16px}h1{font-size:36px;letter-spacing:-1.5px}.role{font-size:13px}.content{grid-template-columns:1fr;gap:0}.specialty-grid{gap:12px}aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.footer{flex-wrap:wrap;margin-top:35px}}
@media(max-width:480px){.brand{font-size:11px;gap:9px}.brand small{font-size:10px}.monogram{width:36px;height:36px;font-size:14px}.hero{display:flex;flex-direction:column;align-items:flex-start;padding:26px 22px;gap:24px}.photo{width:96px;height:112px}.hero>div{width:100%}h1{font-size:38px}.role{font-size:14px}.contact{gap:7px}.contact a,.pill{font-size:11px;padding:8px 9px}.content{margin-top:18px}section{padding:22px;margin-bottom:18px}.summary{font-size:13px}.specialty-grid{grid-template-columns:1fr 1fr;gap:8px}.specialty{padding:13px}.specialty strong{font-size:11px}.specialty span{font-size:11px}aside{grid-template-columns:1fr}.job h3{font-size:14px}.footer{flex-direction:column;gap:6px}.print-fab{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
 @page{size:A4;margin:12mm}
 html{scroll-behavior:auto}
 body{background:#fff;color:#111;font-size:10pt}
 .topbar,.skip-link,.print-fab,.footer{display:none!important}
 .resume{width:100%;margin:0}
 .hero{display:grid;grid-template-columns:1fr 90px;gap:20px;background:#fff;color:#111;border:0;border-bottom:1px solid #bbb;border-radius:0;padding:0 0 18px}
 .hero>div{grid-column:1;grid-row:1}
 .photo{grid-column:2;grid-row:1;width:90px;height:110px;border-radius:5px}
 h1{font-size:27px;letter-spacing:-1px;margin-bottom:8px}h1 span{display:inline;color:#333}
 .eyebrow{color:#555;font-size:8px;margin-bottom:9px}.role{color:#444;font-size:10px;margin-bottom:10px}
 .contact{gap:5px}.contact a,.pill{font-size:8px;color:#222;border-color:#ddd;background:#fff;padding:3px 6px}
 .content{display:block;margin-top:15px}
 section,aside section{padding:0 0 16px;margin:0 0 16px;border:0;border-bottom:1px solid #ddd;border-radius:0}
 h2{font-size:9px;margin-bottom:12px;color:#333;break-after:avoid}
 .summary{font-size:10px;line-height:1.65;color:#333}
 .specialty-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.specialty{padding:9px;background:#fff;break-inside:avoid}.specialty-icon{display:none}.specialty strong{font-size:9px}.specialty span{font-size:8px;color:#333}
 .job{break-inside:avoid;padding-bottom:15px}.job h3{font-size:11px}.meta{font-size:8px;margin-bottom:4px;color:#444}.job p{font-size:9px;color:#333;line-height:1.6}
 .featured-job{padding:12px!important;background:#fff;margin-bottom:15px}
 aside{display:block}.contact-list{grid-template-columns:1fr 1fr;gap:8px}.contact-list p:first-child{border:0;padding:0}.sidebox p{font-size:9px}
 .tags{gap:5px}.tag{font-size:8px}.edu,.cert{break-inside:avoid;padding-bottom:8px;margin-bottom:8px}.edu strong,.cert strong{font-size:10px}.edu span,.cert span,.edu small{font-size:9px}
}
