.resume{--resume-sans:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif);--resume-mono:var(--font-mono,ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace);color:var(--color-text);font-family:var(--resume-sans);overflow-wrap:anywhere;max-width:100%;font-size:1.0625rem;line-height:1.6}.resume h1,.resume h2,.resume h3{margin:0;line-height:1.15}.resume p{margin:0}.resume a{color:var(--color-accent-2);text-underline-offset:3px}.resume a:hover{color:var(--color-text)}.resume :focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px}.resume .r-block{margin:64px 0 0}.resume .r-block:first-of-type{margin-top:0}.resume .r-links{font-family:var(--resume-mono);flex-wrap:wrap;gap:10px;margin:20px 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.resume .r-links a{border:1px solid var(--color-border);color:var(--color-text);overflow-wrap:normal;align-items:center;gap:8px;padding:6px 12px;text-decoration:none;display:inline-flex}.resume .r-links a:hover{border-color:var(--color-accent-2);color:var(--color-accent-2)}.resume .r-links .platform-icon{color:var(--color-accent-2);flex:none}.resume .r-links a:hover .platform-icon{color:inherit}.resume .sec{font:600 12px/1.4 var(--resume-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-2);margin:0 0 22px}.resume .r-head{padding-top:56px}.resume .r-head h1{font:700 clamp(36px, 6.4vw, 68px)/1 var(--resume-sans);letter-spacing:-.02em}.resume .headline{font:500 clamp(15px, 1.8vw, 18px)/1.5 var(--resume-sans);color:var(--color-accent-2);margin-top:12px}.resume .r-summary{max-width:62ch;color:var(--color-muted);margin-top:24px;font-size:clamp(17px,2vw,19px)}.resume .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:36px;display:grid}@media (width>=820px){.resume .stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.resume .stat{background:var(--color-surface);border:1px solid var(--color-border);padding:18px}.resume .stat.wide{grid-column:1/-1}@media (width>=820px){.resume .stat.wide{grid-column:auto}}.resume .num{font:700 clamp(24px, 3vw, 32px)/1.1 var(--resume-sans);font-variant-numeric:tabular-nums;display:block}.resume .num .arrow{color:var(--color-accent)}.resume .stat-label{color:var(--color-muted);margin-top:8px;font-size:14px;display:block}.resume .tl{position:relative}.resume .rail{pointer-events:none;width:14px;position:absolute;top:0;bottom:0;left:0}.resume .rail-track,.resume .rail-fill{width:2px;position:absolute;top:0;left:6px}.resume .rail-track{background:var(--color-border);bottom:0}.resume .rail-fill{background:linear-gradient(var(--color-accent-2), var(--color-accent));transform-origin:top;height:100%;transform:scaleY(var(--p,1));box-shadow:0 0 12px #f2a03d73}.resume .rail-head{background:var(--color-accent);width:14px;height:14px;transform:translate3d(0, calc(var(--p,1) * var(--rail-h,0px) - 7px), 0);will-change:transform;border-radius:50%;display:none;position:absolute;top:0;left:0;box-shadow:0 0 0 5px #f2a03d29,0 0 18px 4px #f2a03d8c}.resume .era-slot{display:none}.resume .era{border:1px solid var(--color-border);font:600 12px/1.2 var(--resume-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-2);background:#33281deb;padding:6px 10px;display:inline-block}.resume .roles{margin:0;padding:0 0 0 32px;list-style:none;position:relative}.resume .role{position:relative}.resume .role+.role{margin-top:28px}.resume .node{box-sizing:border-box;border:2px solid var(--color-accent);background:var(--color-accent);width:14px;height:14px;box-shadow:0 0 0 4px var(--color-bg), 0 0 14px 2px #f2a03d73;border-radius:50%;position:absolute;top:24px;left:-32px}.resume .card{background:var(--color-surface);border:1px solid var(--color-border);min-width:0;padding:18px 20px}.resume .role-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.resume .role h3{font:700 20px/1.25 var(--resume-sans)}.resume .org{font:600 14px var(--resume-sans);color:var(--color-accent-2)}.resume .dates{font:13px/1.4 var(--resume-sans);color:var(--color-muted);margin:4px 0 12px}.resume .role ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.resume .role li{color:var(--color-muted);padding-left:16px;position:relative}.resume .role li:before{content:"";background:var(--color-accent);border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:0}.resume .constellation{gap:16px;display:grid;position:relative}.resume .cons-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.resume .cons-lines path{fill:none;stroke:var(--color-accent);stroke-width:1.5px;stroke-opacity:.75}.resume .core{background:var(--color-accent);border-radius:50%;justify-self:center;width:12px;height:12px;display:none;box-shadow:0 0 0 6px #f2a03d1f,0 0 16px #f2a03d80}.resume .cluster{background:var(--color-surface);border:1px solid var(--color-border);padding:18px}.resume .cluster h3{font:600 12px/1.4 var(--resume-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-2);margin:0 0 14px}.resume .chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.resume .chips li{border:1px solid var(--color-border);background:var(--color-bg);font:13px/1.4 var(--resume-sans);color:var(--color-text);padding:5px 10px}.resume .chips li:hover{border-color:var(--color-accent)}@media (width>=900px){.resume .constellation{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);align-items:center;gap:20px 56px}.resume .core{grid-area:1/2/span 2;display:block}.resume .c1{grid-area:1/1}.resume .c2{grid-area:2/1}.resume .c3{grid-area:1/3}.resume .c4{grid-area:2/3}.resume .tl{grid-template-columns:144px minmax(0,1fr);display:grid}.resume .rail{left:144px}.resume .roles{grid-area:1/2}.resume.js .era-slot{z-index:2;pointer-events:none;grid-area:1/1;align-self:start;margin:0 20px 0 0;display:block;position:sticky;top:112px}}.resume .edu+.edu{margin-top:12px}.resume .edu p{color:var(--color-muted)}.resume .edu strong{color:var(--color-text)}.resume.js .reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.resume.js .reveal.in{opacity:1;transform:none}.resume.js .cons-lines path{stroke-dasharray:var(--len,0);stroke-dashoffset:var(--len,0)}.resume.js .constellation.is-live .cons-lines path{stroke-dashoffset:0;transition:stroke-dashoffset 1.4s}.resume.js .rail-head{display:block}.resume.js .node{background:var(--color-bg);border-color:var(--color-border);box-shadow:0 0 0 4px var(--color-bg);transition:background-color .6s,border-color .6s,box-shadow .6s}.resume.js .role.lit .node{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-bg), 0 0 14px 2px #f2a03d73}.resume.js .card{opacity:.3;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(14px)}.resume.js .role.lit .card{opacity:1;transform:none}.resume:not(.js) .era-slot{display:none}@media (prefers-reduced-motion:reduce){.resume .reveal,.resume .cons-lines path,.resume .node,.resume .card{transition:none!important}}
