.nav[data-v-080a2853]{position:sticky;top:0;z-index:60;transition:background .3s ease,box-shadow .3s ease,backdrop-filter .3s ease}.nav.scrolled[data-v-080a2853]{background:#f3f2efb8;-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);box-shadow:0 1px 0 var(--line)}.nav-inner[data-v-080a2853]{display:flex;align-items:center;justify-content:space-between;height:72px}.brand[data-v-080a2853]{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.01em}.brand-mark[data-v-080a2853]{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.2rem}.nav-links[data-v-080a2853]{display:flex;gap:30px}.nav-links a[data-v-080a2853]{font-size:.95rem;color:var(--ink-soft);position:relative;transition:color .2s ease}.nav-links a[data-v-080a2853]:after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;border-radius:2px;background:var(--accent-grad);transition:width .25s ease}.nav-links a[data-v-080a2853]:hover{color:var(--ink)}.nav-links a[data-v-080a2853]:hover:after{width:100%}.nav-cta[data-v-080a2853]{padding:10px 18px;font-size:.9rem}.nav-toggle[data-v-080a2853]{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}.nav-toggle span[data-v-080a2853]{width:22px;height:2px;background:var(--ink);border-radius:2px}@media (max-width: 820px){.nav-cta[data-v-080a2853]{display:none}.nav-toggle[data-v-080a2853]{display:flex}.nav-links[data-v-080a2853]{position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px var(--gutter) 18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.nav-links.open[data-v-080a2853]{opacity:1;transform:none;pointer-events:auto}.nav-links a[data-v-080a2853]{padding:14px 0;border-bottom:1px solid var(--line-soft)}.nav-links a[data-v-080a2853]:after{display:none}}.hero[data-v-cd05e663]{position:relative;overflow:hidden;padding-block:clamp(70px,12vw,150px)}.hero-inner[data-v-cd05e663]{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.hero-title[data-v-cd05e663]{margin-top:22px;font-size:clamp(2.6rem,7vw,5.4rem);font-weight:600}.grad[data-v-cd05e663]{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub[data-v-cd05e663]{margin-top:26px;max-width:56ch}.hero-cta[data-v-cd05e663]{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}.hero-meta[data-v-cd05e663]{margin-top:46px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.86rem;color:var(--muted)}.hero-meta .dot[data-v-cd05e663]{width:4px;height:4px;border-radius:50%;background:var(--muted);opacity:.5}.orbs[data-v-cd05e663]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.orb[data-v-cd05e663]{position:absolute;border-radius:50%;filter:blur(8px);opacity:.85}.orb-1[data-v-cd05e663]{width:320px;height:320px;right:-40px;top:-30px;background:radial-gradient(circle at 32% 30%,#aeb8ff,#5b6cff 60%,#3b3fae);animation:float1-cd05e663 13s ease-in-out infinite}.orb-2[data-v-cd05e663]{width:190px;height:190px;right:230px;top:150px;background:radial-gradient(circle at 35% 30%,#d7c5ff,#9b7bff 65%,#6d4fd6);animation:float2-cd05e663 16s ease-in-out infinite}.orb-3[data-v-cd05e663]{width:130px;height:130px;right:60px;top:300px;background:radial-gradient(circle at 35% 30%,#bff3f6,#56d4dd 65%,#2f9aa3);animation:float1-cd05e663 11s ease-in-out infinite reverse}@keyframes float1-cd05e663{0%,to{transform:translate(0)}50%{transform:translate(-18px,24px)}}@keyframes float2-cd05e663{0%,to{transform:translate(0)}50%{transform:translate(20px,-18px)}}@media (max-width: 920px){.orb-1[data-v-cd05e663]{width:220px;height:220px;right:-60px;top:-40px}.orb-2[data-v-cd05e663]{width:130px;height:130px;right:30px;top:60px}.orb-3[data-v-cd05e663]{display:none}}@media (max-width: 620px){.orbs[data-v-cd05e663]{opacity:.55}}.marquee[data-v-41f85cbc]{overflow:hidden;border-block:1px solid var(--line);background:var(--surface-2);padding-block:18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.track[data-v-41f85cbc]{display:flex;gap:14px;width:max-content;animation:scroll-41f85cbc 38s linear infinite}.chip[data-v-41f85cbc]{font-family:var(--font-display);font-size:.92rem;font-weight:500;color:var(--ink-soft);padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:var(--surface);white-space:nowrap}@keyframes scroll-41f85cbc{to{transform:translate(-50%)}}.marquee:hover .track[data-v-41f85cbc]{animation-play-state:paused}.about-statement[data-v-2cdef3ec]{margin-top:22px;font-size:clamp(1.8rem,4.2vw,3.2rem);max-width:20ch}.grad[data-v-2cdef3ec]{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.about-body[data-v-2cdef3ec]{margin-top:46px;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}.about-facts[data-v-2cdef3ec]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.about-facts li[data-v-2cdef3ec]{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--line);font-size:.98rem;color:var(--ink-soft)}.about-facts li[data-v-2cdef3ec]:last-child{border-bottom:1px solid var(--line)}.about-facts span[data-v-2cdef3ec]{flex:0 0 48px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:3px}@media (max-width: 820px){.about-body[data-v-2cdef3ec]{grid-template-columns:1fr;gap:32px}}.timeline[data-v-40dadbfb]{margin-top:50px;display:flex;flex-direction:column}.job[data-v-40dadbfb]{display:grid;grid-template-columns:240px 1fr;gap:40px;padding:36px 0;border-top:1px solid var(--line)}.job-meta[data-v-40dadbfb]{display:flex;flex-direction:column;gap:6px}.job-period[data-v-40dadbfb]{font-family:var(--font-display);font-weight:500;font-size:.95rem;color:var(--ink)}.job-place[data-v-40dadbfb]{font-size:.86rem;color:var(--muted)}.job-role[data-v-40dadbfb]{font-size:1.5rem}.job-company[data-v-40dadbfb]{margin-top:4px;color:var(--accent);font-size:.95rem;font-weight:500}.job-points[data-v-40dadbfb]{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.job-points li[data-v-40dadbfb]{position:relative;padding-left:22px;color:var(--ink-soft);font-size:.96rem}.job-points li[data-v-40dadbfb]:before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--accent-grad)}.edu[data-v-40dadbfb]{margin-top:28px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.edu-degree[data-v-40dadbfb]{font-size:1.2rem}.edu-school[data-v-40dadbfb]{margin-top:4px;color:var(--muted);font-size:.92rem}.edu-year[data-v-40dadbfb]{font-family:var(--font-display);color:var(--ink);font-size:.95rem;white-space:nowrap}@media (max-width: 760px){.job[data-v-40dadbfb]{grid-template-columns:1fr;gap:16px}.edu[data-v-40dadbfb]{flex-direction:column;align-items:flex-start}}.services-head[data-v-bc97f54f]{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:52px}.services-grid[data-v-bc97f54f]{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card[data-v-bc97f54f]{padding:30px 28px 32px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.service-card[data-v-bc97f54f]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #11111412;border-color:var(--line-soft)}.service-index[data-v-bc97f54f]{font-family:var(--font-display);font-size:.85rem;font-weight:500;color:var(--accent);letter-spacing:.1em}.service-title[data-v-bc97f54f]{margin-top:20px;font-size:1.4rem}.service-text[data-v-bc97f54f]{margin-top:14px;color:var(--muted);font-size:.96rem;flex:1}.service-tags[data-v-bc97f54f]{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.service-tags li[data-v-bc97f54f]{font-size:.78rem;color:var(--ink-soft);padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}@media (max-width: 920px){.services-head[data-v-bc97f54f]{grid-template-columns:1fr;gap:18px;align-items:start}.services-grid[data-v-bc97f54f]{grid-template-columns:1fr}}.skills-head[data-v-feaa3349]{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-bottom:52px}.skills-grid[data-v-feaa3349]{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.skill-card[data-v-feaa3349]{padding:28px 26px 30px;transition:transform .3s ease,box-shadow .3s ease}.skill-card[data-v-feaa3349]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #11111412}.skill-top[data-v-feaa3349]{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--line)}.skill-icon[data-v-feaa3349]{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(120deg,#5b6cff24,#56d4dd24);color:var(--accent);font-size:1.05rem}.skill-top h3[data-v-feaa3349]{font-size:1.2rem}.skill-list[data-v-feaa3349]{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}.skill-list li[data-v-feaa3349]{font-size:.94rem;color:var(--ink-soft);display:flex;align-items:center;gap:10px}.skill-list li[data-v-feaa3349]:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.7}@media (max-width: 980px){.skills-grid[data-v-feaa3349]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 820px){.skills-head[data-v-feaa3349]{grid-template-columns:1fr;gap:16px;align-items:start}}@media (max-width: 520px){.skills-grid[data-v-feaa3349]{grid-template-columns:1fr}}.projects[data-v-3bc28cb5]{background:var(--surface-2);border-block:1px solid var(--line)}.projects-head[data-v-3bc28cb5]{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:52px}.projects-grid[data-v-3bc28cb5]{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card[data-v-3bc28cb5]{padding:30px 28px;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.project-card[data-v-3bc28cb5]:hover{transform:translateY(-4px);box-shadow:0 18px 40px #11111414}.project-top[data-v-3bc28cb5]{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-top h3[data-v-3bc28cb5]{font-size:1.4rem}.project-status[data-v-3bc28cb5]{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:linear-gradient(120deg,#5b6cff1f,#56d4dd1f);padding:4px 10px;border-radius:999px;white-space:nowrap}.project-text[data-v-3bc28cb5]{margin-top:14px;color:var(--muted);font-size:.94rem;flex:1}.project-stack[data-v-3bc28cb5]{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.project-stack li[data-v-3bc28cb5]{font-size:.78rem;color:var(--ink-soft);padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.project-links[data-v-3bc28cb5]{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:18px}.project-links a[data-v-3bc28cb5]{font-size:.88rem;font-weight:500;color:var(--ink);transition:color .2s ease}.project-links a[data-v-3bc28cb5]:hover{color:var(--accent)}@media (max-width: 980px){.projects-grid[data-v-3bc28cb5]{grid-template-columns:1fr}.projects-head[data-v-3bc28cb5]{flex-direction:column;align-items:flex-start;gap:16px}}.cta-section[data-v-b4973cee]{padding-block:clamp(40px,6vw,80px)}.cta[data-v-b4973cee]{position:relative;overflow:hidden;background:var(--dark);color:var(--on-dark);border-radius:var(--radius-lg);padding:clamp(40px,7vw,84px);text-align:center}.cta-orb[data-v-b4973cee]{position:absolute;width:460px;height:460px;border-radius:50%;top:-180px;right:-120px;background:radial-gradient(circle at 40% 40%,rgba(155,123,255,.55),rgba(91,108,255,.25) 55%,transparent 72%);filter:blur(10px)}.cta-eyebrow[data-v-b4973cee]{color:var(--on-dark-muted);position:relative;z-index:1}.cta-title[data-v-b4973cee]{position:relative;z-index:1;margin-top:18px;color:var(--on-dark);font-size:clamp(2rem,5vw,3.6rem)}.cta-sub[data-v-b4973cee]{position:relative;z-index:1;margin:22px auto 0;max-width:44ch;color:var(--on-dark-muted);font-size:1.05rem}.cta-actions[data-v-b4973cee]{position:relative;z-index:1;margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cta-ghost[data-v-b4973cee]{background:transparent;color:var(--on-dark);border-color:#ffffff38}.cta-ghost[data-v-b4973cee]:hover{border-color:var(--on-dark)}.footer[data-v-ee016a92]{border-top:1px solid var(--line);padding-top:clamp(50px,7vw,80px);padding-bottom:34px}.footer-inner[data-v-ee016a92]{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding-bottom:50px}.footer-brand .brand[data-v-ee016a92]{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:1.1rem}.brand-mark[data-v-ee016a92]{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.footer-brand p[data-v-ee016a92]{margin-top:14px;color:var(--muted);font-size:.95rem;max-width:38ch}.footer-cols[data-v-ee016a92]{display:grid;grid-template-columns:1fr 1fr;gap:28px}.footer-col[data-v-ee016a92]{display:flex;flex-direction:column;gap:12px}.footer-label[data-v-ee016a92]{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.footer-col a[data-v-ee016a92]{font-size:.95rem;color:var(--ink-soft);transition:color .2s ease;width:fit-content}.footer-col a[data-v-ee016a92]:hover{color:var(--accent)}.footer-bottom[data-v-ee016a92]{display:flex;justify-content:space-between;gap:16px;padding-top:26px;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted);flex-wrap:wrap}@media (max-width: 760px){.footer-inner[data-v-ee016a92]{grid-template-columns:1fr;gap:36px}}:root{--bg: #f3f2ef;--surface: #ffffff;--surface-2: #faf9f6;--ink: #111114;--ink-soft: #34343b;--muted: #74747c;--line: #e7e4de;--line-soft: #efece6;--accent: #5b6cff;--accent-2: #9b7bff;--accent-3: #56d4dd;--accent-grad: linear-gradient(120deg, #5b6cff 0%, #9b7bff 55%, #56d4dd 120%);--dark: #0d0d10;--on-dark: #f4f3f0;--on-dark-muted: #a7a7ad;--radius-lg: 26px;--radius: 18px;--radius-sm: 12px;--maxw: 1180px;--gutter: clamp(20px, 5vw, 56px);--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.04;letter-spacing:-.02em;margin:0;color:var(--ink)}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:clamp(64px,9vw,130px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-grad)}.section-title{font-size:clamp(2rem,4.4vw,3.4rem);max-width:18ch}.lead{color:var(--muted);font-size:clamp(1rem,1.4vw,1.15rem);max-width:54ch}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:.95rem;font-weight:500;padding:13px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,box-shadow .25s ease;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn-primary{background:var(--ink);color:var(--on-dark)}.btn-primary:hover{box-shadow:0 12px 30px #11111438}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--ink)}.btn-light{background:var(--on-dark);color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.reveal-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
