@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Sora:wght@400;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:dark}html{scroll-behavior:smooth}body{background:#07090f;color:#e8ecf4;font-family:Sora,system-ui,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul{list-style:none}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px);background-size:34px 34px}.backdrop span{position:absolute;width:46vw;height:46vw;border-radius:50%;filter:blur(90px);opacity:.35;animation:drift 26s ease-in-out infinite alternate}.backdrop .orb-1{background:#7c5cff;top:-12vw;left:-8vw}.backdrop .orb-2{background:#35e0d0;top:35vh;right:-14vw;animation-delay:-9s;animation-duration:32s}.backdrop .orb-3{background:#ff6ec7;bottom:-18vw;left:25vw;opacity:.22;animation-delay:-17s;animation-duration:38s}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vw,-8vh,0) scale(1.25)}}.g-container{width:100%;max-width:1000px;margin:0 auto;padding:0 24px}section{padding:96px 24px}@media (max-width: 640px){section{padding:64px 20px}}h1{font-size:clamp(2.6rem,8vw,4.6rem);line-height:1.03;letter-spacing:-.03em;font-weight:800;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);-webkit-background-clip:text;background-clip:text;color:transparent}h2{display:flex;align-items:center;gap:14px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#8b93a7;margin-bottom:40px}h2 .idx{color:#35e0d0}h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.09),transparent)}h3{font-size:1.1rem;font-weight:600}.lead{max-width:60ch;color:#8b93a7}.eyebrow,.period,.location{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.76rem;letter-spacing:.08em;color:#8b93a7}header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:100%;padding:14px 24px;background:#07090fb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.09)}header .mark{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;font-size:1.15rem;letter-spacing:.04em}header .mark span{color:#35e0d0;animation:blink 1.4s steps(1) infinite}header .nav-links{display:flex;align-items:center;gap:22px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.82rem;color:#8b93a7}header .nav-links a{position:relative}header .nav-links a:hover{color:#e8ecf4}header .nav-links a:not(.cta):after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);transition:width .25s ease}header .nav-links a:not(.cta):hover:after{width:100%}header .nav-links .cta{padding:6px 14px;border-radius:999px;color:#07090f;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);font-weight:600;transition:transform .2s ease,box-shadow .2s ease}header .nav-links .cta:hover{transform:translateY(-1px);box-shadow:0 6px 22px #7c5cff73}@media (max-width: 640px){header .nav-links li:nth-last-child(n+2){display:none}}@keyframes blink{50%{opacity:0}}#hero{padding-top:120px}#hero .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#ffffff08}#hero .eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#35e0d0;box-shadow:0 0 #35e0d099;animation:pulse 2.2s ease-out infinite}#hero h1{margin:20px 0 4px}#hero .role{font-family:IBM Plex Mono,ui-monospace,monospace;color:#35e0d0;margin-bottom:24px}#hero .highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px}#hero .highlights li{position:relative;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(160deg,#ffffff0f,#ffffff03);overflow:hidden;transition:transform .25s ease,border-color .25s ease}#hero .highlights li:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}#hero .highlights li:hover{transform:translateY(-4px);border-color:#ffffff38}#hero .highlights li:hover:before{transform:scaleX(1)}#hero .highlights strong{display:block;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.75rem;line-height:1.2;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);-webkit-background-clip:text;background-clip:text;color:transparent}#hero .highlights span{font-size:.82rem;color:#8b93a7}@media (max-width: 900px){#hero .highlights{grid-template-columns:repeat(2,1fr)}}@keyframes pulse{70%{box-shadow:0 0 0 9px #35e0d000}to{box-shadow:0 0 #35e0d000}}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,#35e0d0,#7c5cff,transparent)}.job{position:relative;padding:0 0 44px}.job:last-child{padding-bottom:0}.job:before{content:"";position:absolute;left:-28px;top:8px;width:12px;height:12px;border-radius:50%;background:#07090f;border:2px solid #35e0d0}.job .job-meta{display:flex;gap:12px;margin-bottom:6px}.job .job-meta .location:before{content:"· "}.job .company{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.9rem;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}.job .job-body>ul{border-left:1px solid rgba(255,255,255,.09);padding-left:16px}.job .job-body>ul li{position:relative;margin-bottom:10px;color:#8b93a7;transition:color .2s ease}.job .job-body>ul li:before{content:"";position:absolute;left:-20px;top:12px;width:8px;height:1px;background:#ffffff17}.job .job-body>ul li:hover{color:#e8ecf4}.skill-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}@media (max-width: 640px){.skill-grid{grid-template-columns:1fr}}.skill-group{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:#ffffff05;transition:border-color .25s ease,background .25s ease}.skill-group:hover{border-color:#fff3;background:#ffffff0b}.skill-group h3{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#35e0d0;margin-bottom:14px}.skill-group ul{display:flex;flex-wrap:wrap;gap:8px}.skill-group li{border:1px solid rgba(255,255,255,.09);border-radius:999px;padding:4px 12px;font-size:.82rem;font-family:IBM Plex Mono,ui-monospace,monospace;color:#8b93a7;transition:color .2s ease,border-color .2s ease,transform .2s ease}.skill-group li:hover{color:#e8ecf4;border-color:#7c5cff;transform:translateY(-2px)}.languages{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;color:#8b93a7}.languages li{padding:4px 12px;border:1px dashed rgba(255,255,255,.09);border-radius:999px}footer{padding:96px 24px 56px;border-top:1px solid rgba(255,255,255,.09)}footer h2{display:block;font-family:Sora,system-ui,sans-serif;font-size:clamp(2rem,6vw,3.2rem);font-weight:800;letter-spacing:-.03em;text-transform:none;background:linear-gradient(120deg,#35e0d0,#7c5cff 55%,#ff6ec7);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px}footer h2:after{display:none}footer .contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.86rem}footer .contact-links a{display:inline-block;padding:8px 16px;border:1px solid rgba(255,255,255,.09);border-radius:999px;color:#8b93a7;transition:color .2s ease,border-color .2s ease,transform .2s ease}footer .contact-links a:hover{color:#e8ecf4;border-color:#35e0d0;transform:translateY(-2px)}footer .colophon{margin-top:56px;font-size:.78rem;color:#8b93a7}@supports (animation-timeline: view()){@media (prefers-reduced-motion: no-preference){.reveal{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 0% cover 22%}}}@keyframes reveal-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
