:root{--bg:#12121f;--surface:#1a1a2e;--surface-2:#15151f;--surface-3:#20202e;--surface-accent:#232338;--border:#2a2a40;--border-2:#37374f;--text:#f3f1ea;--text-secondary:#b8b4a8;--text-muted:#9a9484;--text-dim:#83806f;--white:#fff;--accent:#d4a849;--accent-hover:#e4c072;--accent-strong:#c2953a;--accent-soft:#e8d09a;--link:#d8b45f;--link-hover:#eccf8a;--star:#fbbf24;--danger:#f87171;--accent-rgb:212,168,73;--link-rgb:216,180,95;--danger-rgb:239,68,68;--text-muted-rgb:154,148,132;--text-rgb:243,241,234;--white-rgb:255,255,255;--shadow-rgb:0,0,0;--radius-2:2px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:50%;--z-base:1;--z-above:10;--z-header:100;--z-skip:9999;--font-display:"Space Grotesk",system-ui,-apple-system,sans-serif;--font-body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;--fs-hero:clamp(2.75rem,6vw,4.5rem);--fs-h1:clamp(1.75rem,3.5vw,2.25rem);--fs-h2:1.6rem;--fs-h3:1.35rem;--fs-lg:1.1rem;--fs-base:0.95rem;--fs-sm:0.85rem;--fs-xs:0.75rem;--fs-2xs:0.68rem;--fw-body:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}.skip-link{background:#d4a849;background:var(--accent);border-radius:0 0 6px 0;color:#fff;color:var(--white);font-size:.9rem;left:-9999px;padding:10px 20px;position:absolute;text-decoration:none;top:0;z-index:9999;z-index:var(--z-skip)}.skip-link:focus{left:0}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#12121f;background-color:var(--bg);color:#f3f1ea;color:var(--text);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-body);line-height:1.7;margin:0;padding:0}.container{align-items:flex-start;background:#12121f;background:var(--bg);box-sizing:border-box;display:flex;flex-direction:column;margin:0 auto;max-width:1200px;padding:30px 40px;width:100%}h1,h2,h3,h4{font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-display);margin-top:0}.container h2,h2{border-bottom:2px solid #d4a849;border-bottom:2px solid var(--accent);color:#f3f1ea;color:var(--text);display:inline-block;font-size:1.6rem;letter-spacing:.5px;margin-bottom:14px;padding-bottom:6px}.container p,p{color:#b8b4a8;color:var(--text-secondary);font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.92rem;line-height:1.75;margin:8px 0}a{color:#d8b45f;color:var(--link);transition:color .2s}a:hover{color:#eccf8a;color:var(--link-hover)}button{background:linear-gradient(135deg,#15151f,#232338);background:linear-gradient(135deg,var(--surface-2),var(--surface-accent));border:1px solid #d4a849;border:1px solid var(--accent);border-radius:6px;border-radius:var(--radius-sm);color:#f3f1ea;color:var(--text);cursor:pointer;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.82rem;font-weight:500;letter-spacing:.3px;margin:5px;padding:8px 16px;transition:all .25s ease}button:hover{background:linear-gradient(135deg,#c2953a,#d4a849);background:linear-gradient(135deg,var(--accent-strong),var(--accent));border-color:#e4c072;border-color:var(--accent-hover);box-shadow:0 2px 12px #d4a8494d;box-shadow:0 2px 12px rgba(var(--accent-rgb),.3);transform:translateY(-1px)}.playbooks-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-bottom:20px}.playbook-button{font-size:.82rem;margin:0;padding:8px 16px}ul{list-style:none;margin:8px 0;padding:0}ul li{color:#b8b4a8;color:var(--text-secondary);font-size:.9rem;margin:6px 0;padding-left:22px;text-indent:-22px}ul li:before{color:#d8b45f;color:var(--link);content:"▸";display:inline-block;font-size:.75rem;width:22px}.experience{padding-left:20px;position:relative;width:100%}.experience:before{background:linear-gradient(180deg,#d4a849,#232338);background:linear-gradient(to bottom,var(--accent),var(--surface-accent));border-radius:2px;border-radius:var(--radius-2);bottom:10px;content:"";left:0;position:absolute;top:10px;width:2px}.job{background:#1a1a2e;background:var(--surface);border:1px solid #2a2a40;border-left:3px solid #d4a849;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;margin-bottom:24px;padding:24px 28px;position:relative;transition:border-left-color .25s,box-shadow .25s}.job:hover{border-left-color:#e4c072;border-left-color:var(--accent-hover);box-shadow:0 4px 24px #d4a8491f;box-shadow:0 4px 24px rgba(var(--accent-rgb),.12)}.job:before{background:#d4a849;background:var(--accent);border:2px solid #12121f;border:2px solid var(--bg);border-radius:50%;border-radius:var(--radius-pill);box-shadow:0 0 0 2px #d4a849;box-shadow:0 0 0 2px var(--accent);content:"";height:10px;left:-29px;position:absolute;top:28px;width:10px}.job h3{color:#f3f1ea;color:var(--text);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.35rem;font-weight:600;margin:0 0 4px}.job-meta{align-items:center;color:#e4c072;color:var(--accent-hover);display:flex;flex-wrap:wrap;font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.85rem;gap:4px;margin:4px 0 12px}.job-meta b{color:#f3f1ea;color:var(--text);font-weight:600}.job-meta em{color:#9a9484;color:var(--text-muted);font-style:italic}.job-meta-sep{font-size:.6rem;margin:0 2px;vertical-align:middle}.job-meta-sep,.job-section-label{color:#d4a849;color:var(--accent)}.job-section-label{border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:.75rem;font-weight:700;letter-spacing:2px;margin:16px 0 10px;padding-bottom:6px;text-transform:uppercase}.job-competency{font-family:IBM Plex Sans,system-ui,-apple-system,sans-serif;font-family:var(--font-body);font-size:.88rem;font-style:italic;margin:10px 0 4px}.job ul{margin-top:12px}.job ul li{line-height:1.65;margin-bottom:6px}.job ul ul{margin-top:4px;padding-left:18px}.job ul ul li:before{color:#d4a849;color:var(--accent);content:"◦"}.certifications,.education{background:#1a1a2e;background:var(--surface);border:1px solid #2a2a40;border-left:3px solid #d4a849;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;margin-bottom:30px;padding:24px}.certifications p,.education p{color:#b8b4a8;color:var(--text-secondary)}.certifications .heading,.education .heading{border-bottom:2px solid #d8b45f;border-bottom:2px solid var(--link);color:#f3f1ea;color:var(--text);display:inline-block;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-display);font-size:1.5rem;margin-bottom:20px;padding-bottom:5px}.certifications .certificationItem{border-bottom:1px solid #2a2a40;border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:16px}.certifications .certificationItem:last-child{border-bottom:none;margin-bottom:0}.certifications .certificationTitle{color:#e4c072;color:var(--accent-hover);font-size:1.05rem;font-weight:500;margin-bottom:4px}.certifications .issueDate,.certifications .issuer{color:#9a9484;color:var(--text-muted);font-size:.875rem;margin:3px 0}.certifications .issuer a{color:#d8b45f;color:var(--link)}.certifications .issuer a:hover{text-decoration:underline}.issuer a{color:#d8b45f;color:var(--link);text-decoration:none}.issuer a:hover{text-decoration:underline}.code-block,.code-content,.code-wrapper{background:#15151f;background:var(--surface-2);border:1px solid #2a2a40;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);box-sizing:border-box;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;font-family:var(--font-mono);font-size:.85rem;margin:16px 0;max-height:600px;overflow-x:auto;overflow-y:auto;padding:16px;width:100%}.code-block pre{margin:0}.code-section{margin-bottom:16px}.github-code-viewer{margin:0 auto;max-width:1200px;padding:10px 0}.github-code-viewer h2{border-bottom:2px solid #d4a849;border-bottom:2px solid var(--accent);color:#f3f1ea;color:var(--text);display:inline-block;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;font-family:var(--font-display);margin-bottom:8px;padding-bottom:6px}.github-code-viewer p{color:#9a9484;color:var(--text-muted)}.education h3,.experience .job h3{color:#f3f1ea;color:var(--text);font-size:1.35rem}.certifications ul li,.skills ul li{color:#b8b4a8;color:var(--text-secondary)}@media (max-width:768px){.container{padding:16px 18px}.experience{padding-left:14px}.job{padding:18px 16px}.job h3{font-size:1.1rem}.container h2,h2{font-size:1.3rem}button{font-size:.85rem;width:100%}}@media (min-width:769px) and (max-width:1024px){.container{padding:20px 28px}.container h2,h2{font-size:1.45rem}button{font-size:.88rem;width:auto}}@media (min-width:1025px){.container{max-width:1400px}.container h2,h2{font-size:1.6rem}button{width:auto}}@keyframes bb-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.experience.reveal-enabled .job,.reveal-enabled [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;transition-delay:0ms;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.experience.reveal-enabled .job.is-visible,.reveal-enabled [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.experience.reveal-enabled .job,.reveal-enabled [data-reveal]{opacity:1!important;transform:none!important}}:focus-visible{outline:2px solid #d4a849;outline:2px solid var(--accent);outline-offset:2px}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-radius:2px;border-radius:var(--radius-2);outline:2px solid #d4a849;outline:2px solid var(--accent);outline-offset:3px}:focus:not(:focus-visible){outline:none}.experience{padding-left:30px}.experience:before{background:linear-gradient(180deg,#d4a849,#d4a8491f);background:linear-gradient(to bottom,var(--accent),rgba(var(--accent-rgb),.12));left:3px;width:3px}.job:before{background:#12121f;background:var(--bg);border:3px solid #d4a849;border:3px solid var(--accent);box-shadow:0 0 0 4px #12121f;box-shadow:0 0 0 4px var(--bg);height:15px;left:-34px;top:26px;width:15px}.job h3{font-size:1.5rem;letter-spacing:.3px}.job-meta b{color:#e8d09a;color:var(--accent-soft)}.job-current{background:linear-gradient(120deg,#d4a8490f,#1a1a2e 55%);background:linear-gradient(120deg,rgba(var(--accent-rgb),.06),var(--surface) 55%);border-left-width:4px;box-shadow:0 6px 30px #0000004d;box-shadow:0 6px 30px rgba(var(--shadow-rgb),.3)}.job-current:before{box-shadow:0 0 0 4px #12121f,0 0 16px #d4a8498c;box-shadow:0 0 0 4px var(--bg),0 0 16px rgba(var(--accent-rgb),.55)}.job-badge,.job-current:before{background:#d4a849;background:var(--accent)}.job-badge{border-radius:999px;color:#12121f;color:var(--bg);display:inline-block;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;font-family:var(--font-mono);font-size:.58rem;font-weight:500;letter-spacing:1.5px;margin-left:12px;padding:3px 10px;text-transform:uppercase;vertical-align:middle}.job-competency{background:linear-gradient(90deg,#d4a8490f,#0000 75%);background:linear-gradient(90deg,rgba(var(--accent-rgb),.06),#0000 75%);border-left:2px solid #d4a849;border-left:2px solid var(--accent);border-radius:0 6px 6px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:#f3f1ea;color:var(--text);font-style:normal;font-weight:600;font-weight:var(--fw-semibold);padding:6px 0 6px 12px}.job ul li{margin-bottom:9px}.job ul li:before{color:#d4a849;color:var(--accent)}.education-page{grid-gap:30px;align-items:start;display:grid;gap:30px;grid-template-columns:1.5fr 1fr;width:100%}@media (max-width:820px){.education-page{gap:24px;grid-template-columns:1fr}}.Header_header__\+q3o8{background:linear-gradient(160deg,var(--surface-2) 0,var(--surface-accent) 45%,var(--surface-2) 100%);border-bottom:1px solid rgba(var(--accent-rgb),.15);box-shadow:0 4px 24px rgba(var(--shadow-rgb),.4);color:var(--text);font-family:var(--font-display);padding:16px 30px 18px;position:sticky;position:relative;text-align:center;top:0;z-index:var(--z-header)}.Header_header__\+q3o8:before{background:linear-gradient(180deg,rgba(var(--accent-rgb),.06) 0,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}.Header_headerBrand__t8Uop{margin-bottom:18px;position:relative;z-index:var(--z-base)}.Header_headerBrand__t8Uop:after{background:linear-gradient(90deg,#0000,var(--accent),#0000);border-radius:var(--radius-2);content:"";display:block;height:2px;margin:4px auto 0;width:68px}.Header_header__\+q3o8 h1{animation:Header_bb-fade-up__aCDC3 .6s ease both;color:var(--text);font-family:var(--font-display);font-size:var(--fs-hero);font-weight:var(--fw-bold);letter-spacing:2.5px;line-height:1.05;margin:0 0 2px;text-shadow:0 2px 8px rgba(var(--shadow-rgb),.5);text-transform:uppercase}.Header_header__\+q3o8 h2{animation:Header_bb-fade-up__aCDC3 .6s ease .12s both;color:var(--accent-soft);font-family:var(--font-mono);font-size:.82rem;font-weight:500;letter-spacing:5px;margin:0 0 10px;text-transform:uppercase}.Header_navList__KrAZj{align-items:center;animation:Header_bb-fade-up__aCDC3 .6s ease .22s both;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;list-style:none;margin:0;padding:0;position:relative;z-index:var(--z-base)}.Header_navItem__VE348{align-items:center;display:inline-flex;margin:0;padding-left:0;text-indent:0}.Header_navItem__VE348:before{content:none!important}.Header_navLink__qLEx\+{align-items:center;background:#0000;border:none;color:rgba(var(--text-muted-rgb),.8);display:inline-flex;font-family:var(--font-body);font-size:.75rem;font-weight:500;justify-content:center;letter-spacing:1.5px;padding:10px 20px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .25s ease;white-space:nowrap}.Header_navIcon__P1XPn{font-size:.85rem;font-style:normal;line-height:1;opacity:.7}.Header_navLabel__Y3O8s{position:relative}.Header_navExternalDot__NudTO{font-size:.55rem;margin-left:-2px;opacity:.45}.Header_navLink__qLEx\+:after{background:var(--accent);border-radius:var(--radius-2);bottom:2px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .25s ease;width:0}.Header_navLink__qLEx\+:hover{color:var(--text)}.Header_navLink__qLEx\+:hover:after{width:60%}.Header_navLinkActive__cP4AI{background:rgba(var(--accent-rgb),.08);border-radius:var(--radius-sm);color:var(--accent)!important}.Header_navLinkActive__cP4AI:after{width:60%}.Header_navDownload__JebvO{align-items:center;background:linear-gradient(135deg,var(--surface-accent),var(--accent-strong));border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text);display:inline-flex;font-family:var(--font-body);font-size:.72rem;font-weight:600;gap:6px;letter-spacing:1.2px;margin-left:8px;padding:8px 16px;text-decoration:none;text-transform:uppercase;transition:background .25s ease,box-shadow .25s ease,transform .2s ease;white-space:nowrap}.Header_navDownload__JebvO:hover{background:linear-gradient(135deg,var(--accent-strong),var(--accent));box-shadow:0 2px 14px rgba(var(--accent-rgb),.45);color:var(--white);transform:translateY(-1px)}.Header_navDownloadIcon__LRWwl{font-size:.9rem;font-style:normal;line-height:1}@media (max-width:600px){.Header_header__\+q3o8{padding:12px 16px 14px}.Header_header__\+q3o8 h1{font-size:1.3rem;letter-spacing:1.5px}.Header_header__\+q3o8 h2{font-size:.6rem;letter-spacing:2.5px;margin-bottom:12px}.Header_navLink__qLEx\+{font-size:.64rem;letter-spacing:1px;padding:8px 12px}.Header_navDownload__JebvO{font-size:.64rem;margin-left:4px;padding:7px 12px}.Header_navList__KrAZj{gap:2px}}@media (max-width:380px){.Header_navIcon__P1XPn{display:none}}.PageLoader_skeleton__foRY5{padding:20px 0;width:100%}.PageLoader_skeletonHero__Skujk{border-radius:var(--radius-lg);height:120px;margin-bottom:20px}.PageLoader_skeletonSection__RVnnq{border-radius:var(--radius-md);height:80px;margin-bottom:16px}.PageLoader_shimmer__RKS2M{animation:PageLoader_shimmer__RKS2M 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-3) 25%,var(--border-2) 50%,var(--surface-3) 75%);background-size:200% 100%}@keyframes PageLoader_shimmer__RKS2M{0%{background-position:200% 0}to{background-position:-200% 0}}
/*# sourceMappingURL=main.7752b5da.css.map*/