.resume-hero{position:relative;padding:var(--space-8) 0 var(--space-6);overflow:hidden}.resume-hero .container{position:relative;z-index:1}.resume-meta-row{display:flex;gap:var(--space-3);align-items:center;font-family:var(--font-mono);font-size:var(--type-mono);color:var(--color-ink-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-4)}.resume-meta-row .dot{width:6px;height:6px;border-radius:50%;background:var(--color-ink-muted);opacity:.6;display:inline-block}.resume-name{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,7vw,84px);line-height:1;letter-spacing:-.015em;margin:0;color:var(--color-ink-primary)}.resume-name .dot-period{color:var(--color-primary)}.resume-headline{font-family:var(--font-display);font-weight:500;font-size:clamp(20px,2.2vw,28px);line-height:1.25;margin-top:var(--space-4);max-width:38ch;color:var(--color-ink-primary)}.resume-headline em{color:var(--color-primary);font-style:italic}.resume-contact{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);align-items:center;font-family:var(--font-mono);font-size:var(--type-mono-lg);color:var(--color-ink-muted);margin-top:var(--space-5)}.resume-contact a{color:var(--color-ink-primary);text-decoration:underline;text-decoration-color:var(--color-ink-muted);text-decoration-thickness:1px;text-underline-offset:3px}.resume-contact a:hover{text-decoration-color:var(--color-ink-primary)}.resume-contact .sep{color:var(--color-ink-muted);opacity:.5}.resume-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-6)}.resume-actions .btn-primary,.resume-actions .btn-outline,.resume-actions .btn-ghost{cursor:pointer;font-family:var(--font-body);font-size:var(--type-caption);line-height:1.25;text-decoration:none;box-sizing:border-box;margin:0;vertical-align:middle}.resume-actions-spacer{width:var(--space-5);display:inline-block}.resume-actions .btn-ghost+.btn-ghost{margin-left:var(--space-3)}.resume-ledger{border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);padding:var(--space-4) 0;background:linear-gradient(to bottom,var(--card-bg-top),var(--card-bg-bottom))}.ledger-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--type-mono-lg);letter-spacing:.06em;color:var(--color-ink-muted)}.ledger-bar .ledger-item{display:flex;flex-direction:column;gap:2px}.ledger-bar .ledger-value{color:var(--color-ink-primary);font-weight:500;font-size:15px}.ledger-bar .ledger-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.resume-body{display:grid;grid-template-columns:220px 1fr;gap:var(--space-7);padding-top:var(--space-7);padding-bottom:var(--space-8);max-width:1200px;margin:0 auto;padding-left:var(--space-5);padding-right:var(--space-5)}.resume-toc{position:sticky;top:96px;align-self:start;font-family:var(--font-mono)}.resume-toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.resume-toc a{display:grid;grid-template-columns:28px 1fr;align-items:baseline;gap:var(--space-2);padding:10px 0;font-size:var(--type-mono-lg);color:var(--color-ink-muted);text-decoration:none;letter-spacing:.04em;border-left:2px solid transparent;padding-left:var(--space-3);margin-left:calc(-1 * var(--space-3));transition:color var(--duration-interactive) var(--ease-interactive),border-color var(--duration-interactive) var(--ease-interactive)}.resume-toc a:hover{color:var(--color-ink-primary)}.resume-toc a.is-active{color:var(--color-ink-primary);border-left-color:var(--color-primary)}.resume-toc .toc-num{font-size:11px;color:var(--color-ink-muted);opacity:.7}.resume-toc a.is-active .toc-num{color:var(--color-primary);opacity:1}.resume-toc-meta{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-rule);display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-muted)}.resume-toc-meta span strong{color:var(--color-ink-primary);font-weight:500}.resume-content{min-width:0}.resume-section{padding-top:var(--space-6);padding-bottom:var(--space-6);border-top:1px solid var(--color-rule)}.resume-section:first-child{border-top:none;padding-top:0}.resume-section-heading{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,2.4vw,36px);line-height:1.15;letter-spacing:-.01em;margin:var(--space-3) 0 var(--space-5)}.resume-section-heading em{color:var(--color-primary);font-style:italic}.resume-section .lead{max-width:68ch}.skills-list{display:grid;gap:var(--space-4);grid-template-columns:1fr}@media screen and (min-width:720px){.skills-list{grid-template-columns:minmax(180px,200px) 1fr;column-gap:var(--space-5);row-gap:var(--space-4)}}.skills-list dt{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);padding-top:3px}.skills-list dd{font-size:15px;line-height:1.55;color:var(--color-ink-primary);margin:0}.roles{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-6)}.role{position:relative}.role-header{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4);align-items:baseline;margin-bottom:var(--space-3)}.role-company{font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.005em;margin:0;color:var(--color-ink-primary)}.role-title{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:17px;color:var(--color-ink-muted);margin:2px 0 0}.role-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--color-ink-muted);text-transform:uppercase;white-space:nowrap}.role-meta .role-location{font-size:11px;opacity:.8}.role-bullets{list-style:none;padding:0;margin:var(--space-3) 0 0;display:flex;flex-direction:column;gap:var(--space-2);max-width:72ch}.role-bullets li{position:relative;padding-left:18px;font-size:15.5px;line-height:1.55;color:var(--color-ink-primary)}.role-bullets li:before{content:"";position:absolute;left:0;top:.68em;width:8px;height:1px;background:var(--color-ink-muted)}.education-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-4)}.degree{display:grid;grid-template-columns:1fr auto;gap:var(--space-2) var(--space-4);align-items:baseline}.degree-school{font-family:var(--font-display);font-weight:600;font-size:18px;margin:0;color:var(--color-ink-primary)}.degree-detail{font-size:14px;color:var(--color-ink-muted);margin:2px 0 0}.degree-detail em{color:var(--color-ink-primary);font-style:italic}.degree-dates{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--color-ink-muted);white-space:nowrap}.awards-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.awards-list li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-rule);align-items:baseline}.awards-list li:last-child{border-bottom:none}.award-marker{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--color-ink-muted);text-transform:uppercase;min-width:48px}.award-text{font-size:15.5px;color:var(--color-ink-primary);line-height:1.45}.award-text .award-year{font-family:var(--font-mono);font-size:12px;color:var(--color-ink-muted);margin-left:var(--space-2)}.resume-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--color-ink-primary);color:var(--color-surface);padding:10px 18px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-interactive),transform .2s var(--ease-interactive);z-index:9999;box-shadow:0 6px 24px #0000001f}.resume-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}@media screen and (max-width:880px){.resume-top{min-height:calc(100svh - 56px);display:flex;flex-direction:column}.resume-hero{padding:var(--space-4) 0 var(--space-5);flex:1 1 auto}.resume-ledger{flex:0 0 auto}.resume-meta-row{margin-bottom:var(--space-4)}.resume-name{font-size:clamp(40px,11vw,60px);letter-spacing:-.02em}.resume-headline{font-size:clamp(18px,4.6vw,22px);margin-top:var(--space-3);max-width:100%}.resume-contact{flex-direction:column;align-items:flex-start;gap:6px;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-rule);font-size:13px}.resume-contact .sep{display:none}.resume-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-2);margin-top:var(--space-5)}.resume-actions .btn-primary,.resume-actions .btn-outline{width:100%;justify-content:center;padding:12px 14px}.resume-actions [data-action=share]{grid-column:1 / -1}.resume-actions-spacer{display:none}.resume-actions .btn-ghost{justify-content:center;padding:8px 0}.resume-actions .btn-ghost+.btn-ghost{margin-left:0}.resume-ledger{padding:var(--space-3) 0 var(--space-5)}.ledger-bar{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-5);justify-content:stretch}.ledger-bar .ledger-item{min-width:0}.resume-body{grid-template-columns:1fr;gap:var(--space-4);padding-top:var(--space-5);padding-bottom:var(--space-5)}.resume-toc{position:static;padding:var(--space-3) 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule)}.resume-toc ol{flex-direction:column;gap:0}.resume-toc a{padding:10px var(--space-3);margin-left:calc(-1 * var(--space-3));border-left:2px solid transparent;border-bottom:none;text-decoration:none!important}.resume-toc a.is-active{border-left-color:var(--color-primary);border-bottom-color:transparent}.role-header{grid-template-columns:1fr}.role-meta{align-items:flex-start}.degree{grid-template-columns:1fr}}@media print{@page{size:A4;margin:12mm 14mm}html,body{background:#fff!important;color:#000!important;font-size:9.75pt;line-height:1.35;font-family:var(--font-body)!important}.site-nav-wrapper,.mobile-menu,.mobile-menu-inner,.site-footer,.resume-actions,.resume-toc,.resume-toast,.search-overlay,.noise-layer:after,.hero-orb{display:none!important}.resume-hero .container,.resume-body,.container{max-width:100%!important;padding:0!important;margin:0!important}.resume-body{display:block!important}.resume-hero{padding:0 0 4mm!important;border-bottom:.5pt solid #000!important;margin-bottom:3mm!important}.resume-meta-row{display:none!important}.resume-name{font-size:22pt!important;margin:0!important;color:#000!important;letter-spacing:-.01em;line-height:1}.resume-name .dot-period{color:#000!important}.resume-headline{font-size:11pt!important;margin-top:1.5mm!important;font-weight:500;color:#000!important;max-width:100%}.resume-headline em{color:#000!important;font-style:italic;font-weight:600}.resume-contact{margin-top:2.5mm!important;font-size:8.5pt!important;color:#000!important;gap:1.5mm 3mm;font-family:var(--font-body)!important}.resume-contact a{color:#000!important;text-decoration:none!important}.resume-contact .sep{color:#666!important}.resume-ledger{padding:2mm 0 3mm!important;margin-bottom:3mm!important;border-top:none!important;border-bottom:.4pt solid #999!important;background:none!important}.ledger-bar{gap:3mm!important;font-size:8.5pt!important;color:#000!important;justify-content:flex-start!important}.ledger-bar .ledger-item{flex:0 0 auto}.ledger-bar .ledger-value{font-size:10pt!important;font-weight:600!important;color:#000!important;font-family:var(--font-body)!important}.ledger-bar .ledger-label{font-size:7.5pt!important;color:#444!important;letter-spacing:.06em}.resume-section{padding:3mm 0 2mm!important;border-top:none!important;break-inside:auto}.resume-section:first-child{padding-top:0!important}.section-label{font-size:7.5pt!important;letter-spacing:.14em;color:#555!important;text-transform:uppercase;font-family:var(--font-body)!important;font-weight:600}.resume-section-heading{font-size:12pt!important;margin:.5mm 0 2.5mm!important;color:#000!important;font-weight:700!important;break-after:avoid;page-break-after:avoid}.resume-section-heading em{color:#000!important;font-style:italic}.lead{font-size:9.5pt!important;line-height:1.4!important;color:#000!important;max-width:100%!important}.skills-list{display:block!important;grid-template-columns:none!important}.skills-list dt,.skills-list dd{display:inline!important;font-family:var(--font-body)!important}.skills-list dt{font-size:9.5pt!important;font-weight:700!important;color:#000!important;letter-spacing:0!important;text-transform:none!important;padding:0!important}.skills-list dt:after{content:" — ";font-weight:400}.skills-list dd{font-size:9.5pt!important;color:#000!important;margin:0!important}.skills-list dd:after{content:"\a";white-space:pre}.skills-list dt:not(:first-of-type){margin-top:0!important}.roles{gap:3mm!important}.role{break-inside:avoid;page-break-inside:avoid}.role-header{margin-bottom:.5mm!important;grid-template-columns:1fr auto!important;gap:0 3mm!important}.role-company{font-size:10.5pt!important;color:#000!important;font-weight:700!important;font-family:var(--font-body)!important}.role-title{font-size:9.75pt!important;color:#000!important;font-style:italic;font-weight:500;margin-top:0!important;font-family:var(--font-body)!important}.role-meta{font-size:8.5pt!important;color:#000!important;gap:.5pt!important;font-family:var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}.role-meta .role-location{font-size:8.5pt!important;color:#444!important}.role-bullets{margin-top:1mm!important;gap:.6mm!important;max-width:100%!important}.role-bullets li{font-size:9.5pt!important;line-height:1.32!important;color:#000!important;padding-left:3.5mm;break-inside:avoid}.role-bullets li:before{background:#000!important;width:1.5mm;top:.7em}.education-list{gap:1.5mm!important}.degree{grid-template-columns:1fr auto!important;gap:0 3mm!important}.degree-school{font-size:9.75pt!important;color:#000!important;font-weight:700!important;font-family:var(--font-body)!important;display:inline}.degree-detail{font-size:9.25pt!important;color:#000!important;margin-top:.5mm!important;display:inline}.degree-detail em{color:#000!important;font-style:italic}.degree-dates{font-size:8.5pt!important;color:#000!important;font-family:var(--font-body)!important;letter-spacing:0!important}.awards-list{display:block!important}.awards-list li{display:list-item;list-style:disc inside;padding:0!important;margin-bottom:.8mm;border:none!important;grid-template-columns:none!important;font-size:9.25pt!important;line-height:1.35;color:#000!important}.award-marker{font-weight:700;font-family:var(--font-body)!important;font-size:9.25pt!important;color:#000!important;text-transform:none!important;letter-spacing:0!important;min-width:0!important}.award-marker:after{content:" · ";font-weight:400;color:#666}.award-text{font-size:9.25pt!important;color:#000!important}.award-text .award-year{font-family:var(--font-body)!important;font-size:8.5pt!important;color:#555!important;margin-left:2mm}a{color:#000!important;text-decoration:none!important}h1 em,h2 em,h3 em,h4 em{color:#000!important}h2,h3{break-after:avoid;page-break-after:avoid}li,p{orphans:2;widows:2}*{transition:none!important;animation:none!important}}
