.ops-spotlight[data-v-b4cdb032]{isolation:isolate;background:radial-gradient(at 90% 40%,#2563eb24,#0000 60%),#080d18;border:1px solid #94a3b826;border-radius:1.5rem;position:relative;overflow:hidden;box-shadow:0 24px 80px #0000002e}.ops-spotlight[data-v-b4cdb032]:before{content:"";background:linear-gradient(90deg,#0000,#60a5faa6,#0000);height:1px;position:absolute;inset:0 15% auto}.ops-mark[data-v-b4cdb032]{background:linear-gradient(145deg,#3b82f6,#1e40af);box-shadow:inset 0 1px #ffffff40,0 4px 24px #2563eb40}.ops-gradient-text[data-v-b4cdb032]{color:#a5bfff;-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#d1ddff,#7ba4ff);-webkit-background-clip:text;background-clip:text}.ops-cta[data-v-b4cdb032]{box-shadow:inset 0 1px #fff3,0 6px 30px #2563eb33}.ops-browser[data-v-b4cdb032]{box-shadow:0 24px 60px #0006}@media (width>=1024px){.ops-preview[data-v-b4cdb032]{perspective:1200px}.ops-browser[data-v-b4cdb032]{transform-origin:0;transform:rotateY(-8deg)rotateX(3deg)}.navbar-over-hero[data-v-3fc2996d]:before{content:"";-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 65%,#0000);mask-image:linear-gradient(#000 65%,#0000)}}.navbar-frame[data-v-3fc2996d]{width:100%;max-width:100%;transition:width .5s,max-width .5s cubic-bezier(.22,1,.36,1)}@media (width>=1280px){.navbar-frame[data-v-3fc2996d]{width:calc(100% - clamp(3rem,5vw,6rem))}}.navbar-frame.is-scrolled[data-v-3fc2996d]{width:calc(100% - 1rem);max-width:70rem}.navbar-glass.is-scrolled[data-v-3fc2996d],.navbar-panel[data-v-3fc2996d]{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background-color:#181f2ef0;box-shadow:0 6px 22px #00000029}.navbar-shell.is-scrolled[data-v-3fc2996d]{height:3.75rem}.navbar-shell[data-v-3fc2996d]{opacity:0;animation:.4s 6s forwards navbar-shell-fallback-3fc2996d;transform:translateY(-.75rem)scale(.985)}.navbar-shell.is-revealed[data-v-3fc2996d]{opacity:1;transition:opacity .6s,transform .8s cubic-bezier(.22,1,.36,1),height .5s,background-color .3s,box-shadow .3s;animation:none;transform:none}@keyframes navbar-shell-fallback-3fc2996d{to{opacity:1;transform:none}}.navbar-avatar[data-v-3fc2996d]{background:linear-gradient(150deg,#bfdbfe8c,#3b82f640 45%,#0f172a99);border-radius:9999px;padding:2px;display:inline-flex;box-shadow:0 4px 14px -4px #2563eb8c}.navbar-link[data-v-3fc2996d]{z-index:1;color:#e2e8f0e0;white-space:nowrap;border-radius:9999px;align-items:center;gap:.5rem;height:2.5rem;padding-inline:.75rem;font-size:.9375rem;font-weight:500;transition:color .25s,background-color .25s;display:inline-flex;position:relative}.navbar-link[data-v-3fc2996d]:hover{color:#fff;background-color:#ffffff0d}.navbar-link.is-active[data-v-3fc2996d]{color:#0f172a;background-color:#0000}.navbar-link[data-v-3fc2996d]:focus-visible,.navbar-panel-link[data-v-3fc2996d]:focus-visible{outline-offset:2px;outline:2px solid #7dd3fc}.navbar-link-icon[data-v-3fc2996d]{color:#cbd5e1d9;transition:color .25s,filter .25s}.navbar-link.is-active>.navbar-link-icon[data-v-3fc2996d]{color:inherit}.navbar-panel-link.is-active>.navbar-link-icon[data-v-3fc2996d]{color:#93c5fd;filter:drop-shadow(0 0 6px #3b82f6d9)}@media (width>=1280px){.navbar-link[data-v-3fc2996d]{padding-inline:1.125rem}}.navbar-indicator[data-v-3fc2996d]{pointer-events:none;background:#fff;border-radius:9999px;height:100%;position:absolute;top:0;left:0;box-shadow:0 3px 12px #0206174d}.navbar-indicator.is-placed[data-v-3fc2996d]{transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1),opacity .3s}.navbar-cta[data-v-3fc2996d]{color:#f1f5f9;cursor:pointer;background:#bfdbfe14;border:1px solid #bfdbfe2e;border-radius:9999px;align-items:center;gap:.5rem;height:2.75rem;padding-inline:1rem;font-size:.875rem;font-weight:500;transition:background-color .2s,transform .15s;display:inline-flex}.navbar-cta[data-v-3fc2996d]:hover,.navbar-cta[data-state=open][data-v-3fc2996d]{background:#bfdbfe29}.navbar-cta[data-v-3fc2996d]:active{transform:scale(.97)}.navbar-cta[data-v-3fc2996d]:focus-visible,.navbar-menu-trigger[data-v-3fc2996d]:focus-visible{outline-offset:3px;outline:2px solid #7dd3fc}.navbar-menu-trigger[data-v-3fc2996d]{color:#f1f5f9;background:#ffffff0f;border:1px solid #bfdbfe29;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:background-color .2s,transform .15s;display:inline-flex}.navbar-menu-trigger[data-v-3fc2996d]:hover,.navbar-menu-trigger[aria-expanded=true][data-v-3fc2996d]{background:#ffffff1f}.navbar-menu-trigger[data-v-3fc2996d]:active{transform:scale(.95)}.navbar-panel[data-v-3fc2996d]{inset-inline:0;max-height:calc(100dvh - 6.5rem);margin-top:.5rem;position:absolute;top:100%}.navbar-panel-link[data-v-3fc2996d]{color:#e2e8f0e6;border-radius:1.125rem;align-items:center;gap:.75rem;min-height:2.875rem;padding-inline:.875rem;font-size:.9375rem;font-weight:500;transition:color .2s,background-color .2s;display:flex}.navbar-panel-link[data-v-3fc2996d]:hover{color:#fff;background:#ffffff0d}.navbar-panel-link.is-active[data-v-3fc2996d]{color:#fff;background:linear-gradient(#2563eb4d,#1d4ed82e);box-shadow:inset 0 0 0 1px #60a5fa61}.navbar-panel-enter-active[data-v-3fc2996d],.navbar-panel-leave-active[data-v-3fc2996d]{transform-origin:top;transition:opacity .22s,transform .3s cubic-bezier(.22,1,.36,1)}.navbar-panel-enter-from[data-v-3fc2996d],.navbar-panel-leave-to[data-v-3fc2996d]{opacity:0;transform:translateY(-.5rem)scale(.98)}@media (prefers-reduced-motion:reduce){.navbar-frame[data-v-3fc2996d],.navbar-shell.is-revealed[data-v-3fc2996d]{transition:none}.navbar-shell[data-v-3fc2996d],.navbar-panel-enter-from[data-v-3fc2996d],.navbar-panel-leave-to[data-v-3fc2996d]{transform:none}.navbar-indicator.is-placed[data-v-3fc2996d]{transition:opacity .2s}.navbar-cta[data-v-3fc2996d]:active,.navbar-menu-trigger[data-v-3fc2996d]:active{transform:none}}.tech-text-native[data-v-1db899e4]{height:auto;position:relative}.tech-text-source[data-v-1db899e4]{display:block}.tech-text-ready>.tech-text-source[data-v-1db899e4]{opacity:0}.tech-text-native>.tech-text-canvas[data-v-1db899e4]{position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.tech-text-ready>.tech-text-source[data-v-1db899e4]{opacity:1}.tech-text-native>.tech-text-canvas[data-v-1db899e4]{display:none}}.page-loader[data-v-a8bc6064]{z-index:60;text-align:center;place-content:center;justify-items:center;gap:.9rem;animation:.4s 6s forwards page-loader-fallback-a8bc6064;display:grid;position:fixed;inset:0}.page-loader-name[data-v-a8bc6064]{color:#f1f5f9;letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2rem);font-weight:600}.page-loader-status[data-v-a8bc6064]{color:#8eaacb;letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.7rem;font-weight:500;display:inline-flex}.page-loader-dot[data-v-a8bc6064]{background:#000fff;border-radius:9999px;width:.5rem;height:.5rem;animation:1.2s ease-in-out infinite page-loader-pulse-a8bc6064;box-shadow:0 0 10px #000fffa6}.page-loader-leave-active[data-v-a8bc6064]{pointer-events:none;transition:opacity .4s;animation:none}.page-loader-leave-to[data-v-a8bc6064]{opacity:0}.is-preparing[data-v-a8bc6064]>:not(.page-loader,[data-liquid-glass-backdrop]){opacity:.001;animation:.4s 6s forwards page-content-fallback-a8bc6064}@keyframes page-loader-pulse-a8bc6064{50%{opacity:.35}}@keyframes page-loader-fallback-a8bc6064{to{opacity:0;visibility:hidden}}@keyframes page-content-fallback-a8bc6064{to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-loader-dot[data-v-a8bc6064]{animation:none}.page-loader-leave-active[data-v-a8bc6064]{transition:none}}.scroll-reveal[data-v-a8bc6064]{opacity:0;filter:blur(6px);will-change:opacity, filter, transform;transition:opacity .8s ease-out,filter .8s ease-out,transform .8s cubic-bezier(.22,1,.36,1);transform:translateY(42px)scale(.985)}.scroll-reveal.is-visible[data-v-a8bc6064]{opacity:1;filter:blur();transform:translateY(0)scale(1)}.welcome-card.experience-card--current[data-v-a8bc6064]{background:radial-gradient(at 0 0,#2f6edb2e,#0000 65%),linear-gradient(155deg,#b1c3db14,#19223194 40%);border-color:#6a9eff61;position:relative;overflow:hidden}.experience-card--current[data-v-a8bc6064]:before{content:"";offset-path:inset(1px round 1.5rem);offset-rotate:auto;pointer-events:none;background:linear-gradient(90deg,#0000,#b9d5ff,#0000);width:7rem;height:2px;animation:10s linear infinite experience-border-travel-a8bc6064;position:absolute;top:0;left:0;box-shadow:0 0 16px 2px #5e98ff73}.experience-card--current[data-v-a8bc6064]:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(at 15% 0,#5d97ff21,#0000 65%);animation:6s ease-in-out infinite experience-ambient-glow-a8bc6064;position:absolute;inset:0}.experience-card--current>div[data-v-a8bc6064]{z-index:1;position:relative}.is-visible .experience-current-header>div[data-v-a8bc6064]:first-child>*,.is-visible .experience-current-tenure[data-v-a8bc6064]{animation:.85s cubic-bezier(.22,1,.36,1) both experience-heading-arrive-a8bc6064}.is-visible .experience-current-company[data-v-a8bc6064]{animation-delay:.24s}.is-visible .experience-current-title[data-v-a8bc6064]{animation-delay:.12s}.is-visible .experience-current-tenure[data-v-a8bc6064]{animation-delay:.34s}@keyframes experience-border-travel-a8bc6064{to{offset-distance:100%}}@keyframes experience-ambient-glow-a8bc6064{0%,to{opacity:.2}50%{opacity:1}}@keyframes experience-heading-arrive-a8bc6064{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}.experience-current-header[data-v-a8bc6064]{border-bottom:1px solid #89ade62e;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding-block:.25rem 1.5rem;display:flex}.experience-current-title[data-v-a8bc6064]{color:#f1f5f9;letter-spacing:-.045em;overflow-wrap:anywhere;font-size:clamp(1.8rem,3.5vw,2.75rem);font-weight:600;line-height:1.15}.experience-current-company[data-v-a8bc6064]{color:#b4c4da;margin-top:.5rem;font-size:.9rem}.experience-current-tenure[data-v-a8bc6064]{color:#b4c4da;border-left:1px solid #89ade659;padding-left:.9rem;font-size:.8rem}.experience-current-status[data-v-a8bc6064]{color:#91b5ed;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem;font-size:.6rem;font-weight:600}@media (prefers-reduced-motion:reduce){.experience-card--current[data-v-a8bc6064]:before,.experience-card--current[data-v-a8bc6064]:after,.is-visible .experience-current-header>div[data-v-a8bc6064]:first-child>*,.is-visible .experience-current-tenure[data-v-a8bc6064]{animation:none}.experience-card--current[data-v-a8bc6064]:before{offset-distance:12%}.scroll-reveal[data-v-a8bc6064],.scroll-reveal.is-visible[data-v-a8bc6064]{opacity:1;filter:none;transition:none;transform:none}}.welcome-card[data-v-a8bc6064],.welcome-dialog[data-slot=dialog-content],.welcome-gallery[data-v-a8bc6064] .max-w-6xl{-webkit-backdrop-filter:blur(24px)saturate(115%);backdrop-filter:blur(24px)saturate(115%);background:linear-gradient(155deg,#b1c3db14,#19223194 40%);border:1px solid #dfe9fa29;border-radius:1.5rem;min-width:0;box-shadow:inset 0 1px #ffffff14,0 16px 40px #00040f26}.welcome-dialog[data-slot=dialog-content],.welcome-gallery[data-v-a8bc6064] .max-w-6xl{color:#e3e9f2;background-color:#0a111de0}.resume-glass[data-slot=dialog-content]{-webkit-backdrop-filter:blur(40px)saturate(120%);backdrop-filter:blur(40px)saturate(120%);scrollbar-width:thin;scrollbar-color:#666 transparent;background:linear-gradient(155deg,#404349eb,#1d1f24f5);border:1px solid #ffffff3d;border-radius:1.25rem;gap:0;padding:0;box-shadow:inset 0 1px #ffffff2e,0 24px 90px #0000008c}.resume-glass-header[data-v-a8bc6064]{text-align:left;border-bottom:1px solid #ffffff17;grid-template-columns:2.5rem minmax(0,1fr);gap:.375rem 1rem;padding:1.75rem 3rem 1.5rem 1.75rem;display:grid}.resume-glass-icon[data-v-a8bc6064]{color:#e6e8ed;background:#ffffff0f;border:1px solid #ffffff2b;border-radius:.75rem;grid-row:span 2;align-self:start;place-items:center;height:2.5rem;display:grid;box-shadow:inset 0 1px #ffffff1f}.resume-glass-title[data-v-a8bc6064]{color:#fff;letter-spacing:-.025em;font-size:1.125rem;font-weight:600;line-height:1.4}.resume-glass-description[data-v-a8bc6064]{color:#b8bac2;grid-column:2;font-size:.8125rem;line-height:1.6}.resume-glass-form[data-v-a8bc6064]{padding:1.5rem 1.75rem 0}.resume-glass-form[data-v-a8bc6064] label{color:#c9cbd2;font-size:.75rem;font-weight:500}.resume-glass-form[data-v-a8bc6064] input:not([type=hidden]),.resume-glass-form textarea[data-v-a8bc6064]{color:#f5f5f7;background:#00000029;border:1px solid #ffffff21;border-radius:.5rem;width:100%;height:2.625rem;padding:.625rem .75rem;font-size:1rem;line-height:1.4;transition:border-color .16s,box-shadow .16s;box-shadow:inset 0 1px 2px #0000001f,0 1px #ffffff09}.resume-glass-form textarea[data-v-a8bc6064]{resize:vertical;height:auto;min-height:5.5rem}.resume-glass-form[data-v-a8bc6064] input::placeholder,.resume-glass-form textarea[data-v-a8bc6064]::placeholder{color:#878992;font-size:.8125rem}.resume-glass-form[data-v-a8bc6064] input:focus-visible,.resume-glass-form textarea[data-v-a8bc6064]:focus-visible{border-color:#82b5f4;outline:none;box-shadow:0 0 0 3px #478ee740}.resume-glass-form[data-v-a8bc6064] [aria-invalid=true]{border-color:#fda4af}.resume-glass-footer[data-v-a8bc6064]{background:#00000014;border-top:1px solid #ffffff14;gap:.625rem;margin:.5rem -1.75rem 0;padding:1rem 1.75rem}.resume-glass-cancel[data-v-a8bc6064],.resume-glass-form[data-v-a8bc6064] .resume-glass-submit{border:1px solid #ffffff1f;border-radius:.5rem;height:2.25rem;min-height:2.25rem;padding:0 1rem;font-size:.8125rem;font-weight:500;transition:filter .16s,background-color .16s}.resume-glass-cancel[data-v-a8bc6064]{color:#eeeef1;background:#ffffff17;box-shadow:0 1px 2px #00000029}.resume-glass-form[data-v-a8bc6064] .resume-glass-submit{color:#fff;background:linear-gradient(#348df3,#1670dc);box-shadow:inset 0 1px #ffffff2b,0 1px 3px #0003}.resume-glass-cancel[data-v-a8bc6064]:focus-visible{outline-offset:3px;outline:2px solid #82b5f4}.resume-glass-cancel[data-v-a8bc6064]:disabled{opacity:.5;cursor:not-allowed}@media (hover:hover){.resume-glass-cancel[data-v-a8bc6064]:hover:not(:disabled){background:#ffffff26}.resume-glass-form[data-v-a8bc6064] .resume-glass-submit:hover:not(:disabled){filter:brightness(1.12)}}@media (width<=639px){.resume-glass-header[data-v-a8bc6064]{padding:1.5rem 2.75rem 1.25rem 1.25rem}.resume-glass-form[data-v-a8bc6064]{padding:1.25rem 1.25rem 0}.resume-glass-footer[data-v-a8bc6064]{margin-inline:-1.25rem;padding-inline:1.25rem}}@media (prefers-reduced-motion:reduce){.resume-glass-form[data-v-a8bc6064] input,.resume-glass-form textarea[data-v-a8bc6064],.resume-glass-cancel[data-v-a8bc6064],.resume-glass-form[data-v-a8bc6064] .resume-glass-submit{transition:none}}.welcome-inset[data-v-a8bc6064]{background:#dae5f706;border:1px solid #dae5f71a;border-radius:.875rem;min-width:0;box-shadow:inset 0 1px #ffffff06}.welcome-tag[data-v-a8bc6064]{color:#c3cddb;overflow-wrap:anywhere;background:#dae5f709;border:1px solid #dae5f71a;border-radius:.4375rem;max-width:100%;padding:.3125rem .625rem;font-size:.75rem;font-weight:400;line-height:1.5;box-shadow:inset 0 1px #ffffff06}.welcome-expand[data-v-a8bc6064],.welcome-card.project-card-item[data-v-a8bc6064],.welcome-inset[data-v-a8bc6064]{transition:border-color .25s,background-color .25s}.welcome-expand-icon[data-v-a8bc6064]{color:#9aafc9}.welcome-expand-count[data-v-a8bc6064]{color:#d9e3f2;background:#dae5f70b;border:1px solid #dae5f724;border-radius:.625rem;padding:.375rem .625rem;font-size:.75rem;line-height:1.5}.welcome-preview-fade[data-v-a8bc6064]{background:linear-gradient(#0000,#050c1ad1)}.welcome-card[role=button][data-v-a8bc6064]:focus-visible,.welcome-expand[data-v-a8bc6064]:focus-visible{outline-offset:4px;outline:2px solid #93b7e1}@media (hover:hover){.welcome-card.project-card-item[data-v-a8bc6064]:hover,.welcome-expand[data-v-a8bc6064]:hover,.welcome-inset[data-v-a8bc6064]:hover{background-color:#dae5f709;border-color:#dae5f74d}}@media (prefers-reduced-motion:reduce){.welcome-card.project-card-item[data-v-a8bc6064],.welcome-expand[data-v-a8bc6064],.welcome-inset[data-v-a8bc6064]{transition:none}}.skills-glass-grid[data-v-a8bc6064]{gap:1.5rem;display:grid}[data-v-a8bc6064] .liquid-glass-root{isolation:isolate;position:relative;-webkit-user-select:text!important;user-select:text!important}[data-v-a8bc6064] .liquid-glass-backdrop{opacity:0;pointer-events:none;width:calc(100% + 6rem);height:calc(100% + 6rem);margin:0;position:absolute;top:-3rem;left:-3rem}[data-v-a8bc6064] .liquid-glass-root{gap:2.75rem}[data-v-a8bc6064] .liquid-glass-root>.liquid-glass-surface:not(:last-child){margin-block-end:0}[data-v-a8bc6064] .liquid-glass-root:not(.grid,.skills-glass-grid){flex-direction:column;display:flex}[data-v-a8bc6064] .liquid-glass-surface>:not(canvas){z-index:1;position:relative}.welcome-card.liquid-glass-surface[data-v-a8bc6064],.skills-glass-grid .skill-glass-card.liquid-glass-surface[data-v-a8bc6064]{isolation:isolate;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.skill-glass-card[data-v-a8bc6064]{background:#1420328c;border:1px solid #dfe9fa21;border-radius:1.25rem;min-width:0;padding:clamp(1.25rem,2.7vw,2rem);transition:background-color .25s}.skill-card-heading[data-v-a8bc6064]{align-items:center;gap:.875rem;display:flex}.skill-card-heading h3[data-v-a8bc6064]{color:#edf1f7;letter-spacing:-.02em;min-width:0;font-size:1rem;font-weight:500;line-height:1.5}.skill-category-icon[data-v-a8bc6064]{color:#a7c7f3;background:#60a5fa1f;border-radius:.625rem;flex:0 0 2.25rem;justify-content:center;align-items:center;height:2.25rem;display:inline-flex}.skill-category-icon svg[data-v-a8bc6064]{stroke-width:1.5px;width:1.125rem;height:1.125rem}.skill-glass-pills[data-v-a8bc6064]{flex-wrap:wrap;gap:.625rem;margin-top:1.375rem;padding:0;list-style:none;display:flex}.skill-glass-pill[data-v-a8bc6064]{color:#c3cddb;overflow-wrap:anywhere;background:#dae5f70d;border:1px solid #dae5f714;border-radius:9999px;max-width:100%;padding:.3125rem .6875rem;font-size:.8125rem;font-weight:400;line-height:1.5;transition:border-color .25s,color .25s}@media (width>=1024px){.skills-glass-grid[data-v-a8bc6064]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover:hover){.skill-glass-card[data-v-a8bc6064]:hover{background-color:#1a293fa8}.skill-glass-pill[data-v-a8bc6064]:hover{color:#eef3fb;border-color:#dae5f740}}@media (prefers-reduced-motion:reduce){.skill-glass-card[data-v-a8bc6064],.skill-glass-pill[data-v-a8bc6064]{transition:none}}.contact-glass[data-v-a8bc6064]{isolation:isolate;-webkit-backdrop-filter:blur(28px)saturate(115%);backdrop-filter:blur(28px)saturate(115%);background:linear-gradient(135deg,#93a7c217,#0f1725c7 50%);border:1px solid #dfe9fa33;border-radius:1.75rem;padding:clamp(1.5rem,4vw,3.5rem);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff17,0 24px 60px #00051433}.contact-glass[data-v-a8bc6064]:after{content:"";z-index:1;border-radius:inherit;opacity:.18;pointer-events:none;border:2px solid #89c0ffe6;position:absolute;inset:0;box-shadow:inset 0 0 24px #4285ff61,inset 0 0 4px #c0e1ffa6}@keyframes contact-card-heartbeat-a8bc6064{0%,42%,to{opacity:.18}12%{opacity:1}23%{opacity:.3}32%{opacity:.85}}@media (prefers-reduced-motion:no-preference){.contact-glass.is-visible[data-v-a8bc6064]:after{animation:2.8s ease-in-out infinite contact-card-heartbeat-a8bc6064}}.contact-water[data-v-a8bc6064]{background:url(/Images/contact-water.svg) 50%/cover}.contact-glass-layout[data-v-a8bc6064]{border-radius:1.5rem;align-items:start;gap:2.5rem;display:grid}.contact-eyebrow[data-v-a8bc6064]{color:#9cacc2;letter-spacing:.2em;text-transform:uppercase;font-size:.6875rem;font-weight:500;line-height:1.5}.contact-title[data-v-a8bc6064]{color:#f4f7ff;letter-spacing:-.045em;text-wrap:balance;max-width:13em;margin-top:1.5rem;font-size:clamp(1.875rem,3.65vw,3rem);font-weight:600;line-height:1.12}.contact-details[data-v-a8bc6064]{border-top:1px solid #dae5f724;margin-top:2.5rem}.contact-detail[data-v-a8bc6064]{color:#e3e9f2;border-radius:.75rem;align-items:center;gap:1rem;min-height:4.75rem;padding:1rem;font-size:.875rem;line-height:1.5;text-decoration:none;display:flex;position:relative}.contact-detail+.contact-detail[data-v-a8bc6064]:before{content:"";background:#dae5f71a;height:1px;position:absolute;top:0;left:1rem;right:1rem}.contact-detail-copy[data-v-a8bc6064]{overflow-wrap:anywhere;gap:.125rem;min-width:0;display:grid}.contact-detail-label[data-v-a8bc6064]{color:#98a8bf;font-size:.6875rem}.contact-detail-icon[data-v-a8bc6064]{color:#a5b7ce;flex:0 0 1.25rem;justify-content:center;display:inline-flex}.contact-detail-arrow[data-v-a8bc6064]{color:#bbd0f6;flex:0 0 1rem;width:1rem;height:1rem;margin-left:auto;transition:transform .25s,color .25s}.contact-detail-link[data-v-a8bc6064]{transition:background-color .25s,box-shadow .25s}.contact-detail-link[data-v-a8bc6064]:focus-visible{outline-offset:3px;background:#8fb9ff14;outline:2px solid #b7dcff}.contact-glass-form[data-v-a8bc6064]{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(160deg,#e1ebfa0e,#e1ebfa04 65%);border:1px solid #dfe9fa29;border-radius:1.25rem;min-width:0;padding:clamp(1.25rem,2.8vw,2rem);box-shadow:inset 0 1px #ffffff13,0 8px 24px #0005141f}.contact-form-status[data-v-a8bc6064]:empty{display:none}.contact-field[data-v-a8bc6064]{position:relative}.contact-glass .contact-glass-input[data-v-a8bc6064]{color:#f1f5fc;background:#030a1659;border:1px solid #dae5f72b;border-radius:.625rem;outline:none;width:100%;height:3rem;padding:.75rem .875rem;font-size:1rem;line-height:1.5;transition:border-color .25s,background-color .25s,box-shadow .25s;box-shadow:inset 0 1px 2px #00000014}.contact-glass-input[data-v-a8bc6064]::placeholder{color:#b0c1de;opacity:1}.contact-glass .contact-glass-input[data-v-a8bc6064]:focus-visible{background-color:#101d308c;border-color:#93b7e1;box-shadow:0 0 0 3px #93b7e11f}.contact-glass .contact-glass-input[aria-invalid=true][data-v-a8bc6064]{border-color:#fda4af}.contact-glass .contact-glass-message[data-v-a8bc6064]{resize:vertical;height:auto;min-height:9rem;display:block}.contact-glass .contact-glass-submit[data-v-a8bc6064]{color:#1c2c43;background:linear-gradient(#f1f5fa,#dce5f0);border:1px solid #ffffffb3;border-radius:.75rem;gap:1.25rem;width:fit-content;min-width:11rem;min-height:2.875rem;margin-left:auto;padding-inline:1.125rem;font-weight:500;transition:box-shadow .25s,transform .25s;display:flex;box-shadow:inset 0 1px #fff,0 3px 10px #0005141f}.contact-glass-submit[data-v-a8bc6064]:focus-visible{outline-offset:4px;outline:2px solid #b7dcff}@media (hover:hover){.contact-detail-link[data-v-a8bc6064]:hover{background-color:#8fb9ff12;box-shadow:inset 0 0 0 1px #b7dcff1a}.contact-detail-link:hover .contact-detail-arrow[data-v-a8bc6064]{color:#f0f6ff;transform:translate(3px)}.contact-glass-submit[data-v-a8bc6064]:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #fff,0 5px 16px #93b7e129}}@media (width>=1024px){.contact-glass-layout[data-v-a8bc6064]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem)}}@media (width<=639px){.contact-glass[data-v-a8bc6064]{border-radius:1.5rem}.contact-detail[data-v-a8bc6064]{gap:.75rem;font-size:.8125rem}.contact-glass .contact-glass-submit[data-v-a8bc6064]{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.contact-glass .contact-glass-input[data-v-a8bc6064],.contact-glass .contact-glass-submit[data-v-a8bc6064],.contact-detail-link[data-v-a8bc6064],.contact-detail-arrow[data-v-a8bc6064]{transition:none;transform:none}.contact-glass .contact-glass-submit[data-v-a8bc6064]:hover:not(:disabled),.contact-detail-link:hover .contact-detail-arrow[data-v-a8bc6064]{transform:none}}.contact-form-status[data-v-a8bc6064] .rounded-2xl{border-color:#ffffff40}.contact-form-status[data-v-a8bc6064] .border-emerald-200{color:#fff;background:#10b98133}.contact-form-status[data-v-a8bc6064] .text-emerald-600{color:#a7f3d0}.contact-form-status[data-v-a8bc6064] .border-red-200{color:#fff;background:#ef444426}.contact-form-status[data-v-a8bc6064] .text-red-900,.contact-form-status[data-v-a8bc6064] .text-red-800\/90{color:#fee2e2}.experience-card-enter-active[data-v-a8bc6064]{transition:opacity .65s ease-out,transform .65s ease-out;transition-delay:var(--experience-delay,0s)}.experience-card-leave-active[data-v-a8bc6064]{transition:opacity .45s ease-out,transform .45s ease-out}.experience-card-enter-from[data-v-a8bc6064],.experience-card-leave-to[data-v-a8bc6064]{opacity:0;transform:translateY(10px)}.experience-card-move[data-v-a8bc6064]{transition:transform .65s ease-out}.experiences-expand-bar[data-v-a8bc6064]{animation:.85s ease-out both experiences-bar-in-a8bc6064}.experiences-expand-bar[data-v-a8bc6064]:hover{transform:translateY(-1px)}.experiences-expand-bar[data-v-a8bc6064]:active{transform:translateY(0)}@keyframes experiences-bar-in-a8bc6064{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.project-card-enter-active[data-v-a8bc6064]{transition:opacity .65s ease-out,transform .65s ease-out;transition-delay:var(--project-delay,0s)}.project-card-leave-active[data-v-a8bc6064]{transition:opacity .45s ease-out,transform .45s ease-out}.project-card-enter-from[data-v-a8bc6064],.project-card-leave-to[data-v-a8bc6064]{opacity:0;transform:translateY(10px)}.project-card-move[data-v-a8bc6064]{transition:transform .65s ease-out}.projects-expand-bar[data-v-a8bc6064]{animation:.85s ease-out both projects-bar-in-a8bc6064}.projects-expand-bar[data-v-a8bc6064]:hover{transform:translateY(-1px)}.projects-expand-bar[data-v-a8bc6064]:active{transform:translateY(0)}@keyframes projects-bar-in-a8bc6064{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portfolio-hero[data-v-a8bc6064]{z-index:1;isolation:isolate;color:#f1f5f9;align-items:center;gap:3rem;min-height:min(850px,100svh - 65px);margin-top:-2rem;padding-block:clamp(2.75rem,5vw,4rem);display:grid;position:relative}.hero-content[data-v-a8bc6064]{width:100%;min-width:0;position:relative}.hero-portrait[data-v-a8bc6064]{width:min(100%,36rem);min-width:0;margin-inline:auto}.hero-portrait-frame[data-v-a8bc6064]{aspect-ratio:4/5;pointer-events:none;margin-bottom:calc(-18% - 4rem);position:relative;transform:translateY(-.75rem)}.hero-portrait-frame[data-v-a8bc6064] canvas{-webkit-mask-image:linear-gradient(#0000,#000 6rem);mask-image:linear-gradient(#0000,#000 6rem)}.hero-positioning[data-v-a8bc6064]{color:#8eaacb;letter-spacing:.18em;text-transform:uppercase;margin-bottom:clamp(1.75rem,3vw,2.5rem);font-size:.7rem;font-weight:500}.hero-typewriter[data-v-a8bc6064]{padding-right:.5em;display:grid}.hero-typewriter-reserve[data-v-a8bc6064],.hero-typewriter-text[data-v-a8bc6064]{grid-area:1/1}.hero-typewriter-reserve[data-v-a8bc6064]{visibility:hidden}.hero-typewriter-text.is-typing[data-v-a8bc6064]:after{content:"";vertical-align:-.1em;background:#a8c8ed;width:1px;height:1em;margin-left:.3em;animation:.7s step-end infinite hero-caret-a8bc6064;display:inline-block}@keyframes hero-caret-a8bc6064{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-typewriter-text.is-typing[data-v-a8bc6064]:after{animation:none}}.hero-name[data-v-a8bc6064]{color:#cbd5e1;margin-bottom:1rem;font-size:clamp(1.1rem,2vw,1.4rem);font-weight:500}.hero-title[data-v-a8bc6064]{letter-spacing:-.055em;text-wrap:balance;max-width:1050px;font-size:clamp(2.7rem,6.4vw,5.6rem);font-weight:600;line-height:1.07}.hero-title[data-v-a8bc6064] .hero-highlight{color:#82b4eb}.hero-description[data-v-a8bc6064]{color:#a9b8cc;max-width:32rem;margin-top:1.8rem;font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.8}.hero-actions[data-v-a8bc6064]{flex-wrap:wrap;gap:.85rem;margin-top:2.25rem;display:flex}.hero-action[data-v-a8bc6064]{border-radius:.5rem;justify-content:center;align-items:center;gap:.8rem;min-height:50px;padding:.85rem 1.4rem;font-size:.875rem;font-weight:600;transition:background-color .2s;display:inline-flex}.hero-action-primary[data-v-a8bc6064]{color:#fff;background:#2f6edb}.hero-action-primary[data-v-a8bc6064]:hover{background:#3e7de8}.hero-action-secondary[data-v-a8bc6064]{color:#e2e8f0;background:#0f172aa6;border:1px solid #334155}.hero-action-secondary[data-v-a8bc6064]:hover{background:#1e293b}.hero-action[data-v-a8bc6064]:focus-visible{outline-offset:5px;outline:2px solid #7dd3fc}.hero-footnote[data-v-a8bc6064]{color:#8596af;flex-wrap:wrap;gap:.65rem 1.75rem;margin-top:clamp(3rem,6vw,5rem);font-size:.75rem;display:flex}@keyframes location-pulse-a8bc6064{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:no-preference){.location-pulse[data-v-a8bc6064]{animation:1.4s ease-out infinite location-pulse-a8bc6064}}@media (width>=640px){.portfolio-hero[data-v-a8bc6064]{margin-top:-2.5rem}}@media (width>=1024px){.portfolio-hero[data-v-a8bc6064]{margin-top:-3.5rem;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2.5rem,5vw,5rem);width:100vw;margin-inline:calc(50% - 50vw);padding-inline:clamp(2rem,5vw,7rem)}.hero-title[data-v-a8bc6064]{font-size:clamp(3rem,4.6vw,4.25rem)}.hero-portrait[data-v-a8bc6064]{place-self:stretch end;width:min(100%,48rem);margin-inline:0}.hero-portrait-frame[data-v-a8bc6064]{z-index:1;aspect-ratio:auto;margin-bottom:0;position:absolute;inset:0;transform:none}.hero-portrait-frame[data-v-a8bc6064] canvas{-webkit-mask-image:linear-gradient(#0000001f 0 4.5rem,#000 9rem);mask-image:linear-gradient(#0000001f 0 4.5rem,#000 9rem)}}@media (width<=639px){.portfolio-hero[data-v-a8bc6064]{min-height:auto;padding-block:2.5rem 1rem}.hero-action[data-v-a8bc6064]{padding-inline:1rem}}@media (prefers-reduced-motion:reduce){.experience-card-enter-active[data-v-a8bc6064],.experience-card-leave-active[data-v-a8bc6064],.experience-card-move[data-v-a8bc6064],.experiences-expand-bar[data-v-a8bc6064],.project-card-enter-active[data-v-a8bc6064],.project-card-leave-active[data-v-a8bc6064],.project-card-move[data-v-a8bc6064],.projects-expand-bar[data-v-a8bc6064]{transition:none;animation:none}.hero-action[data-v-a8bc6064]{transition:none}.experiences-expand-bar[data-v-a8bc6064]:hover,.projects-expand-bar[data-v-a8bc6064]:hover{transform:none}}
