:root{--ink: #111111;--ink-2: #4a4a4a;--ink-3: #999999;--accent: #1b3a6b;--accent-lt: #ebf0fb;--accent-btn: #1d4ed8;--border: #e8e8e4;--white: #ffffff;--serif: "Bricolage Grotesque", system-ui, sans-serif;--sans: "DM Sans", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--sans);font-weight:400;line-height:1.65;color:var(--ink-2);background-color:#f4f4f1;background-image:radial-gradient(circle,#c8c8c2 1px,transparent 1px);background-size:22px 22px}.page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:72px 20px 88px}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.s0{animation:pop .55s cubic-bezier(.22,1,.36,1) 0s both}.s1{animation:rise .55s cubic-bezier(.22,1,.36,1) .1s both}.s2{animation:rise .55s cubic-bezier(.22,1,.36,1) .2s both}.s3{animation:rise .55s cubic-bezier(.22,1,.36,1) .3s both}.s4{animation:rise .55s cubic-bezier(.22,1,.36,1) .4s both}.s5{animation:rise .55s cubic-bezier(.22,1,.36,1) .5s both}.s6{animation:rise .55s cubic-bezier(.22,1,.36,1) .6s both}.card{width:100%;max-width:820px;background:var(--white);border-radius:24px;overflow:hidden;box-shadow:0 2px 4px #0000000a,0 8px 28px #0000001a,0 24px 56px #00000012}.hero-photo-wrap{position:relative;height:280px;overflow:hidden}.hero-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}.hero-photo-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#fff0,#fff0 10%,#ffffffb8 50%,#fffffff5 68%,#fff);pointer-events:none}.avatar-bridge{display:flex;flex-direction:column;align-items:center;margin-top:-72px;position:relative;z-index:2}.avatar-wrap{width:140px;height:140px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--white),0 0 0 5.5px var(--border);flex-shrink:0}.avatar-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.card-body{padding:4px 52px 48px}.hero-text{text-align:center;padding-top:14px}.overtitle{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.status-dot{width:8px;height:8px;border-radius:50%;background-color:#22c55e;box-shadow:0 0 #22c55eb3;flex-shrink:0;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1);box-shadow:0 0 0 6px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}h1.name{font-family:var(--serif);font-weight:600;font-size:clamp(2.2rem,7vw,3.1rem);color:var(--ink);letter-spacing:-.025em;line-height:1.06;margin-bottom:10px}.role-line{font-size:.82rem;color:var(--ink-3);margin-bottom:14px}.sep{border:none;border-top:1px solid var(--border);margin:42px 0}.bio{font-size:.9375rem;font-weight:300;color:var(--ink-2);line-height:1.85;border-left:3px solid var(--accent-lt);padding-left:16px}.bio p+p{margin-top:14px}.bio strong{color:var(--ink);font-weight:600}.label{display:flex;align-items:center;gap:10px;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.label:before{content:"";display:block;width:18px;height:1.5px;background:var(--border);flex-shrink:0}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:6px 16px;border-radius:999px;background:var(--accent-lt);border:1px solid #b8cdf6;color:var(--accent);font-size:.78rem;font-weight:500;transition:transform .14s ease,box-shadow .14s ease;cursor:default}.pill:hover{transform:translateY(-1px);box-shadow:0 3px 10px #1b3a6b1f}.pill-purple{background:#f3e8ff;border-color:#d8b4fe;color:#6b21a8}.pill-green{background:#dcfce7;border-color:#86efac;color:#166534}.pill-orange{background:#ffedd5;border-color:#fdba74;color:#9a3412}.pill-pink{background:#fce7f3;border-color:#f9a8d4;color:#9d174d}.pill-teal{background:#ccfbf1;border-color:#5eead4;color:#115e59}.section-space{margin-top:32px}.impact-grid{display:grid;gap:12px;grid-template-columns:1fr}.impact-card{border:1px solid var(--border);border-radius:12px;padding:14px 14px 13px;background:#fcfcfb}.impact-title{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);margin-bottom:6px}.impact-text{font-size:.9rem;line-height:1.7;color:var(--ink-2)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{padding:5px 13px;border-radius:8px;background:#fafaf8;border:1px solid var(--border);color:var(--ink-2);font-size:.77rem;transition:border-color .14s,color .14s,background .14s}.chip:hover{border-color:#93b4f0;color:var(--accent);background:var(--accent-lt)}.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--sans);font-size:.845rem;font-weight:500;text-decoration:none;border-radius:10px;cursor:pointer;white-space:nowrap;border:none;transition:transform .13s ease,box-shadow .13s ease,background .13s ease,color .13s ease}.btn:hover{transform:translateY(-1px)}.btn svg{width:14px;height:14px;flex-shrink:0}.btn-fill{background:var(--accent-btn);color:#fff;padding:12px 22px;box-shadow:0 2px 10px #1d4ed833}.btn-fill:hover{background:#1e40af;box-shadow:0 5px 20px #1d4ed852}.btn-ring{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px #93b4f0;padding:11px 22px}.btn-ring:hover{background:var(--accent-lt);box-shadow:inset 0 0 0 1.5px var(--accent)}.btn-plain{background:transparent;color:var(--ink-3);padding:8px 0;border-radius:0;box-shadow:none;font-size:.8rem;font-weight:500}.btn-plain:hover{transform:none;color:var(--accent-btn)}.cta-note{margin-top:12px;color:var(--ink-3);font-size:.77rem}.footer{text-align:center;font-size:.7rem;color:#bbb}.view-stack{position:relative;min-height:200px}.view-panel{width:100%}.panel-static{position:relative}.panel-enter{position:relative;z-index:2;animation-duration:.32s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.panel-leave{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;animation-duration:.32s;animation-timing-function:ease;animation-fill-mode:both}@keyframes enter-forward{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes leave-forward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-12px)}}@keyframes enter-backward{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes leave-backward{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(12px)}}.panel-enter-forward{animation-name:enter-forward}.panel-leave-forward{animation-name:leave-forward}.panel-enter-backward{animation-name:enter-backward}.panel-leave-backward{animation-name:leave-backward}.view-content{width:100%}.resume-view-header{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.drawer-kicker{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}.resume-view-name{font-family:var(--serif);font-size:clamp(1.55rem,4vw,2rem);color:var(--ink);line-height:1.2}.resume-back{gap:6px}.resume-back svg{width:14px;height:14px}.resume-content{margin-top:20px;display:flex;flex-direction:column;gap:26px}.resume-block{display:flex;flex-direction:column;gap:12px}.resume-block .label{margin-bottom:0}.resume-p{font-size:.93rem;line-height:1.8;color:var(--ink-2)}.resume-list{margin:0;padding-left:0;display:flex;flex-direction:column;gap:9px;list-style:none}.resume-list li{font-size:.92rem;line-height:1.75;position:relative;padding-left:18px}.resume-list li:before{content:"•";position:absolute;left:0;top:-1px;font-size:1.15em;color:var(--ink-2)}.resume-interaction-hint{margin:-4px 0 4px;font-size:.8rem;color:var(--ink-3)}.resume-job{border:1px solid var(--border);border-radius:14px;background:#fcfcfb;padding:12px 14px}.resume-job.current{border-color:#b8ddbc;background:#f8fcf8}.resume-job+.resume-job{margin-top:12px}.resume-job-toggle{width:100%;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:2px 2px 10px;border-radius:10px}.resume-job-toggle:hover{background:#f7f7f4}.resume-job.current .resume-job-toggle:hover{background:#f2f9f2}.resume-job-toggle:focus-visible{outline:2px solid #93b4f0;outline-offset:2px}.resume-job-main{display:flex;align-items:flex-start;gap:12px;min-width:0;width:100%}.company-badge{width:34px;height:34px;border-radius:9px;background:#eef3ff;border:1px solid #c6d7ff;color:var(--accent);font-size:.72rem;font-weight:700;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.company-logo{width:100%;height:100%;object-fit:cover;display:block}.resume-job-meta{flex:1;min-width:0}.resume-company{font-size:.74rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:0}.resume-company-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.current-role-pill{border-radius:999px;background:#eef7ef;border:1px solid #b8ddbc;color:#1f6b2d;font-size:.67rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px}.resume-job-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 16px}.resume-role{font-size:.89rem;color:var(--ink);font-weight:600;line-height:1.35;text-wrap:balance}.resume-date{flex-shrink:0;align-self:start;display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:.84rem;color:var(--ink-3);font-weight:500;white-space:normal;text-align:right}.resume-date-main{white-space:nowrap}.resume-date-location{font-size:.78rem;letter-spacing:.01em;padding-left:20px}.resume-teaser-list{margin-top:20px;color:var(--ink-2)}.resume-more-indicator{color:var(--ink-3);font-size:.8rem;letter-spacing:.02em;font-style:italic}.resume-job-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;width:100%;margin-top:2px}.resume-toggle-text{font-size:.72rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;white-space:nowrap}.chevron{width:16px;height:16px;color:var(--ink-3);margin-top:6px;flex-shrink:0;transition:transform .24s ease}.chevron.open{transform:rotate(180deg)}.resume-job-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease;padding-left:48px}.resume-job-body.open{grid-template-rows:1fr}.resume-job-body-inner{overflow:hidden}.resume-job-body .resume-list{margin-top:-1px}@media (max-width: 540px){.page{padding:0 0 64px}.card{border-radius:0;box-shadow:none;max-width:100%}.card-body{padding:4px 28px 40px}h1.name{font-size:2.4rem}.cta{flex-direction:column;align-items:stretch}.btn-fill,.btn-ring{width:100%}.resume-job-toggle{gap:10px}.resume-company-row{flex-wrap:wrap;gap:6px}.resume-toggle-text{display:none}.company-badge{width:32px;height:32px;border-radius:8px}.resume-job-head{grid-template-columns:1fr;gap:4px}.resume-role{white-space:normal}.resume-job-body{padding-left:46px}.resume-date{align-items:flex-start;text-align:left}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
