.intro-overlay[data-v-a383ef14]{z-index:10000;pointer-events:none;background:radial-gradient(circle at 50% 40%,#ffffff59,#ffffff0d 45%,#0000 70%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro-backdrop[data-v-a383ef14]{filter:blur(10px);opacity:.95;background:radial-gradient(1400px 720px at 50% 45%,#4b7ef847,#9558f538,#20d0be2e,#0000 72%);animation:1.7s ease-out forwards backdrop-fade-a383ef14;position:absolute;inset:0}.bubble[data-v-a383ef14]{filter:saturate(175%)contrast(110%);background:radial-gradient(circle at 30% 30%,#fffffff2,#ffffff40 24%,#0000 42%),radial-gradient(circle at 70% 70%,#20d0be59,#0000 52%),radial-gradient(circle at 55% 40%,#9558f552,#0000 52%),radial-gradient(circle at 40% 65%,#4b7ef84d,#0000 56%),radial-gradient(circle,#ffffff2e,#ffffff0a 62%,#0000 76%);border:1px solid #ffffff73;border-radius:50%;width:min(92vw,860px);max-width:92vh;height:min(92vw,860px);max-height:92vh;animation:1.5s cubic-bezier(.22,.7,.2,1) forwards bubble-grow-a383ef14,.24s ease-out 1.5s forwards bubble-pop-a383ef14;position:relative;transform:scale(.1);box-shadow:0 0 30px #ffffff4d,0 0 140px #4b7ef861,0 0 180px #9558f547,inset 0 0 26px #ffffff40}.bubble[data-v-a383ef14]:before,.bubble[data-v-a383ef14]:after{content:"";opacity:.9;mix-blend-mode:screen;background:radial-gradient(circle,#ffffffe6,#fff0 70%);border-radius:50%;position:absolute}.bubble[data-v-a383ef14]:before{filter:blur(.6px);width:30%;height:30%;top:10%;left:16%}.bubble[data-v-a383ef14]:after{opacity:.65;width:16%;height:16%;top:24%;right:20%}.pop-ring[data-v-a383ef14]{opacity:0;border:2px solid #ffffffb3;border-radius:50%;width:min(110vw,980px);max-width:110vh;height:min(110vw,980px);max-height:110vh;animation:.45s ease-out 1.5s forwards ring-pop-a383ef14;position:absolute;transform:scale(.3);box-shadow:0 0 50px #9558f573}.sparkles[data-v-a383ef14]{position:absolute;inset:0}.sparkle[data-v-a383ef14]{opacity:0;background:radial-gradient(circle,#fff 0%,#fff3 70%,#0000 100%);border-radius:50%;width:6px;height:6px;animation:.4s ease-out 1.35s forwards sparkle-pop-a383ef14;position:absolute}.s1[data-v-a383ef14]{animation-delay:1.3s;top:46%;left:34%}.s2[data-v-a383ef14]{animation-delay:1.35s;top:35%;right:36%}.s3[data-v-a383ef14]{animation-delay:1.4s;bottom:38%;left:55%}.s4[data-v-a383ef14]{animation-delay:1.45s;bottom:32%;right:48%}@keyframes bubble-grow-a383ef14{0%{opacity:.15;transform:scale(.08)}70%{opacity:.95;transform:scale(1.18)}to{opacity:1;transform:scale(1.25)}}@keyframes bubble-pop-a383ef14{0%{opacity:1;filter:blur();transform:scale(1.25)}to{opacity:0;filter:blur(10px);transform:scale(1.48)}}@keyframes ring-pop-a383ef14{0%{opacity:0;transform:scale(.4)}70%{opacity:.8}to{opacity:0;transform:scale(1.2)}}@keyframes sparkle-pop-a383ef14{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes backdrop-fade-a383ef14{0%{opacity:.9}to{opacity:0}}.intro-fade-enter-active[data-v-a383ef14],.intro-fade-leave-active[data-v-a383ef14]{transition:opacity .35s}.intro-fade-enter-from[data-v-a383ef14],.intro-fade-leave-to[data-v-a383ef14]{opacity:0}@media (prefers-reduced-motion:reduce){.intro-overlay[data-v-a383ef14]{background:0 0}.intro-backdrop[data-v-a383ef14],.bubble[data-v-a383ef14],.pop-ring[data-v-a383ef14],.sparkle[data-v-a383ef14]{animation:none!important}}.glow-orbs[data-v-a184ff9a]{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.orb[data-v-a184ff9a]{filter:blur(90px);opacity:.55;will-change:transform;border-radius:50%;animation:linear infinite drift-a184ff9a;position:absolute}[data-theme=dark] .orb[data-v-a184ff9a]{opacity:.75}.orb-1[data-v-a184ff9a]{background:radial-gradient(circle, var(--glow-blue) 0%, transparent 70%);width:clamp(380px,45vw,650px);height:clamp(380px,45vw,650px);animation-duration:28s;animation-delay:0s;top:-15%;left:-10%}.orb-2[data-v-a184ff9a]{background:radial-gradient(circle, var(--glow-purple) 0%, transparent 70%);width:clamp(320px,40vw,560px);height:clamp(320px,40vw,560px);animation-duration:34s;animation-delay:-10s;top:30%;right:-12%}.orb-3[data-v-a184ff9a]{background:radial-gradient(circle, var(--glow-teal) 0%, transparent 70%);width:clamp(260px,30vw,440px);height:clamp(260px,30vw,440px);animation-duration:24s;animation-delay:-6s;bottom:-10%;left:25%}.orb-4[data-v-a184ff9a]{background:radial-gradient(circle, var(--glow-purple) 0%, transparent 70%);width:clamp(200px,25vw,360px);height:clamp(200px,25vw,360px);animation-duration:38s;animation-delay:-18s;top:60%;left:10%}@keyframes drift-a184ff9a{0%{transform:translate(0)scale(1)}25%{transform:translate(30px,-20px)scale(1.05)}50%{transform:translate(10px,40px)scale(.95)}75%{transform:translate(-20px,15px)scale(1.03)}to{transform:translate(0)scale(1)}}.starfield[data-v-175c3329]{pointer-events:none;z-index:0;opacity:0;transition:opacity .6s;position:fixed;inset:0}[data-theme=dark] .starfield[data-v-175c3329]{opacity:1}.navbar[data-v-d283a900]{top:var(--nav-top-offset);width:calc(100% - 48px);max-width:1060px;height:var(--nav-h);z-index:9000;border-radius:var(--radius-pill);background:var(--surface);-webkit-backdrop-filter:blur(22px)saturate(180%);border:1px solid var(--border);box-shadow:var(--shadow-glass);transition:top .45s cubic-bezier(.4,0,.2,1),left .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1),width .45s cubic-bezier(.4,0,.2,1),max-width .45s cubic-bezier(.4,0,.2,1),border-radius .45s cubic-bezier(.4,0,.2,1),box-shadow .45s cubic-bezier(.4,0,.2,1);position:fixed;left:50%;overflow:visible;transform:translate(-50%)}.navbar--scrolled[data-v-d283a900]{border-top:none;border-left:none;border-right:none;border-radius:0;width:100%;max-width:100%;top:0;left:0;transform:translate(0);box-shadow:0 2px 20px #0000001a}.nav-inner[data-v-d283a900]{align-items:center;gap:24px;height:100%;padding:0 clamp(16px,3vw,32px);display:flex}.nav-logo[data-v-d283a900]{font-family:var(--font-display);letter-spacing:-.02em;white-space:nowrap;align-items:center;font-size:1.35rem;font-weight:800;transition:opacity .2s;display:flex}.nav-logo[data-v-d283a900]:hover{opacity:.75}.nav-logo-mark[data-v-d283a900]{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-right:4px;font-size:1rem;display:inline-flex}.nav-links[data-v-d283a900]{gap:4px;margin-left:auto;list-style:none;display:flex}.nav-link[data-v-d283a900]{border-radius:var(--radius-pill);color:var(--text-muted);padding:7px 16px;font-size:.875rem;font-weight:500;transition:color .2s,background .2s;display:block}.nav-link[data-v-d283a900]:hover{color:var(--text);background:#6482dc1a}.nav-link.active[data-v-d283a900]{color:var(--accent-blue);background:#4b7ef81a;font-weight:600}.nav-actions[data-v-d283a900]{align-items:center;gap:8px;margin-left:16px;display:flex}.theme-toggle[data-v-d283a900]{width:36px;height:36px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex}.theme-toggle[data-v-d283a900]:hover{color:var(--text);background:#6482dc1a}.theme-icon[data-v-d283a900]{display:block}.icon-swap-enter-active[data-v-d283a900],.icon-swap-leave-active[data-v-d283a900]{transition:opacity .2s,transform .2s}.icon-swap-enter-from[data-v-d283a900]{opacity:0;transform:rotate(-20deg)scale(.8)}.icon-swap-leave-to[data-v-d283a900]{opacity:0;transform:rotate(20deg)scale(.8)}.hamburger[data-v-d283a900]{border-radius:var(--radius-sm);flex-direction:column;justify-content:center;align-items:center;gap:5px;width:36px;height:36px;transition:background .2s;display:none}.hamburger[data-v-d283a900]:hover{background:#6482dc1a}.bar[data-v-d283a900]{background:var(--text);transform-origin:50%;border-radius:2px;width:20px;height:2px;transition:transform .3s,opacity .3s,width .3s;display:block}.hamburger.open .bar[data-v-d283a900]:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open .bar[data-v-d283a900]:nth-child(2){opacity:0;width:0}.hamburger.open .bar[data-v-d283a900]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-drawer[data-v-d283a900]{border-radius:var(--radius-xl);background:var(--surface);-webkit-backdrop-filter:blur(28px)saturate(200%);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:16px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden}.navbar--scrolled .mobile-drawer[data-v-d283a900]{border-radius:0 0 var(--radius-xl) var(--radius-xl);top:100%}.mobile-nav-links[data-v-d283a900]{list-style:none}.mobile-link-item[data-v-d283a900]{animation:.3s both slide-in-d283a900;animation-delay:calc(var(--i) * 60ms)}@keyframes slide-in-d283a900{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.mobile-link[data-v-d283a900]{border-radius:var(--radius-md);color:var(--text-muted);padding:14px 18px;font-size:1rem;font-weight:500;transition:color .2s,background .2s;display:block}.mobile-link[data-v-d283a900]:hover{color:var(--text);background:#6482dc14}.mobile-link.active[data-v-d283a900]{color:var(--accent-blue);background:#4b7ef817;font-weight:600}.mobile-drawer-footer[data-v-d283a900]{border-top:1px solid var(--border);gap:8px;margin-top:8px;padding:12px 18px 4px;display:flex}.mobile-social[data-v-d283a900]{color:var(--text-subtle);font-size:.8rem;font-weight:600;transition:color .2s}.mobile-social[data-v-d283a900]:hover{color:var(--accent-blue)}.drawer-enter-active[data-v-d283a900],.drawer-leave-active[data-v-d283a900]{transition:opacity .3s,transform .3s}.drawer-enter-from[data-v-d283a900],.drawer-leave-to[data-v-d283a900]{opacity:0;transform:translateY(-10px)}@media (width<=768px){.navbar[data-v-d283a900]{width:calc(100% - 32px)}.navbar--scrolled[data-v-d283a900]{width:100vw;max-width:100vw;left:0;right:0;transform:translate(0)}.nav-links[data-v-d283a900]{display:none}.nav-actions[data-v-d283a900]{margin-left:auto}.hamburger[data-v-d283a900]{display:flex}}@media (width<=480px){.navbar[data-v-d283a900]{width:calc(100% - 20px)}}.footer[data-v-0680625b]{background:var(--bg-alt);border-top:1px solid var(--border);position:relative}.footer-inner[data-v-0680625b]{justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.footer-logo-mark[data-v-0680625b]{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;width:36px;height:36px;font-family:var(--font-display);border-radius:9px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:inline-flex}.footer-social[data-v-0680625b]{gap:10px;display:flex}.social-btn[data-v-0680625b]{width:38px;height:38px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s,transform .2s,box-shadow .2s;display:flex}.social-btn[data-v-0680625b]:hover{color:var(--accent-blue);background:var(--surface-hover);box-shadow:0 4px 14px var(--glow-blue);transform:translateY(-2px)}.footer-copy[data-v-0680625b]{color:var(--text-subtle);white-space:nowrap;font-size:.78rem}.icon-sm[data-v-0680625b]{width:18px;height:18px}@media (width<=640px){.footer-inner[data-v-0680625b]{flex-direction:column;gap:12px}.footer-copy[data-v-0680625b]{order:3}}.app-root{flex-direction:column;min-height:100vh;display:flex;position:relative}.main-content{z-index:1;flex:1;position:relative}.typewriter[data-v-8d64c52c]{align-items:baseline;display:inline-flex}.typed-text[data-v-8d64c52c]{background:linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-purple) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.cursor[data-v-8d64c52c]{background:var(--accent-purple);vertical-align:baseline;opacity:1;border-radius:2px;width:3px;height:.88em;margin-left:4px;display:inline-block;position:relative;top:.05em}.cursor.blink[data-v-8d64c52c]{animation:1s step-end infinite blink-anim-8d64c52c}@keyframes blink-anim-8d64c52c{0%,to{opacity:1}50%{opacity:0}}.hero[data-v-a3fa2721]{min-height:100svh;padding-top:calc(var(--nav-h) + var(--nav-top-offset) + 48px);align-items:center;padding-bottom:140px;display:flex;position:relative;overflow:hidden}.hero-container[data-v-a3fa2721]{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,100px);display:grid}.hero-greeting[data-v-a3fa2721]{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:16px;font-size:.95rem;font-weight:500;display:flex}.greeting-wave[data-v-a3fa2721]{font-size:1.1rem}.hero-heading[data-v-a3fa2721]{margin-bottom:20px;line-height:1.07}.hero-name[data-v-a3fa2721]{display:inline}.hero-role[data-v-a3fa2721]{font-family:var(--font-display);color:var(--text-muted);align-items:center;gap:8px;margin-bottom:24px;font-size:clamp(1.5rem,3.5vw,2.5rem);font-weight:600;display:flex}.hero-bio[data-v-a3fa2721]{max-width:460px;margin-bottom:36px}.hero-actions[data-v-a3fa2721]{flex-wrap:wrap;gap:12px;margin-bottom:36px;display:flex}.icon-sm[data-v-a3fa2721]{width:16px;height:16px}.icon-md[data-v-a3fa2721]{width:18px;height:18px}.icon-xs[data-v-a3fa2721]{width:14px;height:14px}.hero-social[data-v-a3fa2721]{gap:10px;display:flex}.social-icon[data-v-a3fa2721]{width:42px;height:42px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s,transform .2s,box-shadow .2s;display:flex}.social-icon[data-v-a3fa2721]:hover{color:var(--accent-blue);box-shadow:0 6px 18px var(--glow-blue);background:var(--surface-hover);transform:translateY(-3px)}.hero-visual[data-v-a3fa2721]{justify-content:center;align-items:center;display:flex;position:relative}.headshot-ring[data-v-a3fa2721]{width:360px;height:360px;transform:scale(var(--headshot-scale,5));opacity:.5;border-radius:42% 58% 60% 40%/50% 44% 56% 50%;animation:10s ease-in-out infinite blob-morph-ring-a3fa2721;position:absolute}.headshot-blob[data-v-a3fa2721]{border:2px solid var(--border-strong);width:clamp(300px,42vw,460px);height:clamp(340px,48vw,520px);box-shadow:0 20px 60px var(--glow-blue), 0 8px 30px var(--glow-purple);background:linear-gradient(135deg,#4b7ef82e 0%,#9558f52e 50%,#20d0be24 100%);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:9s ease-in-out infinite blob-morph-a3fa2721;position:relative;overflow:hidden}.headshot-img[data-v-a3fa2721]{object-fit:contain;object-position:center;width:100%;height:100%;transform:translate(var(--headshot-x,20px), var(--headshot-y,20px))}.headshot-placeholder[data-v-a3fa2721]{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.headshot-initials[data-v-a3fa2721]{font-family:var(--font-display);background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));-webkit-text-fill-color:transparent;opacity:.7;-webkit-background-clip:text;background-clip:text;font-size:7rem;font-weight:800;line-height:1}.headshot-hint[data-v-a3fa2721]{color:var(--text-subtle);font-size:.8rem;font-style:italic}@keyframes blob-morph-a3fa2721{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:40% 60% 55% 45%/35% 65% 45% 60%}50%{border-radius:30% 70% 65% 35%/55% 40% 60% 45%}75%{border-radius:50% 50% 40% 60%/40% 55% 50%}}@keyframes blob-morph-ring-a3fa2721{0%,to{border-radius:42% 58% 60% 40%/50% 44% 56% 50%;transform:rotate(0)}50%{border-radius:60% 40% 42% 58%/40% 56% 44% 50%;transform:rotate(8deg)}}.badge[data-v-a3fa2721]{border-radius:var(--radius-pill);color:var(--text);background:var(--surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);box-shadow:var(--shadow-md);align-items:center;gap:7px;padding:8px 16px;font-size:.8rem;font-weight:600;animation:4s ease-in-out infinite float-a3fa2721;display:flex;position:absolute}.badge-film[data-v-a3fa2721]{color:var(--accent-blue);animation-delay:0s;bottom:12%;left:-8%}.badge-code[data-v-a3fa2721]{color:var(--accent-purple);animation-delay:1.5s;top:10%;right:-4%}@keyframes float-a3fa2721{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-swoop[data-v-a3fa2721]{pointer-events:none;width:100%;line-height:0;position:absolute;bottom:-1px;left:0}.hero-swoop svg[data-v-a3fa2721]{width:100%;height:110px;display:block}.hero-dogwalker[data-v-a3fa2721]{opacity:.85;filter:drop-shadow(0 6px 10px #00000026);width:clamp(48px,6vw,80px);height:auto;position:absolute;bottom:6px;left:clamp(16px,3vw,36px)}.about-section[data-v-a3fa2721]{background:var(--bg-alt)}.about-grid[data-v-a3fa2721]{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.about-text .heading-1[data-v-a3fa2721]{margin-bottom:20px}.stats-grid[data-v-a3fa2721]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-card[data-v-a3fa2721]{text-align:center;border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:4px;padding:28px 20px;display:flex}.stat-value[data-v-a3fa2721]{font-family:var(--font-display);font-size:2.4rem;font-weight:800;line-height:1}.stat-label[data-v-a3fa2721]{margin-top:4px;font-size:.7rem}.areas-grid[data-v-a3fa2721]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.area-card[data-v-a3fa2721]{color:var(--text);border-radius:var(--radius-xl);border:1px solid var(--border);flex-direction:column;gap:14px;padding:32px 28px;text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex}.area-card[data-v-a3fa2721]:hover{box-shadow:0 24px 60px var(--glow-blue);border-color:var(--border-strong);transform:translateY(-6px)}.area-icon-wrap[data-v-a3fa2721]{border-radius:var(--radius-md);width:52px;height:52px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.area-icon-wrap svg[data-v-a3fa2721]{width:22px;height:22px}.area-title[data-v-a3fa2721]{color:var(--text)}.area-cta[data-v-a3fa2721]{color:var(--accent-blue);align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:.84rem;font-weight:600;transition:gap .2s;display:flex}.area-card:hover .area-cta[data-v-a3fa2721]{gap:10px}.cta-card[data-v-a3fa2721]{border-radius:var(--radius-xl);text-align:center;border:1px solid var(--border);flex-direction:column;align-items:center;gap:16px;padding:clamp(40px,6vw,72px);display:flex;position:relative;overflow:hidden}.cta-section .container[data-v-a3fa2721]{position:relative}.cta-sitting[data-v-a3fa2721]{z-index:3;pointer-events:none;width:clamp(80px,10vw,100px);height:auto;position:absolute;top:-120px;right:clamp(12px,1.2vw,30px)}.cta-kicker[data-v-a3fa2721]{letter-spacing:.2em;text-transform:uppercase;color:var(--accent-blue);border-radius:var(--radius-pill);background:#4b7ef81f;border:1px solid #4b7ef847;padding:6px 14px;font-size:.72rem;font-weight:700}.cta-glow[data-v-a3fa2721]{background:radial-gradient(ellipse, var(--glow-purple) 0%, transparent 70%);pointer-events:none;width:500px;height:200px;position:absolute;top:-60px;left:50%;transform:translate(-50%)}.cta-card .heading-1[data-v-a3fa2721]{margin-bottom:4px}.cta-actions[data-v-a3fa2721]{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}@media (width<=900px){.hero-container[data-v-a3fa2721]{text-align:center;grid-template-columns:1fr}.hero-text[data-v-a3fa2721]{order:2}.hero-visual[data-v-a3fa2721]{order:1;margin-bottom:24px}.hero-actions[data-v-a3fa2721],.hero-social[data-v-a3fa2721]{justify-content:center}.hero-bio[data-v-a3fa2721]{margin-left:auto;margin-right:auto}.badge-film[data-v-a3fa2721]{left:2%}.badge-code[data-v-a3fa2721]{right:2%}.about-grid[data-v-a3fa2721],.areas-grid[data-v-a3fa2721]{grid-template-columns:1fr}}@media (width<=640px){.hero[data-v-a3fa2721]{padding-bottom:100px}.headshot-blob[data-v-a3fa2721]{width:260px;height:300px}.headshot-ring[data-v-a3fa2721]{width:280px;height:280px}.stats-grid[data-v-a3fa2721]{grid-template-columns:repeat(2,1fr)}}.media-hero[data-v-072d4fa2]{padding-bottom:100px}.hero-tags[data-v-072d4fa2]{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.hero-swoop[data-v-072d4fa2]{width:100%;line-height:0;position:absolute;bottom:-1px;left:0}.hero-swoop svg[data-v-072d4fa2]{width:100%;height:80px;display:block}.photo-gallery[data-v-072d4fa2]{grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:16px;display:grid}.gallery-item[data-v-072d4fa2]{border-radius:var(--radius-lg);cursor:pointer;background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden}.gallery-item.tall[data-v-072d4fa2]{grid-row:span 2}.gallery-item.wide[data-v-072d4fa2]{grid-column:span 2}.gallery-item img[data-v-072d4fa2]{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item:hover img[data-v-072d4fa2]{transform:scale(1.06)}.gallery-overlay[data-v-072d4fa2]{opacity:0;color:#fff;background:linear-gradient(#0000 50%,#07091cbf 100%);justify-content:space-between;align-items:flex-end;padding:14px 16px;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay[data-v-072d4fa2]{opacity:1}.film-grid[data-v-072d4fa2]{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.film-text .heading-1[data-v-072d4fa2]{margin-bottom:16px}.film-services[data-v-072d4fa2]{flex-direction:column;gap:10px;margin:20px 0 28px;list-style:none;display:flex}.service-item[data-v-072d4fa2]{color:var(--text-muted);align-items:center;gap:10px;font-size:.9rem;display:flex}.service-item svg[data-v-072d4fa2]{color:var(--accent-teal);flex-shrink:0}.reel-card[data-v-072d4fa2]{border-radius:var(--radius-xl);border:1px solid var(--border);padding:8px;overflow:hidden}.reel-placeholder[data-v-072d4fa2]{border-radius:var(--radius-lg);height:240px;color:var(--text-muted);background:linear-gradient(135deg,#4b7ef81a,#9558f51a);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.9rem;display:flex}.reel-controls[data-v-072d4fa2]{gap:8px;padding:12px;display:flex}.film-stats[data-v-072d4fa2]{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;display:grid}.film-stat[data-v-072d4fa2]{border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);flex-direction:column;gap:4px;padding:20px 12px;display:flex}.stat-val[data-v-072d4fa2]{font-family:var(--font-display);font-size:1.8rem;font-weight:800;line-height:1}.stat-lbl[data-v-072d4fa2]{font-size:.7rem}.events-grid[data-v-072d4fa2]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.event-card[data-v-072d4fa2]{border-radius:var(--radius-xl);border:1px solid var(--border);padding:0;overflow:hidden}.event-img-wrap[data-v-072d4fa2]{height:200px;position:relative;overflow:hidden}.event-img-wrap img[data-v-072d4fa2]{object-fit:cover;width:100%;height:100%;transition:transform .4s}.event-card:hover .event-img-wrap img[data-v-072d4fa2]{transform:scale(1.05)}.event-badge[data-v-072d4fa2]{position:absolute;top:12px;left:12px}.event-body[data-v-072d4fa2]{flex-direction:column;gap:8px;padding:22px 22px 26px;display:flex}.event-title[data-v-072d4fa2]{margin-bottom:4px}.lightbox[data-v-072d4fa2]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#050714eb;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0}.lightbox-close[data-v-072d4fa2]{color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close[data-v-072d4fa2]:hover{background:#fff3}.lightbox-img[data-v-072d4fa2]{object-fit:contain;border-radius:var(--radius-lg);max-width:min(90vw,1000px);max-height:80vh;box-shadow:0 30px 80px #0009}.lightbox-caption[data-v-072d4fa2]{color:#ffffffa6;font-size:.85rem}.lightbox-enter-active[data-v-072d4fa2],.lightbox-leave-active[data-v-072d4fa2]{transition:opacity .3s}.lightbox-enter-from[data-v-072d4fa2],.lightbox-leave-to[data-v-072d4fa2]{opacity:0}@media (width<=900px){.photo-gallery[data-v-072d4fa2]{grid-template-columns:repeat(2,1fr)}.film-grid[data-v-072d4fa2],.events-grid[data-v-072d4fa2]{grid-template-columns:1fr}}@media (width<=640px){.photo-gallery[data-v-072d4fa2]{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item.wide[data-v-072d4fa2]{grid-column:span 1}.gallery-item.tall[data-v-072d4fa2]{grid-row:span 1}}.software-hero[data-v-1b520eaf]{padding-bottom:60px}.hero-tags[data-v-1b520eaf]{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.icon-sm[data-v-1b520eaf]{width:16px;height:16px}.skills-grid[data-v-1b520eaf]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.skill-category[data-v-1b520eaf]{border-radius:var(--radius-xl);border:1px solid var(--border);flex-direction:column;gap:18px;padding:28px;display:flex}.skill-category-header[data-v-1b520eaf]{align-items:center;gap:14px;display:flex}.skill-icon-wrap[data-v-1b520eaf]{border-radius:var(--radius-md);width:46px;height:46px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-tags[data-v-1b520eaf]{flex-wrap:wrap;gap:8px;display:flex}.skill-pill[data-v-1b520eaf]{border-radius:var(--radius-pill);cursor:default;align-items:center;padding:5px 13px;font-size:.78rem;font-weight:600;transition:transform .2s;display:inline-flex}.skill-pill[data-v-1b520eaf]:hover{transform:translateY(-2px)}.skill-pill.expert[data-v-1b520eaf]{color:var(--accent-blue);background:#4b7ef81f;border:1px solid #4b7ef84d}.skill-pill.strong[data-v-1b520eaf]{color:var(--accent-purple);background:#9558f51a;border:1px solid #9558f540}.skill-pill.moderate[data-v-1b520eaf]{color:var(--accent-teal);background:#20d0be1a;border:1px solid #20d0be40}.projects-grid[data-v-1b520eaf]{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.project-card[data-v-1b520eaf]{border-radius:var(--radius-xl);border:1px solid var(--border);flex-direction:column;gap:12px;padding:24px;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex}.project-card[data-v-1b520eaf]:hover{box-shadow:var(--shadow-lg);border-color:var(--border-strong);transform:translateY(-5px)}.project-header[data-v-1b520eaf]{justify-content:space-between;align-items:center;display:flex}.project-icon[data-v-1b520eaf]{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-muted);border:1px solid var(--border);justify-content:center;align-items:center;display:flex}.project-links[data-v-1b520eaf]{gap:6px;display:flex}.project-link[data-v-1b520eaf]{width:32px;height:32px;color:var(--text-subtle);border-radius:50%;justify-content:center;align-items:center;transition:color .2s,background .2s;display:flex}.project-link[data-v-1b520eaf]:hover{color:var(--accent-blue);background:#4b7ef814}.project-title[data-v-1b520eaf]{color:var(--text)}.project-desc[data-v-1b520eaf]{flex:1;font-size:.88rem;line-height:1.6}.project-stack[data-v-1b520eaf]{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.process-steps[data-v-1b520eaf]{grid-template-columns:repeat(4,1fr);gap:0;display:grid;position:relative}.process-step[data-v-1b520eaf]{text-align:center;flex-direction:column;align-items:center;padding:0 20px;display:flex;position:relative}.step-number[data-v-1b520eaf]{font-family:var(--font-display);letter-spacing:.1em;opacity:.7;margin-bottom:12px;font-size:.75rem;font-weight:700}.step-icon[data-v-1b520eaf]{z-index:1;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:16px;display:flex;position:relative}.step-title[data-v-1b520eaf]{margin-bottom:8px}.step-desc[data-v-1b520eaf]{font-size:.88rem}.step-connector[data-v-1b520eaf]{background:linear-gradient(90deg, var(--border-strong), transparent);z-index:0;width:40px;height:2px;position:absolute;top:44px;right:-20px}@media (width<=900px){.skills-grid[data-v-1b520eaf]{grid-template-columns:1fr}.projects-grid[data-v-1b520eaf]{grid-template-columns:1fr 1fr}.process-steps[data-v-1b520eaf]{grid-template-columns:1fr 1fr;gap:32px}.step-connector[data-v-1b520eaf]{display:none}}@media (width<=640px){.projects-grid[data-v-1b520eaf],.process-steps[data-v-1b520eaf]{grid-template-columns:1fr}}.hobbies-hero[data-v-af6d13eb]{padding-bottom:100px}.hero-tags[data-v-af6d13eb]{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.hero-swoop[data-v-af6d13eb]{width:100%;line-height:0;position:absolute;bottom:-1px;left:0}.hero-swoop svg[data-v-af6d13eb]{width:100%;height:80px;display:block}.hobby-split[data-v-af6d13eb]{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,6vw,80px);display:grid}.hobby-split--reverse .hobby-text[data-v-af6d13eb]{order:1}.hobby-split--reverse .hobby-images[data-v-af6d13eb]{order:2}.hobby-text .heading-1[data-v-af6d13eb]{margin-bottom:16px}.img-stack[data-v-af6d13eb]{padding-bottom:60px;padding-right:40px;position:relative}.img-stack--right[data-v-af6d13eb]{padding-left:40px;padding-right:0}.img-main[data-v-af6d13eb]{border-radius:var(--radius-xl);object-fit:cover;width:100%;height:340px;box-shadow:var(--shadow-lg)}.img-accent[data-v-af6d13eb]{object-fit:cover;border-radius:var(--radius-lg);border:3px solid var(--surface);width:45%;height:160px;box-shadow:var(--shadow-md);position:absolute;bottom:0;right:-20px}.img-accent--left[data-v-af6d13eb]{left:-20px;right:auto}.badge-pill[data-v-af6d13eb]{border-radius:var(--radius-pill);color:var(--accent-blue);border:1px solid var(--border);box-shadow:var(--shadow-md);align-items:center;gap:8px;padding:8px 16px;font-size:.8rem;font-weight:600;animation:5s ease-in-out infinite float-af6d13eb;display:flex;position:absolute;top:20px;left:-20px}.badge-pill--right[data-v-af6d13eb]{color:var(--accent-purple);left:auto;right:-20px}@keyframes float-af6d13eb{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.hobby-stats[data-v-af6d13eb]{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.h-stat[data-v-af6d13eb]{border-radius:var(--radius-lg);text-align:center;border:1px solid var(--border);flex-direction:column;align-items:center;gap:3px;min-width:100px;padding:18px 20px;display:flex}.h-stat-val[data-v-af6d13eb]{font-family:var(--font-display);font-size:1.6rem;font-weight:800;line-height:1}.h-stat-label[data-v-af6d13eb]{font-size:.68rem}.ensemble-tags[data-v-af6d13eb]{flex-wrap:wrap;gap:8px;display:flex}.travel-featured[data-v-af6d13eb]{grid-template-columns:260px 1fr;align-items:start;gap:24px;margin-bottom:32px;display:grid}.travel-map-placeholder[data-v-af6d13eb]{border-radius:var(--radius-xl);height:100%;min-height:200px;color:var(--text-muted);border:1px solid var(--border);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:.9rem;display:flex}.travel-highlights[data-v-af6d13eb]{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.dest-card[data-v-af6d13eb]{border-radius:var(--radius-xl);border:1px solid var(--border);transition:transform .3s,box-shadow .3s;overflow:hidden}.dest-card[data-v-af6d13eb]:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dest-img-wrap[data-v-af6d13eb]{height:160px;overflow:hidden}.dest-img-wrap img[data-v-af6d13eb]{object-fit:cover;width:100%;height:100%;transition:transform .4s}.dest-card:hover .dest-img-wrap img[data-v-af6d13eb]{transform:scale(1.05)}.dest-body[data-v-af6d13eb]{padding:16px}.dest-flag[data-v-af6d13eb]{margin-bottom:4px;font-size:1.5rem}.dest-name[data-v-af6d13eb]{margin-bottom:6px;font-size:1.1rem}.dest-note[data-v-af6d13eb]{font-size:.84rem}.travel-gallery[data-v-af6d13eb]{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.travel-thumb[data-v-af6d13eb]{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;height:110px;transition:transform .3s}.travel-thumb[data-v-af6d13eb]:hover{transform:scale(1.04)}@media (width<=900px){.hobby-split[data-v-af6d13eb]{grid-template-columns:1fr}.hobby-split--reverse .hobby-text[data-v-af6d13eb]{order:2}.hobby-split--reverse .hobby-images[data-v-af6d13eb]{order:1}.travel-featured[data-v-af6d13eb]{grid-template-columns:1fr}.travel-highlights[data-v-af6d13eb]{grid-template-columns:1fr 1fr}.travel-gallery[data-v-af6d13eb]{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.travel-highlights[data-v-af6d13eb]{grid-template-columns:1fr}.travel-gallery[data-v-af6d13eb]{grid-template-columns:repeat(2,1fr)}.img-stack[data-v-af6d13eb],.img-stack--right[data-v-af6d13eb]{padding:0 0 50px}.img-accent[data-v-af6d13eb]{right:0}.img-accent--left[data-v-af6d13eb]{left:0}.badge-pill[data-v-af6d13eb],.badge-pill--right[data-v-af6d13eb]{display:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Sora", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--bg:#f5f7ff;--bg-alt:#eceffe;--surface:#ffffffb8;--surface-solid:#fff;--surface-hover:#ffffffeb;--border:#6e82dc24;--border-strong:#6e82dc47;--text:#0b0d1e;--text-muted:#525878;--text-subtle:#8c92b2;--accent-blue:#4b7ef8;--accent-purple:#9558f5;--accent-teal:#20d0be;--glow-blue:#4b7ef838;--glow-purple:#9558f52e;--glow-teal:#20d0be2e;--shadow-xs:0 1px 4px #0000000d;--shadow-sm:0 2px 8px #00000012;--shadow-md:0 8px 24px #00000017;--shadow-lg:0 20px 50px #0000001c;--shadow-glass:0 8px 32px #3c50b417;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:36px;--radius-pill:999px;--section-pad:clamp(64px, 9vw, 110px);--container-max:1180px;--container-pad:clamp(20px, 5vw, 80px);--nav-h:68px;--nav-top-offset:22px;--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.6s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg:#070a1c;--bg-alt:#0d1132;--surface:#0e143aad;--surface-solid:#0d1132;--surface-hover:#162050d9;--border:#6482ff1f;--border-strong:#6482ff38;--text:#e4e9ff;--text-muted:#8891bc;--text-subtle:#555e82;--accent-blue:#5d8dff;--accent-purple:#a870ff;--accent-teal:#38ddd0;--glow-blue:#5d8dff61;--glow-purple:#a870ff52;--glow-teal:#38ddd047;--shadow-xs:0 1px 4px #0000004d;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 8px 24px #00000073;--shadow-lg:0 20px 50px #0000008c;--shadow-glass:0 8px 32px #0000006b}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.65;transition:background-color .45s,color .45s;overflow-x:hidden}::selection{background:var(--accent-purple);color:#fff}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}.container{max-width:var(--container-max);padding:0 var(--container-pad);margin:0 auto}.section{padding:var(--section-pad) 0;position:relative}.display-1{font-family:var(--font-display);letter-spacing:-.025em;font-size:clamp(2.8rem,7.5vw,5.8rem);font-weight:800;line-height:1.06}.display-2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.2rem,5.5vw,3.8rem);font-weight:700;line-height:1.12}.heading-1{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.8rem,4.5vw,3rem);font-weight:700;line-height:1.2}.heading-2{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.3rem,3vw,2.1rem);font-weight:600;line-height:1.3}.lead{color:var(--text-muted);font-size:clamp(1rem,2vw,1.2rem);font-weight:400;line-height:1.75}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-subtle);font-size:.72rem;font-weight:700}.gradient-text{background:linear-gradient(135deg, var(--accent-blue) 0%, var(--accent-purple) 55%, var(--accent-teal) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--surface);-webkit-backdrop-filter:blur(22px)saturate(180%);border:1px solid var(--border);box-shadow:var(--shadow-glass)}.btn{border-radius:var(--radius-pill);cursor:pointer;border:none;align-items:center;gap:8px;padding:13px 30px;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--accent-blue), var(--accent-purple));color:#fff;box-shadow:0 4px 22px var(--glow-purple), 0 2px 8px var(--glow-blue)}.btn-primary:hover{box-shadow:0 10px 36px var(--glow-purple), 0 4px 18px var(--glow-blue);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(12px)}.btn-ghost:hover{background:var(--surface-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-teal{background:linear-gradient(135deg, var(--accent-teal), var(--accent-blue));color:#fff;box-shadow:0 4px 22px var(--glow-teal)}.btn-teal:hover{box-shadow:0 10px 36px var(--glow-teal);transform:translateY(-2px)}.card{border-radius:var(--radius-lg);transition:transform var(--transition-base), box-shadow var(--transition-base);padding:28px;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.tag{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;padding:4px 13px;font-size:.75rem;font-weight:600;display:inline-flex}.tag-blue{color:var(--accent-blue);background:#4b7ef81a;border-color:#4b7ef84d}.tag-purple{color:var(--accent-purple);background:#9558f51a;border-color:#9558f54d}.tag-teal{color:var(--accent-teal);background:#20d0be1a;border-color:#20d0be4d}.accent-line{border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--accent-blue), var(--accent-purple));width:48px;height:3px;margin-bottom:16px;display:block}.reveal{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(32px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.55s}.page-enter-active,.page-leave-active{transition:opacity .38s,transform .38s}.page-enter-from{opacity:0;transform:translateY(18px)}.page-leave-to{opacity:0;transform:translateY(-10px)}.page-hero{min-height:38vh;padding:calc(var(--nav-h) + var(--nav-top-offset) + 60px) 0 60px;align-items:center;display:flex;position:relative;overflow:hidden}.page-hero-label{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-blue);align-items:center;gap:8px;margin-bottom:12px;font-size:.75rem;font-weight:700;display:flex}.page-hero-label:before{content:"";background:var(--accent-blue);border-radius:2px;width:24px;height:2px;display:block}.section-header{text-align:center;margin-bottom:clamp(36px,5vw,60px)}.section-header .heading-1{margin-bottom:12px}.section-header .lead{max-width:560px;margin:0 auto}.swoop-divider{width:100%;line-height:0;position:absolute;bottom:-1px;left:0;overflow:hidden}.swoop-divider svg{width:100%;display:block}
