:root{color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--page:#f1f2f4;--paper:#fff;--ink:#202127;--muted:#62636d;--line:#dedee4;--accent:#8053b8;--accent-dark:#55317f;--accent-soft:#f0eafa;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0;font-size:15px;line-height:1.65}a{color:inherit;text-underline-offset:3px;text-decoration-color:#b8a0d3}a:hover{color:var(--accent)}.page-frame{min-height:100vh;padding:32px 20px}.resume-sheet{background:var(--paper);width:min(100%,1120px);margin:0 auto;padding:44px 48px 20px;box-shadow:0 12px 38px #20212714}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;padding-bottom:22px;display:flex}.identity h1{color:var(--accent);margin:0;font-size:2.75rem;font-weight:750;line-height:1.12}.identity p{color:var(--accent-dark);margin:8px 0 0;font-size:1.2rem;font-weight:350}.contact-list{border-left:1px solid var(--line);min-width:230px;color:var(--accent-dark);gap:7px;padding-left:24px;font-size:.9rem;font-style:normal;display:grid}.contact-list>*{overflow-wrap:anywhere;align-items:center;gap:12px;display:flex}.contact-icon{width:16px;height:16px;color:var(--accent);flex:0 0 16px;display:inline-flex}.contact-icon svg,.footer-social-icon svg{width:100%;height:100%;display:block}.contact-icon svg path,.footer-social-icon svg path{fill:currentColor}.summary{border-bottom:1px solid var(--line);grid-template-columns:190px 1fr;align-items:center;gap:30px;padding:26px 0;display:grid}.portrait{aspect-ratio:1;object-fit:cover;border-radius:50%;width:168px;height:168px;margin:0 auto;display:block}.summary-copy p{margin:0;font-size:1.02rem;line-height:1.8}.summary-copy{text-align:justify;text-justify:inter-word}.resume-grid{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.9fr) minmax(260px,.9fr);gap:34px;padding:26px 0 28px;display:grid}.sidebar{border-left:1px solid var(--line);padding-left:30px}.resume-section+.resume-section{margin-top:30px}.section-heading{border-left:4px solid var(--accent);color:var(--accent);margin:0 0 18px;padding-left:12px;font-size:1.75rem;font-weight:720;line-height:1.2}.resume-entry+.resume-entry{margin-top:20px}.entry-heading{color:#454650;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0;font-size:1.3rem;font-weight:720;line-height:1.4;display:flex}.entry-heading span{color:var(--muted);font-size:.98rem;font-weight:450}.entry-heading a{text-decoration-thickness:1px}.role-line{color:#34353d;flex-wrap:wrap;justify-content:space-between;gap:0 12px;margin:6px 0 4px;display:flex}.role-line span,.entry-meta{color:var(--muted);margin:0 0 5px;font-size:1rem}.entry-copy{white-space:pre-line;margin:8px 0}.compact-entry{margin-top:0}.side-entry-heading{color:#454650;margin:0 0 5px;font-size:1.25rem;font-weight:700;line-height:1.45}.skill-tags{flex-wrap:wrap;gap:7px;margin:10px 0 0;padding:0;list-style:none;display:flex}.skill-tags li{background:var(--accent-soft);color:var(--accent-dark);border-radius:3px;padding:4px 9px;font-size:.9rem;font-weight:650;line-height:1.45}.skill-list{margin:0}.skill-list div+div{margin-top:9px}.skill-list dt{font-weight:700}.skill-list dd{color:var(--muted);margin:0}.site-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:18px 0 4px;font-size:.85rem;display:flex}.site-footer p{margin:0}.site-footer p span{margin-left:5px}.site-footer .heart{color:#de3618}.site-footer p a{color:var(--accent);font-weight:700}.site-footer nav{flex-wrap:wrap;gap:14px;display:flex}.site-footer nav a{width:24px;height:24px;color:var(--accent-dark);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.site-footer nav a:hover{color:var(--accent)}.footer-social-icon{width:22px;height:22px;color:inherit;display:block}@media (width<=760px){.page-frame{padding:0}.resume-sheet{padding:28px 24px 18px}.masthead{flex-direction:column;align-items:flex-start;gap:18px}.contact-list{border:0;width:100%;padding:0}.summary{text-align:center;grid-template-columns:1fr;gap:18px}.portrait{width:144px;height:144px}.resume-grid{grid-template-columns:1fr;gap:32px}.sidebar{border-top:1px solid var(--line);border-left:0;padding:28px 0 0}.site-footer{flex-direction:column;align-items:flex-start}}@media (width<=420px){.resume-sheet{padding:24px 18px 16px}.identity h1{font-size:2rem}.role-line{flex-direction:column}}
