:root { --ink:#11110f; --bone:#f6f3ed; --muted:#666159; --accent:#9d6b2d; --line:#d7d1c7; }
* { box-sizing:border-box; }
body { margin:0; background:#dedbd5; color:var(--ink); font-family:'DM Sans',sans-serif; line-height:1.45; }
a { color:inherit; }
.resume-toolbar { position:sticky; top:0; z-index:10; display:flex; justify-content:space-between; align-items:center; padding:14px max(20px,calc((100vw - 920px)/2)); background:#11110f; color:#f6f3ed; font-size:.82rem; }
.resume-toolbar a { text-decoration:none; }
.resume-toolbar button { border:1px solid rgba(255,255,255,.25); background:transparent; color:inherit; padding:8px 12px; cursor:pointer; }
.resume-page { width:min(920px,calc(100% - 28px)); margin:28px auto; padding:56px; background:var(--bone); box-shadow:0 25px 80px rgba(0,0,0,.15); }
.resume-heading { display:grid; grid-template-columns:1fr 220px; gap:50px; padding-bottom:28px; border-bottom:2px solid var(--ink); }
.eyebrow { margin:0 0 8px; color:var(--accent); font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; }
h1,h2,h3 { margin:0; font-family:'Manrope',sans-serif; }
h1 { font-size:3.7rem; line-height:1; letter-spacing:-.06em; }
.summary { max-width:580px; margin:18px 0 0; color:var(--muted); }
address { display:flex; flex-direction:column; gap:7px; font-style:normal; font-size:.82rem; }
.resume-grid { display:grid; grid-template-columns:1.55fr .75fr; gap:50px; margin-top:34px; }
section + section { margin-top:32px; }
h2 { padding-bottom:8px; border-bottom:1px solid var(--line); color:var(--accent); font-size:.82rem; text-transform:uppercase; letter-spacing:.14em; }
article { margin-top:20px; }
.role-head { display:flex; justify-content:space-between; gap:18px; }
.role-head h3, article h3 { font-size:1rem; }
.role-head p, article p { margin:3px 0 0; color:var(--muted); font-size:.88rem; }
.role-head span, article span { white-space:nowrap; color:var(--muted); font-size:.75rem; }
ul { margin:10px 0 0; padding-left:18px; }
li { margin:5px 0; font-size:.84rem; }
.subrole { margin-top:10px; padding-top:8px; border-top:1px solid var(--line); font-size:.8rem; }
.compact { padding-left:0; list-style:none; }
.compact li { padding:6px 0; border-bottom:1px solid var(--line); }
@media (max-width:720px) { .resume-page{padding:30px;} .resume-heading,.resume-grid{grid-template-columns:1fr;} h1{font-size:3rem;} }
@media print { body{background:#fff;} .resume-toolbar{display:none;} .resume-page{width:100%;margin:0;padding:0;box-shadow:none;} a{text-decoration:none;} @page{size:letter;margin:.5in;} }
