.resume-shell{--r-bg: #ffffff;--r-bg-2: #fafafa;--r-bg-3: #f4f4f3;--r-ink: #0e1116;--r-ink-2: #2a2f38;--r-ink-3: #5b6270;--r-ink-4: #8a8f99;--r-line: #e8e8e6;--r-line-2: #f0f0ee;--r-primary: #ffd23f;--r-primary-dark: #e8b800;--r-primary-soft: #fff5cc;--r-secondary: #2b3eff;--r-coral: #ff6a55;--r-radius: 14px;--r-radius-lg: 24px;--r-shadow-card: 0 1px 2px rgba(15, 17, 22, .04), 0 8px 24px -12px rgba(15, 17, 22, .08);--r-shadow-lift: 0 4px 12px rgba(15, 17, 22, .06), 0 24px 48px -16px rgba(15, 17, 22, .12);background:var(--r-bg);color:var(--r-ink);font-family:var(--font-sans)}.resume-shell ::selection{background:var(--r-primary);color:var(--r-ink)}.resume-page{max-width:1240px;margin:0 auto;padding:calc(var(--spacing-navmobileheight)) 32px 64px}@media (min-width: 1280px){.resume-page{padding-top:calc(var(--spacing-navdesktopheight))}}.resume-shell .profile-card{position:relative;border-radius:var(--r-radius-lg);overflow:hidden;margin-bottom:40px;background:var(--r-bg);border:1px solid var(--r-line);box-shadow:var(--r-shadow-card);isolation:isolate}.resume-shell .profile-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(900px 380px at 85% 0%,color-mix(in oklab,var(--r-primary) 70%,transparent) 0%,transparent 60%),radial-gradient(700px 360px at 5% 110%,color-mix(in oklab,var(--r-secondary) 35%,transparent) 0%,transparent 60%),radial-gradient(500px 280px at 60% 100%,color-mix(in oklab,var(--r-coral) 30%,transparent) 0%,transparent 70%),linear-gradient(180deg,#fffbe6,#fff 70%);pointer-events:none;opacity:.85}.resume-shell .profile-inner{position:relative;z-index:1;display:grid;grid-template-columns:160px 1fr auto;gap:32px;padding:36px 40px;align-items:center}.resume-shell .avatar{position:relative;width:160px;height:160px;border-radius:12px;background:var(--r-bg-3);overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid var(--r-line);box-shadow:0 8px 24px -16px #0f111640}.resume-shell .avatar .avatar-photo{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.resume-shell .avatar .glyph{position:relative;z-index:1;width:88px;height:88px;border-radius:12px;background:var(--r-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:32px;letter-spacing:-.02em;color:#fff;font-family:var(--font-sans)}.resume-shell .avatar .stripes{position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(0,0,0,.025) 12px,rgba(0,0,0,.025) 24px)}.resume-shell .profile-info{min-width:0}.resume-shell .profile-info .role-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--r-ink-3);background:var(--r-bg-3);padding:6px 12px;border-radius:999px;margin-bottom:14px;font-weight:500}.resume-shell .role-tag-muted{color:var(--r-ink-4)}.resume-shell .profile-info h1{font-family:var(--font-display);font-size:44px;font-weight:600;letter-spacing:-.025em;line-height:1.05;margin-bottom:6px;color:var(--r-ink)}.resume-shell .profile-info .role{font-family:var(--font-gelica);font-style:italic;font-size:19px;color:var(--r-ink-2);font-weight:400;margin-bottom:0}.resume-shell .profile-cta{display:flex;flex-direction:column;gap:10px;align-self:center}.resume-shell .profile-cta .btn{font-family:inherit;font-size:13px;font-weight:500;padding:11px 22px;border-radius:999px;border:1px solid var(--r-ink);background:var(--r-ink);color:var(--r-bg);cursor:pointer;white-space:nowrap;text-decoration:none;text-align:center;transition:background .18s,color .18s;display:inline-block}.resume-shell .profile-cta .btn:hover{background:var(--r-ink-2)}.resume-shell .profile-cta .btn.outline{background:transparent;color:var(--r-ink);border:1px solid var(--r-ink)}.resume-shell .profile-cta .btn.outline:hover{background:var(--r-ink);color:var(--r-bg)}.resume-shell .body-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}.resume-shell .sidebar{position:sticky;top:calc(var(--spacing-navdesktopheight) + 16px);display:flex;flex-direction:column;gap:16px;margin-top:-80px}.resume-shell .side-card{background:var(--r-bg);border:1px solid var(--r-line);border-radius:var(--r-radius);padding:22px}.resume-shell .sticky-profile{display:flex;align-items:center;gap:12px;background:var(--r-bg);border:1px solid var(--r-line);border-radius:var(--r-radius);padding:12px 14px;box-shadow:var(--r-shadow-card);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .36s cubic-bezier(.2,.8,.2,1),transform .36s cubic-bezier(.2,.8,.2,1),visibility 0s linear .36s;pointer-events:none}.resume-shell .sticky-profile.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .36s cubic-bezier(.2,.8,.2,1),transform .36s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}@media (prefers-reduced-motion: reduce){.resume-shell .sticky-profile{transition:none;transform:none}}.resume-shell .sticky-profile .sp-avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--r-bg-3);display:flex;align-items:center;justify-content:center;border:1px solid var(--r-line)}.resume-shell .sticky-profile .sp-avatar img{width:100%;height:100%;object-fit:cover}.resume-shell .sticky-profile .sp-glyph{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--r-bg);background:var(--r-secondary);width:100%;height:100%;display:flex;align-items:center;justify-content:center}.resume-shell .sticky-profile .sp-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.resume-shell .sticky-profile .sp-name{font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--r-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-shell .sticky-profile .sp-skill{margin-top:2px;font-size:11.5px;color:var(--r-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-shell .sticky-profile .sp-btn{flex-shrink:0;font-size:12px;font-weight:500;padding:7px 12px;border-radius:999px;border:1px solid var(--r-ink);background:var(--r-ink);color:var(--r-bg);text-decoration:none;white-space:nowrap;transition:background .18s}.resume-shell .sticky-profile .sp-btn:hover{background:var(--r-ink-2)}.resume-shell .side-card .h{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--r-ink-4);margin-bottom:14px;font-weight:600}.resume-shell .side-card.cta{background:var(--r-ink);color:var(--r-bg);border-color:var(--r-ink)}.resume-shell .side-card.cta h4{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.2;margin-bottom:8px;color:var(--r-bg)}.resume-shell .side-card.cta p{font-size:13px;color:#ffffffb3;margin-bottom:16px;line-height:1.5}.resume-shell .side-card.cta .btn{display:inline-block;font-size:13px;font-weight:500;padding:10px 18px;border-radius:999px;background:var(--r-primary);color:var(--r-ink);text-decoration:none;cursor:pointer;transition:background .18s}.resume-shell .side-card.cta .btn:hover{background:var(--r-primary-dark)}.resume-shell .side-card-cta-row{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.resume-shell .side-card.cta .btn.outline{background:transparent;color:var(--r-bg);border:1px solid rgba(255,255,255,.55)}.resume-shell .side-card.cta .btn.outline:hover{background:#ffffff1f;border-color:var(--r-bg)}.resume-shell .section{margin-bottom:44px}.resume-shell .section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.resume-shell .section-head h2{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.015em;color:var(--r-ink);line-height:1.2}.resume-shell .section-head .meta{font-size:12px;color:var(--r-ink-4);letter-spacing:.04em;text-transform:uppercase}.resume-shell .about-text{font-size:15.5px;line-height:1.7;color:var(--r-ink-2);text-wrap:pretty}.resume-shell .about-text p+p{margin-top:12px}.resume-shell .about-text a{color:var(--r-secondary);text-decoration:underline}.resume-shell .timeline{display:flex;flex-direction:column;gap:0}.resume-shell .exp{display:grid;grid-template-columns:168px 1fr 32px;gap:24px;padding:22px 0;border-top:1px solid var(--r-line);cursor:pointer;transition:opacity .3s,filter .3s}.resume-shell .exp:last-child{border-bottom:1px solid var(--r-line)}.resume-shell .exp .when{font-size:12.5px;color:var(--r-ink-3);padding-top:4px}.resume-shell .exp .when .dur{display:block;margin-top:4px;color:var(--r-ink-4);font-size:11.5px}.resume-shell .exp .head{display:flex;flex-direction:column;gap:4px;min-width:0}.resume-shell .exp .role-title{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--r-ink)}.resume-shell .exp .company{font-size:14.5px;color:var(--r-ink-2)}.resume-shell .exp .body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.resume-shell .exp.open .body{grid-template-rows:1fr;margin-top:8px}.resume-shell .exp .body>div{overflow:hidden}.resume-shell .exp .body .resume-body{color:var(--r-ink-2);font-size:14px;line-height:1.55}.resume-shell .exp .body .resume-body ul{list-style:none;margin-top:6px;padding-left:0}.resume-shell .exp .body .resume-body ol{margin-top:6px;padding-left:18px}.resume-shell .exp .body .resume-body li{position:relative;padding-left:18px;margin-bottom:6px;color:var(--r-ink-2);line-height:1.55;font-size:14px;text-wrap:pretty;list-style:none}.resume-shell .exp .body .resume-body ul li:before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--r-secondary);border-radius:1px}.resume-shell .exp .body .resume-body p{margin-top:6px}.resume-shell .exp .body .resume-body a{color:var(--r-secondary);text-decoration:underline}.resume-shell .exp .toggle{align-self:start;margin-top:4px;width:28px;height:28px;border-radius:50%;border:1px solid var(--r-line);background:var(--r-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .22s;font-size:18px;font-weight:400;color:var(--r-ink-3);padding:0;line-height:1}.resume-shell .exp:hover .toggle{border-color:var(--r-ink);color:var(--r-ink)}.resume-shell .exp.open .toggle{background:var(--r-ink);color:var(--r-bg);border-color:var(--r-ink);transform:rotate(45deg)}.resume-shell .edu-list{display:flex;flex-direction:column;border-top:1px solid var(--r-line)}.resume-shell .edu{display:grid;grid-template-columns:168px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--r-line)}.resume-shell .edu .when{font-size:12.5px;color:var(--r-ink-3)}.resume-shell .edu .when .dur{display:block;font-size:11px;color:var(--r-ink-4);margin-top:3px}.resume-shell .edu .deg{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:var(--r-ink)}.resume-shell .edu .school{font-size:14px;color:var(--r-ink-3);margin-top:3px}.resume-shell .skill-cloud{display:flex;flex-wrap:wrap;gap:5px}.resume-shell .skill-cloud .pill{font-size:11.5px;padding:4px 10px;border-radius:999px;background:var(--r-bg-3);color:var(--r-ink-2);font-weight:500}.resume-shell .section-portfolio .case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 720px){.resume-shell .section-portfolio .case-grid{grid-template-columns:1fr}}.resume-shell .contact{margin-top:56px;padding:40px;background:var(--r-bg-3);border-radius:var(--r-radius-lg);display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;border:1px solid var(--r-line);position:relative;overflow:hidden}.resume-shell .contact:before{content:"";position:absolute;bottom:-60px;left:-60px;width:240px;height:240px;background:radial-gradient(closest-side,var(--r-primary-soft),transparent);pointer-events:none}.resume-shell .contact .ct-text{position:relative}.resume-shell .contact h3{font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:8px;text-wrap:balance;color:var(--r-ink)}.resume-shell .contact h3 em{font-style:normal;background:linear-gradient(180deg,transparent 60%,var(--r-primary) 60%);padding:0 4px}.resume-shell .contact p{font-size:14px;color:var(--r-ink-3);max-width:540px;line-height:1.5}.resume-shell .contact .cta{display:flex;gap:10px;position:relative}.resume-shell .contact .cta a{font-size:13px;font-weight:500;padding:12px 22px;border-radius:999px;text-decoration:none;transition:all .18s;cursor:pointer;white-space:nowrap;display:inline-block}.resume-shell .contact .cta .primary{background:var(--r-ink);color:var(--r-bg)}.resume-shell .contact .cta .primary:hover{background:var(--r-ink-2)}.resume-shell .resume-body ul{list-style:disc;padding-left:1.5rem;margin-top:.25rem}.resume-shell .resume-body ol{list-style:decimal;padding-left:1.5rem;margin-top:.25rem}.resume-shell .resume-body li{margin-top:.25rem}.resume-shell .resume-body p{margin-top:.5rem}.resume-shell .resume-body p:first-child{margin-top:0}.resume-shell .resume-body a{color:var(--r-secondary);text-decoration:underline}@media (max-width: 980px){.resume-shell .body-grid{grid-template-columns:1fr}.resume-shell .sidebar{position:static;margin-top:0}.resume-shell .sticky-profile{display:none}}@media (max-width: 720px){.resume-page{padding:calc(var(--spacing-navmobileheight) + 8px) 18px 48px}.resume-shell .profile-inner{grid-template-columns:1fr;padding:24px;gap:16px;text-align:left}.resume-shell .profile-cta{grid-column:1 / -1;flex-direction:column;align-items:stretch}.resume-shell .profile-cta .btn{width:100%}.resume-shell .profile-cta .btn.outline{display:none}.resume-shell .avatar{width:96px;height:96px}.resume-shell .avatar .glyph{width:56px;height:56px;font-size:22px}.resume-shell .profile-info h1{font-size:30px}.resume-shell .profile-info .role{font-size:15px}.resume-shell .exp{grid-template-columns:1fr;gap:6px;position:relative;padding-right:40px}.resume-shell .exp .toggle{position:absolute;top:22px;right:0}.resume-shell .edu{grid-template-columns:1fr;gap:4px}.resume-shell .contact{grid-template-columns:1fr;padding:28px 22px}.resume-shell .contact h3{font-size:22px}}
