:root{color-scheme:light;--bg: #f5f8fa;--bg-alt: #eef3f7;--surface: #ffffff;--surface-2: #f1f6f9;--border: rgba(13, 27, 42, .1);--border-strong: rgba(13, 27, 42, .18);--text: #1b2a3a;--text-strong: #0d1b2a;--muted: #56687b;--accent: hsl(170, 74%, 32%);--accent-strong: hsl(170, 78%, 24%);--accent-soft: hsl(170, 80%, 90%);--accent-contrast: #ffffff;--shadow-sm: 0 1px 2px rgba(13, 27, 42, .06), 0 2px 8px rgba(13, 27, 42, .05);--shadow-md: 0 6px 20px rgba(13, 27, 42, .09);--shadow-lg: 0 18px 48px rgba(13, 27, 42, .14);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-full: 999px;--ease: cubic-bezier(.22, 1, .36, 1);--speed: .3s}:root[data-theme=dark]{color-scheme:dark;--bg: #0a1018;--bg-alt: #0d141e;--surface: #111a26;--surface-2: #172231;--border: rgba(148, 180, 210, .12);--border-strong: rgba(148, 180, 210, .22);--text: #c7d5e2;--text-strong: #eef5fb;--muted: #8598aa;--accent: #3ce6bd;--accent-strong: #6af0ce;--accent-soft: rgba(60, 230, 189, .13);--accent-contrast: #05231b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 10px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 56px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;transition:background-color .35s ease,color .35s ease}h1,h2,h3,h4,h5{font-family:Space Grotesk,Inter,sans-serif;color:var(--text-strong);font-weight:700;line-height:1.15;letter-spacing:-.02em}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}::selection{background:var(--accent);color:var(--accent-contrast)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.section{padding-block:clamp(72px,9vw,112px);scroll-margin-top:84px}.section-alt{background:var(--bg-alt);border-block:1px solid var(--border)}.grid-2,.grid-3{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.grid-4{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}.text-gradient{background:linear-gradient(100deg,var(--accent-strong),var(--accent) 45%,#4aa8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);padding:.4rem .95rem;border-radius:var(--radius-full);margin-bottom:1.1rem}.section-head{max-width:620px;margin-bottom:3rem}.section-head h2{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:.85rem}.section-head p{color:var(--muted);font-size:1.02rem}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.6rem;border-radius:var(--radius-full);font-weight:600;font-size:.95rem;transition:transform var(--speed) var(--ease),box-shadow var(--speed) var(--ease),background-color var(--speed) var(--ease),border-color var(--speed) var(--ease);white-space:nowrap}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 8px 24px var(--accent-soft)}.btn-primary:hover{background:var(--accent-strong);transform:translateY(-2px);box-shadow:0 12px 28px var(--accent-soft)}.btn-ghost{border:1px solid var(--border-strong);color:var(--text-strong);background:var(--surface)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--speed) var(--ease),box-shadow var(--speed) var(--ease),border-color var(--speed) var(--ease)}.card:hover{transform:translateY(-6px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.chip{display:inline-flex;align-items:center;font-size:.78rem;font-weight:500;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:.3rem .75rem;border-radius:var(--radius-full);transition:color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.chip:hover{color:var(--accent);border-color:var(--accent)}.chip-accent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.progress{height:8px;background:var(--surface-2);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width 1.2s var(--ease)}.field{display:block;margin-bottom:1.15rem}.field-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-strong);margin-bottom:.45rem}.field-input{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-strong);font:inherit;font-size:.95rem;padding:.8rem 1rem;transition:border-color var(--speed) var(--ease),box-shadow var(--speed) var(--ease)}.field-input::placeholder{color:var(--muted);opacity:.7}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input.field-error{border-color:#e05252}.field-error-text{display:block;color:#e05252;font-size:.8rem;margin-top:.35rem}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (min-width: 640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 960px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.site-header[data-v-df407689]{position:fixed;inset:0 0 auto 0;z-index:60;background:transparent;border-bottom:1px solid transparent;transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease}.site-header.scrolled[data-v-df407689]{background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);border-bottom-color:var(--border);box-shadow:0 8px 28px #05102024}.header-inner[data-v-df407689]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px}.header-nav[data-v-df407689]{display:none;align-items:center;gap:.25rem}.nav-link[data-v-df407689]{font-size:.92rem;font-weight:500;color:var(--muted);padding:.5rem .9rem;border-radius:var(--radius-full);transition:color var(--speed) ease,background-color var(--speed) ease}.nav-link[data-v-df407689]:hover{color:var(--text-strong);background:var(--surface-2)}.header-actions[data-v-df407689]{display:flex;align-items:center;gap:.7rem;margin-left:auto}.theme-btn[data-v-df407689]{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-strong);overflow:hidden;transition:color var(--speed) ease,border-color var(--speed) ease,box-shadow var(--speed) ease,transform .15s ease}.theme-btn[data-v-df407689]:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.theme-btn[data-v-df407689]:active{transform:scale(.88)}.theme-spin-enter-active[data-v-df407689]{transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}.theme-spin-leave-active[data-v-df407689]{transition:transform .3s ease,opacity .2s ease}.theme-spin-enter-from[data-v-df407689]{transform:rotate(140deg) scale(.3);opacity:0}.theme-spin-leave-to[data-v-df407689]{transform:rotate(-140deg) scale(.3);opacity:0}.header-cta[data-v-df407689]{display:none;padding:.62rem 1.3rem}.burger[data-v-df407689]{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:0 10px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface)}.burger span[data-v-df407689]{display:block;height:2px;width:100%;background:var(--text-strong);border-radius:2px;transition:transform var(--speed) var(--ease),opacity var(--speed) ease}.mobile-menu[data-v-df407689]{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1.25rem 1.25rem;border-top:1px solid var(--border);background:var(--bg)}.mobile-link[data-v-df407689]{font-size:1rem;font-weight:500;color:var(--text);padding:.65rem .75rem;border-radius:var(--radius-md)}.mobile-link[data-v-df407689]:hover{background:var(--surface-2);color:var(--text-strong)}.mobile-cta[data-v-df407689]{margin-top:.5rem;justify-content:center}.menu-enter-active[data-v-df407689],.menu-leave-active[data-v-df407689]{transition:opacity .25s ease,transform .25s ease}.menu-enter-from[data-v-df407689],.menu-leave-to[data-v-df407689]{opacity:0;transform:translateY(-8px)}@media (min-width: 820px){.header-nav[data-v-df407689]{display:flex}.header-cta[data-v-df407689]{display:inline-flex}.burger[data-v-df407689],.mobile-menu[data-v-df407689]{display:none}}.site-footer[data-v-4fb1df95]{background:var(--bg-alt);border-top:1px solid var(--border);padding-top:3.5rem}.footer-top[data-v-4fb1df95]{display:flex;flex-direction:column;align-items:center;gap:1.2rem;text-align:center;padding-bottom:2.2rem}.footer-tagline[data-v-4fb1df95]{color:var(--muted);font-size:.95rem;max-width:480px}.footer-socials[data-v-4fb1df95]{display:flex;gap:.6rem}.footer-social[data-v-4fb1df95]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--muted);transition:color var(--speed) ease,border-color var(--speed) ease,transform var(--speed) var(--ease)}.footer-social[data-v-4fb1df95]:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.footer-grid[data-v-4fb1df95]{display:grid;grid-template-columns:1fr;gap:2rem;padding-block:2.2rem 2.5rem;border-top:1px solid var(--border);justify-items:center;text-align:center}.footer-title[data-v-4fb1df95]{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.9rem}.footer-nav[data-v-4fb1df95],.footer-contact[data-v-4fb1df95]{display:flex;flex-direction:column;gap:.5rem}.footer-link[data-v-4fb1df95]{color:var(--text);font-size:.92rem;transition:color var(--speed) ease}.footer-link[data-v-4fb1df95]:hover{color:var(--accent)}.footer-location[data-v-4fb1df95]{cursor:default}.footer-bottom[data-v-4fb1df95]{border-top:1px solid var(--border);padding-block:1.1rem}.footer-bottom-inner[data-v-4fb1df95]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.back-to-top[data-v-4fb1df95]{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--text-strong);transition:color var(--speed) ease}.back-to-top[data-v-4fb1df95]:hover{color:var(--accent)}@media (min-width: 760px){.footer-grid[data-v-4fb1df95]{grid-template-columns:repeat(2,1fr);max-width:640px;margin-inline:auto;justify-items:start;text-align:left}}.toast-container[data-v-0f0c1abf]{position:fixed;z-index:1000;max-width:400px;min-width:320px;pointer-events:auto}.top-right[data-v-0f0c1abf]{top:20px;right:20px}.top-left[data-v-0f0c1abf]{top:20px;left:20px}.bottom-right[data-v-0f0c1abf]{bottom:20px;right:20px}.bottom-left[data-v-0f0c1abf]{bottom:20px;left:20px}.toast-content[data-v-0f0c1abf]{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 8px 32px #0000004d;color:#fff;position:relative;overflow:hidden}.toast-content[data-v-0f0c1abf]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-color),var(--accent-color-light))}.toast-success[data-v-0f0c1abf]{--accent-color: #10b981;--accent-color-light: #34d399}.toast-error[data-v-0f0c1abf]{--accent-color: #ef4444;--accent-color-light: #f87171}.toast-warning[data-v-0f0c1abf]{--accent-color: #f59e0b;--accent-color-light: #fbbf24}.toast-info[data-v-0f0c1abf]{--accent-color: #3b82f6;--accent-color-light: #60a5fa}.toast-icon[data-v-0f0c1abf]{flex-shrink:0;width:20px;height:20px;color:var(--accent-color);margin-top:2px}.toast-message[data-v-0f0c1abf]{flex:1;min-width:0}.toast-title[data-v-0f0c1abf]{font-size:14px;font-weight:600;margin:0 0 4px;color:#fff}.toast-description[data-v-0f0c1abf]{font-size:13px;margin:0;color:#fffc;line-height:1.4}.toast-close[data-v-0f0c1abf]{flex-shrink:0;background:none;border:none;color:#fff9;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s ease;margin-top:-2px}.toast-close[data-v-0f0c1abf]:hover{color:#fff;background:#ffffff1a}.toast-enter-active[data-v-0f0c1abf],.toast-leave-active[data-v-0f0c1abf]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-0f0c1abf],.toast-leave-to[data-v-0f0c1abf]{opacity:0;transform:translate(100%) scale(.95)}.top-left .toast-enter-from[data-v-0f0c1abf],.bottom-left .toast-enter-from[data-v-0f0c1abf],.top-left .toast-leave-to[data-v-0f0c1abf],.bottom-left .toast-leave-to[data-v-0f0c1abf]{transform:translate(-100%) scale(.95)}@media (max-width: 480px){.toast-container[data-v-0f0c1abf]{left:16px!important;right:16px!important;max-width:none;min-width:auto}.toast-enter-from[data-v-0f0c1abf],.toast-leave-to[data-v-0f0c1abf]{transform:translateY(-100%) scale(.95)}.bottom-right .toast-enter-from[data-v-0f0c1abf],.bottom-left .toast-enter-from[data-v-0f0c1abf],.bottom-right .toast-leave-to[data-v-0f0c1abf],.bottom-left .toast-leave-to[data-v-0f0c1abf]{transform:translateY(100%) scale(.95)}}.toast-container-wrapper[data-v-533bb858]{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1000}.toast-list[data-v-533bb858]{position:relative;height:100%;width:100%}.toast-list-move[data-v-533bb858],.toast-list-enter-active[data-v-533bb858],.toast-list-leave-active[data-v-533bb858]{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-list-enter-from[data-v-533bb858],.toast-list-leave-to[data-v-533bb858]{opacity:0;transform:translate(100%)}.toast-list-leave-active[data-v-533bb858]{position:absolute;right:20px}@media (max-width: 480px){.toast-list-enter-from[data-v-533bb858],.toast-list-leave-to[data-v-533bb858]{transform:translateY(-100%)}.toast-list-leave-active[data-v-533bb858]{position:absolute;left:16px;right:16px}}.hero[data-v-9c252da3]{position:relative;overflow:hidden;padding-top:calc(72px + clamp(56px,9vw,110px));padding-bottom:clamp(48px,7vw,80px)}.hero-bg[data-v-9c252da3]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero-orb[data-v-9c252da3]{position:absolute;top:-180px;right:-120px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 65%)}.hero-grid-lines[data-v-9c252da3]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:56px 56px;opacity:.35;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 20%,transparent 75%)}.hero-grid[data-v-9c252da3]{position:relative;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}.hero-title[data-v-9c252da3]{font-size:clamp(2.3rem,5.4vw,3.7rem);margin:.4rem 0 1.1rem}.hero-sub[data-v-9c252da3]{color:var(--muted);font-size:1.05rem;max-width:560px;margin-bottom:1.4rem}.hero-roles[data-v-9c252da3]{display:flex;align-items:baseline;gap:.5rem;font-size:1.02rem;margin-bottom:1.8rem}.roles-label[data-v-9c252da3]{color:var(--muted)}.roles-word[data-v-9c252da3]{font-weight:700;color:var(--accent)}.role-enter-active[data-v-9c252da3],.role-leave-active[data-v-9c252da3]{transition:opacity .35s ease,transform .35s ease}.role-enter-from[data-v-9c252da3]{opacity:0;transform:translateY(12px)}.role-leave-to[data-v-9c252da3]{opacity:0;transform:translateY(-12px)}.hero-actions[data-v-9c252da3]{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.9rem}.hero-socials[data-v-9c252da3]{display:flex;align-items:center;gap:.7rem}.hero-socials-label[data-v-9c252da3]{color:var(--muted);font-size:.88rem;margin-right:.2rem}.hero-social[data-v-9c252da3]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--muted);transition:color var(--speed) ease,border-color var(--speed) ease,transform var(--speed) var(--ease)}.hero-social[data-v-9c252da3]:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.hero-visual[data-v-9c252da3]{position:relative;display:flex;justify-content:center}.portrait-wrap[data-v-9c252da3]{position:relative;width:min(400px,88vw);aspect-ratio:1}.portrait-ring[data-v-9c252da3]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:38% 62% 55% 45%/48% 40% 60% 52%;background:conic-gradient(from 120deg,var(--accent),transparent 45%,var(--accent-soft) 90%,var(--accent));animation:blobSpin-9c252da3 14s linear infinite}.portrait[data-v-9c252da3]{position:absolute;top:10px;right:10px;bottom:10px;left:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover;border-radius:38% 62% 55% 45%/48% 40% 60% 52%;border:4px solid var(--surface)}@keyframes blobSpin-9c252da3{to{transform:rotate(360deg)}}.floating-badge[data-v-9c252da3]{position:absolute;display:inline-flex;align-items:center;gap:.35rem;font-family:Space Grotesk,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-strong);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.4rem .8rem;box-shadow:var(--shadow-md);animation:float-9c252da3 5s ease-in-out infinite;z-index:2}.badge-top[data-v-9c252da3]{top:-2%;left:38%}.badge-top-left[data-v-9c252da3]{top:14%;left:-14%;animation-delay:2.6s}.badge-top-right[data-v-9c252da3]{top:14%;right:-24%;animation-delay:1.1s}.badge-left[data-v-9c252da3]{top:44%;left:-18%;animation-delay:2.3s}.badge-right[data-v-9c252da3]{top:44%;right:-28%;animation-delay:1.7s}.badge-mid[data-v-9c252da3]{top:68%;right:-16%;animation-delay:.6s}.badge-bottom-left[data-v-9c252da3]{bottom:13%;left:-6%;animation-delay:3.2s}.badge-bottom-right[data-v-9c252da3]{bottom:13%;right:-16%;animation-delay:2.9s}.badge-bottom[data-v-9c252da3]{bottom:-3%;left:34%;animation-delay:1.9s}@keyframes float-9c252da3{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 640px){.floating-badge[data-v-9c252da3]{font-size:.66rem;padding:.32rem .6rem}.badge-top-left[data-v-9c252da3]{left:-10px}.badge-top-right[data-v-9c252da3]{right:-10px}.badge-left[data-v-9c252da3]{left:-12px}.badge-right[data-v-9c252da3]{right:-12px}.badge-bottom-left[data-v-9c252da3]{left:-8px}.badge-bottom-right[data-v-9c252da3]{right:-8px}}.hero-stats[data-v-9c252da3]{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:clamp(40px,6vw,64px)}.hero-stat[data-v-9c252da3]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem 1.2rem;text-align:center}.stat-value[data-v-9c252da3]{display:block;font-family:Space Grotesk,sans-serif;font-size:1.7rem;font-weight:700;color:var(--accent)}.stat-label[data-v-9c252da3]{color:var(--muted);font-size:.85rem}.marquee[data-v-9c252da3]{position:relative;margin-top:clamp(36px,5vw,56px);overflow:hidden;border-block:1px solid var(--border);background:var(--surface);padding-block:.8rem;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.marquee-track[data-v-9c252da3]{display:flex;width:max-content;animation:marqueeScroll-9c252da3 34s linear infinite}.marquee-item[data-v-9c252da3]{display:inline-flex;align-items:center;gap:.6rem;padding-inline:1.3rem;font-family:Space Grotesk,sans-serif;font-weight:600;color:var(--muted);white-space:nowrap}.marquee-dot[data-v-9c252da3]{width:7px;height:7px;border-radius:50%;background:var(--accent)}@keyframes marqueeScroll-9c252da3{to{transform:translate(-50%)}}@media (min-width: 560px){.hero-stats[data-v-9c252da3]{grid-template-columns:repeat(4,1fr)}}@media (min-width: 960px){.hero-grid[data-v-9c252da3]{grid-template-columns:1.15fr .85fr}.hero-visual[data-v-9c252da3]{justify-content:flex-end}.portrait-wrap[data-v-9c252da3]{width:430px}}@media (prefers-reduced-motion: reduce){.portrait-ring[data-v-9c252da3],.floating-badge[data-v-9c252da3],.marquee-track[data-v-9c252da3]{animation:none}}.reveal[data-v-1a8beb62]{opacity:0;transform:translateY(30px);transition:opacity .7s ease var(--reveal-delay, 0ms),transform .7s cubic-bezier(.22,1,.36,1) var(--reveal-delay, 0ms)}.reveal.is-visible[data-v-1a8beb62]{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal[data-v-1a8beb62]{opacity:1;transform:none;transition:none}}.section-head[data-v-3505f402]{max-width:640px;margin-bottom:3rem}.align-center[data-v-3505f402]{margin-inline:auto;text-align:center}h2[data-v-3505f402]{font-size:clamp(1.9rem,4vw,2.6rem);margin-bottom:.85rem}p[data-v-3505f402]{color:var(--muted);font-size:1.02rem}.about-grid[data-v-4e71bea1]{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start}.about-paragraph[data-v-4e71bea1]{color:var(--text);margin-bottom:1rem}.about-facts[data-v-4e71bea1]{margin-top:1.6rem;display:grid;grid-template-columns:1fr;gap:.8rem}.about-fact[data-v-4e71bea1]{display:flex;align-items:center;gap:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem 1.1rem}.fact-icon[data-v-4e71bea1]{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.fact-label[data-v-4e71bea1]{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);min-width:70px}.fact-value[data-v-4e71bea1]{font-size:.93rem;font-weight:600;color:var(--text-strong);word-break:break-all}.fact-link[data-v-4e71bea1]:hover{color:var(--accent)}.about-stats[data-v-4e71bea1]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.stat-card[data-v-4e71bea1]{padding:1.5rem 1.2rem;text-align:center}.stat-number[data-v-4e71bea1]{display:block;font-family:Space Grotesk,sans-serif;font-size:2.1rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.stat-name[data-v-4e71bea1]{color:var(--muted);font-size:.87rem}@media (min-width: 960px){.about-grid[data-v-4e71bea1]{grid-template-columns:1.35fr .9fr;gap:4rem}.about-facts[data-v-4e71bea1]{grid-template-columns:1fr}}.skills-grid[data-v-17335556]{display:grid;grid-template-columns:1fr;gap:1.5rem}.skill-card[data-v-17335556]{padding:1.6rem;display:flex;flex-direction:column;gap:.9rem}.skill-header[data-v-17335556]{display:flex;align-items:center;gap:.9rem}.skill-icon[data-v-17335556]{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;color:var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--border)}.skill-heading[data-v-17335556]{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.skill-title[data-v-17335556]{font-size:1.12rem}.skill-count[data-v-17335556]{flex:none;font-size:.74rem;font-weight:700;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full);padding:.28rem .7rem}.skill-description[data-v-17335556]{color:var(--muted);font-size:.92rem}.skill-chips[data-v-17335556]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.15rem}.tech-chip[data-v-17335556]{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:500;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-full);padding:.38rem .85rem;transition:color var(--speed) ease,border-color var(--speed) ease,background-color var(--speed) ease,transform var(--speed) var(--ease)}.tech-chip[data-v-17335556]:hover{color:var(--text-strong);border-color:var(--accent);background:var(--surface);transform:translateY(-2px)}.tech-dot[data-v-17335556]{width:8px;height:8px;flex:none;border-radius:50%;background:var(--accent)}@media (min-width: 700px){.skills-grid[data-v-17335556]{grid-template-columns:repeat(2,1fr)}}.service-card[data-v-b6a5cd8f]{height:100%;padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:.8rem}.service-icon[data-v-b6a5cd8f]{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;color:var(--accent);border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--border);margin-bottom:.2rem}.service-title[data-v-b6a5cd8f]{font-size:1.1rem}.service-text[data-v-b6a5cd8f]{color:var(--muted);font-size:.92rem}.skeleton-loader[data-v-cc2be91d]{--skeleton-color: var(--jet);--skeleton-highlight: var(--onyx)}.skeleton-loader.animate .skeleton-line[data-v-cc2be91d],.skeleton-loader.animate .skeleton-image[data-v-cc2be91d],.skeleton-loader.animate .skeleton-avatar[data-v-cc2be91d],.skeleton-loader.animate .skeleton-default[data-v-cc2be91d],.skeleton-loader.animate .skeleton-gallery-item[data-v-cc2be91d]{background:linear-gradient(90deg,var(--skeleton-color) 25%,var(--skeleton-highlight) 50%,var(--skeleton-color) 75%);background-size:200% 100%;animation:shimmer-cc2be91d 1.5s infinite}@keyframes shimmer-cc2be91d{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-card[data-v-cc2be91d]{background:var(--border-gradient-onyx);border-radius:14px;padding:15px;box-shadow:var(--shadow-2)}.skeleton-image[data-v-cc2be91d]{width:100%;height:200px;background:var(--skeleton-color);border-radius:10px;margin-bottom:15px}.skeleton-content[data-v-cc2be91d]{display:flex;flex-direction:column;gap:10px}.skeleton-line[data-v-cc2be91d]{height:16px;background:var(--skeleton-color);border-radius:4px}.skeleton-title[data-v-cc2be91d]{height:20px;width:70%}.skeleton-text[data-v-cc2be91d]{width:100%}.skeleton-text.short[data-v-cc2be91d]{width:60%}.skeleton-gallery[data-v-cc2be91d]{display:flex;gap:10px;overflow-x:auto;padding:10px 0}.skeleton-gallery-item[data-v-cc2be91d]{min-width:150px;height:100px;background:var(--skeleton-color);border-radius:8px;flex-shrink:0}.skeleton-avatar[data-v-cc2be91d]{width:80px;height:80px;background:var(--skeleton-color);border-radius:20px}.skeleton-text-block[data-v-cc2be91d]{display:flex;flex-direction:column;gap:8px}.skeleton-default[data-v-cc2be91d]{background:var(--skeleton-color);border-radius:4px}@media (max-width: 768px){.skeleton-gallery-item[data-v-cc2be91d]{min-width:120px;height:80px}.skeleton-image[data-v-cc2be91d]{height:150px}}.lazy-image-container[data-v-eaceff68]{position:relative;overflow:hidden;border-radius:inherit}.lazy-image-container img[data-v-eaceff68]{object-fit:cover;transition:all .6s cubic-bezier(.4,0,.2,1);will-change:opacity,transform,filter}.image-skeleton[data-v-eaceff68]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.error-placeholder[data-v-eaceff68]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--jet);color:var(--light-gray-70);border-radius:inherit}.error-icon[data-v-eaceff68]{font-size:2rem;margin-bottom:.5rem;opacity:.5}.error-text[data-v-eaceff68]{font-size:var(--fs-8);text-align:center;opacity:.7}.image-overlay[data-v-eaceff68]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;transition:opacity .3s ease;border-radius:inherit}.lazy-image-container:hover .image-overlay[data-v-eaceff68]{opacity:1}.lazy-image-container.loaded img[data-v-eaceff68]{animation:fadeInScale-eaceff68 .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes fadeInScale-eaceff68{0%{opacity:0;transform:scale(1.05);filter:blur(5px)}to{opacity:1;transform:scale(1);filter:none}}@media (prefers-reduced-motion: reduce){.lazy-image-container img[data-v-eaceff68]{transition:opacity .3s ease}@keyframes fadeInScale-eaceff68{0%{opacity:0}to{opacity:1}}}.project-card[data-v-0e1930fd]{overflow:hidden;display:flex;flex-direction:column;height:100%;min-width:0}.card-media[data-v-0e1930fd]{position:relative;display:block;aspect-ratio:16 / 10.5;overflow:hidden;min-width:0}.card-media[data-v-0e1930fd] img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.project-card:hover .card-media[data-v-0e1930fd] img{transform:scale(1.06)}.media-overlay[data-v-0e1930fd]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#fff}.media-category[data-v-0e1930fd]{position:absolute;top:12px;left:12px;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#0b2a21;background:#8cf2d4;padding:.3rem .7rem;border-radius:var(--radius-full)}.card-body[data-v-0e1930fd]{display:flex;flex-direction:column;gap:.6rem;padding:1.15rem;flex:1}.card-title-row[data-v-0e1930fd]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.card-title[data-v-0e1930fd]{font-family:Space Grotesk,sans-serif;font-size:1.08rem;font-weight:700;color:var(--text-strong);min-width:0;transition:color var(--speed) ease}.card-title[data-v-0e1930fd]:hover{color:var(--accent)}.card-external[data-v-0e1930fd]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--muted);transition:color var(--speed) ease,border-color var(--speed) ease}.card-external[data-v-0e1930fd]:hover{color:var(--accent);border-color:var(--accent)}.card-summary[data-v-0e1930fd]{color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-tags[data-v-0e1930fd]{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto;padding-top:.35rem}.filter-row[data-v-a6703c8c]{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2.2rem}.grid-3[data-v-a6703c8c]>*{min-width:0;height:100%}.filter-pill[data-v-a6703c8c]{font-size:.88rem;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.5rem 1.15rem;transition:color var(--speed) ease,background-color var(--speed) ease,border-color var(--speed) ease,transform var(--speed) var(--ease)}.filter-pill[data-v-a6703c8c]:hover{color:var(--text-strong);border-color:var(--accent);transform:translateY(-2px)}.filter-pill.active[data-v-a6703c8c]{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.projects-more[data-v-a6703c8c]{margin-top:2.4rem;text-align:center}.projects-enter-active[data-v-a6703c8c],.projects-leave-active[data-v-a6703c8c]{transition:opacity .3s ease,transform .3s ease}.projects-enter-from[data-v-a6703c8c],.projects-leave-to[data-v-a6703c8c]{opacity:0;transform:scale(.97)}.journey-grid[data-v-df060191]{display:grid;grid-template-columns:1fr;gap:2.4rem}.journey-title[data-v-df060191]{display:flex;align-items:center;gap:.65rem;font-size:1.15rem;margin-bottom:1.3rem}.journey-title-spaced[data-v-df060191]{margin-top:2.4rem}.journey-icon[data-v-df060191]{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--accent);border-radius:var(--radius-md);background:var(--accent-soft)}.work-list[data-v-df060191]{display:flex;flex-direction:column;gap:1.1rem;position:relative;padding-left:1.7rem}.work-list[data-v-df060191]:before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:2px;border-radius:2px;background:linear-gradient(var(--accent),var(--accent-soft))}.work-item[data-v-df060191]{position:relative}.work-dot[data-v-df060191]{position:absolute;left:-1.7rem;top:1.1rem;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}.work-card[data-v-df060191]{padding:1.15rem 1.3rem}.work-head[data-v-df060191]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.3rem}.work-title[data-v-df060191]{font-size:1.02rem}.work-period[data-v-df060191]{flex:none;font-family:Space Grotesk,sans-serif;font-size:.76rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full);padding:.28rem .7rem;white-space:nowrap}.work-org[data-v-df060191]{display:inline-block;font-size:.86rem;font-weight:600;color:var(--accent);margin-bottom:.45rem}.work-org[href][data-v-df060191]:hover{text-decoration:underline}.work-text[data-v-df060191]{color:var(--muted);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-bullets[data-v-df060191]{margin-top:.7rem;display:flex;flex-direction:column;gap:.35rem}.work-bullets li[data-v-df060191]{position:relative;padding-left:1rem;font-size:.86rem;color:var(--text)}.work-bullets li[data-v-df060191]:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.side-list[data-v-df060191]{display:flex;flex-direction:column;gap:1rem}.side-card[data-v-df060191]{padding:1.1rem 1.25rem}.side-title[data-v-df060191]{font-size:.98rem}.side-subtitle[data-v-df060191]{font-size:.86rem;font-weight:600;color:var(--muted);margin-bottom:.1rem}.side-period[data-v-df060191]{display:inline-block;font-family:Space Grotesk,sans-serif;font-size:.74rem;font-weight:700;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full);padding:.22rem .6rem;margin:.35rem 0}.side-text[data-v-df060191]{color:var(--muted);font-size:.86rem;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}@media (min-width: 960px){.journey-grid[data-v-df060191]{grid-template-columns:1.25fr .9fr;align-items:start}}.review-card[data-v-6f395297]{height:100%;padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:.9rem;position:relative}.review-quote[data-v-6f395297]{font-family:Space Grotesk,sans-serif;font-size:3.2rem;line-height:1;font-weight:700;color:var(--accent);opacity:.5}.review-text[data-v-6f395297]{color:var(--text);font-size:.95rem;flex:1}.review-author[data-v-6f395297]{display:flex;align-items:center;gap:.8rem;margin-top:.4rem}.review-avatar[data-v-6f395297]{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-soft)}.review-avatar-fallback[data-v-6f395297]{display:inline-flex;align-items:center;justify-content:center;flex:none;background:var(--accent-soft);color:var(--accent)}.review-meta[data-v-6f395297]{display:flex;flex-direction:column}.review-name[data-v-6f395297]{font-weight:700;font-size:.95rem;color:var(--text-strong)}.review-role[data-v-6f395297]{font-size:.8rem;color:var(--muted)}.contact-grid[data-v-79be5c8e]{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:start}.contact-info[data-v-79be5c8e]{padding:1.8rem 1.6rem}.contact-info-title[data-v-79be5c8e]{font-size:1.25rem;margin-bottom:.5rem}.contact-info-text[data-v-79be5c8e]{color:var(--muted);font-size:.93rem;margin-bottom:1.4rem}.contact-list[data-v-79be5c8e]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.contact-row[data-v-79be5c8e]{display:flex;align-items:center;gap:.9rem}.contact-icon[data-v-79be5c8e]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent)}.contact-row-meta[data-v-79be5c8e]{display:flex;flex-direction:column}.contact-row-label[data-v-79be5c8e]{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.contact-row-value[data-v-79be5c8e]{font-size:.95rem;font-weight:600;color:var(--text-strong);word-break:break-all}.contact-socials[data-v-79be5c8e]{display:flex;gap:.6rem;padding-top:1.2rem;border-top:1px solid var(--border)}.contact-social[data-v-79be5c8e]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--muted);transition:color var(--speed) ease,border-color var(--speed) ease,transform var(--speed) var(--ease)}.contact-social[data-v-79be5c8e]:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.contact-form[data-v-79be5c8e]{padding:1.8rem 1.6rem}textarea.field-input[data-v-79be5c8e]{resize:vertical;min-height:130px}.submit-btn[data-v-79be5c8e]{width:100%;justify-content:center}.submit-btn[data-v-79be5c8e]:disabled{opacity:.65;cursor:not-allowed;transform:none}.spinner[data-v-79be5c8e]{width:16px;height:16px;border:2px solid var(--accent-contrast);border-top-color:transparent;border-radius:50%;animation:spin-79be5c8e .8s linear infinite}@keyframes spin-79be5c8e{to{transform:rotate(360deg)}}@media (min-width: 960px){.contact-grid[data-v-79be5c8e]{grid-template-columns:.85fr 1.15fr;gap:2.2rem}}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.project-page[data-v-421c8e4e]{padding-top:calc(72px + 2.5rem);padding-bottom:4rem;min-height:70vh}.project-container[data-v-421c8e4e]{max-width:960px}.back-link[data-v-421c8e4e]{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;color:var(--muted);margin-bottom:2rem;transition:color var(--speed) ease}.back-link[data-v-421c8e4e]:hover{color:var(--accent)}.back-icon[data-v-421c8e4e]{transform:rotate(180deg)}.project-header[data-v-421c8e4e]{margin-bottom:2.2rem}.project-category[data-v-421c8e4e]{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-full);padding:.35rem .9rem;margin-bottom:1rem}.project-title[data-v-421c8e4e]{font-size:clamp(2rem,4.5vw,3rem);display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.project-external[data-v-421c8e4e]{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);color:var(--muted);transition:color var(--speed) ease,border-color var(--speed) ease}.project-external[data-v-421c8e4e]:hover{color:var(--accent);border-color:var(--accent)}.project-summary[data-v-421c8e4e]{color:var(--muted);font-size:1.08rem;max-width:640px;margin-top:.8rem}.project-tags[data-v-421c8e4e]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}.project-gallery[data-v-421c8e4e]{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-bottom:2.6rem}.pswp-item[data-v-421c8e4e]{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:var(--surface)}.pswp-item img[data-v-421c8e4e]{width:100%;aspect-ratio:16 / 10;object-fit:cover;transition:transform .5s var(--ease),opacity .3s ease}.pswp-item:hover img[data-v-421c8e4e]{transform:scale(1.04);opacity:.85}.project-body[data-v-421c8e4e]{display:grid;grid-template-columns:1fr;gap:2.2rem;margin-bottom:2.8rem}.project-section-title[data-v-421c8e4e]{font-size:1.25rem;margin-bottom:.9rem}.project-description[data-v-421c8e4e]{color:var(--text)}.project-bullets[data-v-421c8e4e]{display:flex;flex-direction:column;gap:.7rem}.project-bullets li[data-v-421c8e4e]{display:flex;align-items:flex-start;gap:.7rem;color:var(--text)}.bullet-mark[data-v-421c8e4e]{flex:none;width:8px;height:8px;margin-top:.55em;border-radius:50%;background:var(--accent)}.project-nav[data-v-421c8e4e]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--border);padding-top:2rem}.project-nav-link[data-v-421c8e4e]{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 1.3rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--speed) ease,transform var(--speed) var(--ease)}.project-nav-link[data-v-421c8e4e]:hover{border-color:var(--accent);transform:translateY(-3px)}.project-nav-next[data-v-421c8e4e]{text-align:right}.project-nav-empty[data-v-421c8e4e]{visibility:hidden}.nav-hint[data-v-421c8e4e]{font-size:.78rem;color:var(--muted)}.nav-title[data-v-421c8e4e]{font-family:Space Grotesk,sans-serif;font-weight:700;color:var(--text-strong)}.project-missing[data-v-421c8e4e]{text-align:center;padding:3rem 0;display:flex;flex-direction:column;align-items:center;gap:1.2rem}@media (min-width: 640px){.project-gallery[data-v-421c8e4e]{grid-template-columns:repeat(3,1fr)}}@media (min-width: 960px){.project-body[data-v-421c8e4e]{grid-template-columns:1.3fr .9fr}}.projects-page[data-v-306d8ed6]{padding-top:calc(72px + 2.5rem);padding-bottom:4rem}.back-link[data-v-306d8ed6]{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;color:var(--muted);margin-bottom:1.6rem;transition:color var(--speed) ease}.back-link[data-v-306d8ed6]:hover{color:var(--accent)}.back-icon[data-v-306d8ed6]{transform:rotate(180deg)}.filter-row[data-v-306d8ed6]{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2.2rem}.grid-3[data-v-306d8ed6]>*{min-width:0;height:100%}.filter-pill[data-v-306d8ed6]{font-size:.88rem;font-weight:500;color:var(--muted);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.5rem 1.15rem;transition:color var(--speed) ease,background-color var(--speed) ease,border-color var(--speed) ease,transform var(--speed) var(--ease)}.filter-pill[data-v-306d8ed6]:hover{color:var(--text-strong);border-color:var(--accent);transform:translateY(-2px)}.filter-pill.active[data-v-306d8ed6]{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.projects-empty[data-v-306d8ed6]{display:flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--muted);padding:3rem 0}.pagination[data-v-306d8ed6]{display:flex;align-items:center;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-top:2.6rem}.page-numbers[data-v-306d8ed6]{display:flex;gap:.45rem}.page-btn[data-v-306d8ed6]{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.55rem 1.1rem;transition:color var(--speed) ease,border-color var(--speed) ease,background-color var(--speed) ease,transform var(--speed) var(--ease)}.page-btn[data-v-306d8ed6]:hover:not(:disabled):not(.active){color:var(--text-strong);border-color:var(--accent);transform:translateY(-2px)}.page-btn[data-v-306d8ed6]:disabled{opacity:.45;cursor:not-allowed}.page-number[data-v-306d8ed6]{width:42px;height:42px;padding:0;justify-content:center;border-radius:var(--radius-full)}.page-number.active[data-v-306d8ed6]{color:var(--accent-contrast);background:var(--accent);border-color:var(--accent)}.projects-enter-active[data-v-306d8ed6],.projects-leave-active[data-v-306d8ed6]{transition:opacity .3s ease,transform .3s ease}.projects-enter-from[data-v-306d8ed6],.projects-leave-to[data-v-306d8ed6]{opacity:0;transform:scale(.97)}.not-found-page[data-v-5e6bf69b]{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:72px}.nf-code[data-v-5e6bf69b]{font-family:Space Grotesk,sans-serif;font-size:clamp(6rem,18vw,11rem);font-weight:700;line-height:1}.nf-title[data-v-5e6bf69b]{font-family:Space Grotesk,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-strong);margin:1rem 0 .5rem}.nf-text[data-v-5e6bf69b]{color:var(--muted);margin-bottom:2rem}.glass-icon-container[data-v-da9074c7]{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.glass-icon-bg[data-v-da9074c7]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease}.glass-icon-container:hover .glass-icon-bg[data-v-da9074c7]{background:#ffffff26;border-color:#ff7b7b4d;box-shadow:0 8px 32px #ff7b7b33}.glass-icon[data-v-da9074c7]{position:relative;z-index:1;transition:transform .3s ease}.glass-icon-container:hover .glass-icon[data-v-da9074c7]{transform:scale(1.1)}.glass-icon-container[data-v-3a43c1dc]{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.glass-icon-bg[data-v-3a43c1dc]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease}.glass-icon-container:hover .glass-icon-bg[data-v-3a43c1dc]{background:#ffffff26;border-color:#6366f14d;box-shadow:0 8px 32px #6366f133}.glass-icon[data-v-3a43c1dc]{position:relative;z-index:1;transition:transform .3s ease}.glass-icon-container:hover .glass-icon[data-v-3a43c1dc]{transform:scale(1.1)}.glass-icon-container[data-v-9c229f3d]{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.glass-icon-bg[data-v-9c229f3d]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease}.glass-icon-container:hover .glass-icon-bg[data-v-9c229f3d]{background:#ffffff26;border-color:#f59e0b4d;box-shadow:0 8px 32px #f59e0b33}.glass-icon[data-v-9c229f3d]{position:relative;z-index:1;transition:transform .3s ease}.glass-icon-container:hover .glass-icon[data-v-9c229f3d]{transform:scale(1.1)}.glass-icon-container[data-v-056bacba]{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.glass-icon-bg[data-v-056bacba]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease}.glass-icon-container:hover .glass-icon-bg[data-v-056bacba]{background:#ffffff26;border-color:#1877f24d;box-shadow:0 8px 32px #1877f233}.glass-icon[data-v-056bacba]{position:relative;z-index:1;transition:transform .3s ease}.glass-icon-container:hover .glass-icon[data-v-056bacba]{transform:scale(1.1)}.glass-icon-container[data-v-1ec5760d]{position:relative;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:12px;overflow:hidden}.glass-icon-bg[data-v-1ec5760d]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;transition:all .3s ease}.glass-icon-container:hover .glass-icon-bg[data-v-1ec5760d]{background:#ffffff26;border-color:#0088cc4d;box-shadow:0 8px 32px #08c3}.glass-icon[data-v-1ec5760d]{position:relative;z-index:1;transition:transform .3s ease}.glass-icon-container:hover .glass-icon[data-v-1ec5760d]{transform:scale(1.1)}.card[data-v-19800ae5]{--bg-color: transparent;background-color:var(--bg-color);border-radius:1.25rem;height:30px}.loader[data-v-19800ae5]{color:#7c7c7c;font-weight:500;font-size:1rem;-webkit-box-sizing:content-box;box-sizing:content-box;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:8px}.words[data-v-19800ae5]{overflow:hidden;position:relative}.words[data-v-19800ae5]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(var(--bg-color) 10%,transparent 30%,transparent 70%,var(--bg-color) 90%);z-index:20}.word[data-v-19800ae5]{display:block;height:100%;padding-left:6px;color:#fff;animation:spin_4991-19800ae5 4s infinite}@keyframes spin_4991-19800ae5{10%{-webkit-transform:translateY(-102%);transform:translateY(-102%)}25%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}35%{-webkit-transform:translateY(-202%);transform:translateY(-202%)}50%{-webkit-transform:translateY(-200%);transform:translateY(-200%)}60%{-webkit-transform:translateY(-302%);transform:translateY(-302%)}75%{-webkit-transform:translateY(-300%);transform:translateY(-300%)}85%{-webkit-transform:translateY(-402%);transform:translateY(-402%)}to{-webkit-transform:translateY(-400%);transform:translateY(-400%)}}.avatar-box[data-v-b03f291c]{opacity:0;transform:scale(.8) translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1)}.avatar-box.loaded[data-v-b03f291c]{opacity:1;transform:scale(1) translateY(0)}.avatar-img[data-v-b03f291c]{filter:drop-shadow(0 0 10px rgba(255,255,255,.1));transition:filter .3s ease}.avatar-img[data-v-b03f291c]:hover{filter:drop-shadow(0 0 20px rgba(255,255,255,.2))}.info-content[data-v-b03f291c]{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1) .2s}.info-content.loaded[data-v-b03f291c]{opacity:1;transform:translateY(0)}.name[data-v-b03f291c],.title[data-v-b03f291c]{transition:color .3s ease}.info_more-btn[data-v-b03f291c]{opacity:0;transform:translateY(20px);transition:all .6s cubic-bezier(.4,0,.2,1) .4s}.info_more-btn.loaded[data-v-b03f291c]{opacity:1;transform:translateY(0)}.info_more-btn[data-v-b03f291c]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ffb2504d}.contact-item[data-v-b03f291c]{opacity:0;transform:translate(-20px);animation:slideInFromLeft-b03f291c .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:var(--delay, 0s)}.contact-link[data-v-b03f291c]{transition:all .3s ease;position:relative;overflow:hidden}.contact-link[data-v-b03f291c]:hover{color:var(--orange-yellow-crayola);transform:translate(5px)}.contact-link[data-v-b03f291c]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,178,80,.1),transparent);transition:left .5s ease}.contact-link[data-v-b03f291c]:hover:before{left:100%}.social-item[data-v-b03f291c]{opacity:0;transform:scale(.8) translateY(20px);animation:bounceIn-b03f291c .6s cubic-bezier(.68,-.55,.265,1.55) forwards;animation-delay:var(--delay, 0s)}.social-link[data-v-b03f291c]{transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.social-link[data-v-b03f291c]:hover{transform:translateY(-3px) scale(1.1);box-shadow:0 8px 25px #ffb2504d}.social-link[data-v-b03f291c]:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,178,80,.2) 0%,transparent 70%);transition:all .3s ease;transform:translate(-50%,-50%);border-radius:50%}.social-link[data-v-b03f291c]:hover:before{width:100px;height:100px}@keyframes slideInFromLeft-b03f291c{to{opacity:1;transform:translate(0)}}@keyframes bounceIn-b03f291c{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{opacity:1;transform:scale(1.05) translateY(-5px)}70%{transform:scale(.95) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}.name[data-v-b03f291c]{position:relative;background:linear-gradient(135deg,var(--white-2) 0%,rgba(255,255,255,.9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:all .3s ease}.name[data-v-b03f291c]:hover{background:linear-gradient(135deg,var(--orange-yellow-crayola) 0%,var(--white-2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transform:translateY(-1px)}.mobile-backdrop[data-v-b03f291c]{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:999;animation:fadeIn .3s ease;cursor:pointer}.mobile-close-btn[data-v-b03f291c]{display:none;position:absolute;top:15px;right:15px;width:40px;height:40px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:var(--white-2);cursor:pointer;transition:all .3s ease;z-index:20;align-items:center;justify-content:center}.mobile-close-btn[data-v-b03f291c]:hover{background:#ffb25033;border-color:#ffb25066;color:var(--orange-yellow-crayola);transform:scale(1.1)}@media (max-width: 768px){.avatar-img[data-v-b03f291c]{width:80px!important;height:80px;border-radius:22px;border:2px solid rgba(255,178,80,.15);display:flex}.name[data-v-b03f291c]{font-size:var(--fs-3)!important}.title[data-v-b03f291c]{font-size:var(--fs-7)!important}}@media (prefers-reduced-motion: reduce){.avatar-box[data-v-b03f291c],.info-content[data-v-b03f291c],.info_more-btn[data-v-b03f291c],.contact-item[data-v-b03f291c],.social-item[data-v-b03f291c]{animation:none;transition:opacity .3s ease}.avatar-box.loaded[data-v-b03f291c],.info-content.loaded[data-v-b03f291c],.info_more-btn.loaded[data-v-b03f291c],.contact-item[data-v-b03f291c],.social-item[data-v-b03f291c]{opacity:1;transform:none}.sidebar.active[data-v-b03f291c],.mobile-backdrop[data-v-b03f291c]{animation:none}}:root{--bg-gradient-onyx: linear-gradient( to bottom right, hsl(240, 1%, 25%) 3%, hsl(0, 0%, 19%) 97% );--bg-gradient-jet: linear-gradient( to bottom right, hsla(240, 1%, 18%, .251) 0%, hsla(240, 2%, 11%, 0) 100% ), hsl(240, 2%, 13%);--bg-gradient-yellow-1: linear-gradient( to bottom right, hsl(170, 100%, 71%) 0%, hsla(36, 100%, 69%, 0) 50% );--bg-gradient-yellow-2: linear-gradient( 135deg, hsla(170, 100%, 71%, .251) 0%, hsla(35, 100%, 68%, 0) 59.86% ), hsl(240, 2%, 13%);--border-gradient-onyx: linear-gradient( to bottom right, hsl(0, 0%, 25%) 0%, hsla(0, 0%, 25%, 0) 50% );--text-gradient-yellow: linear-gradient( to right, hsl(170, 100%, 72%), hsl(170, 100%, 68%) );--jet: hsl(0, 0%, 22%);--onyx: hsl(240, 1%, 17%);--eerie-black-1: hsl(240, 2%, 13%);--eerie-black-2: hsl(240, 2%, 12%);--smoky-black: hsl(0, 0%, 7%);--white-1: hsl(0, 0%, 100%);--white-2: hsl(0, 0%, 98%);--orange-yellow-crayola: hsl(170, 100%, 72%);--vegas-gold: hsl(170, 54%, 58%);--light-gray: hsl(0, 0%, 84%);--light-gray-70: hsla(0, 0%, 84%, .7);--bittersweet-shimmer: hsl(0, 43%, 51%);--ff-poppins: "Poppins", sans-serif;--fs-1: 24px;--fs-2: 18px;--fs-3: 17px;--fs-4: 16px;--fs-5: 15px;--fs-6: 14px;--fs-7: 13px;--fs-8: 11px;--fw-300: 300;--fw-400: 400;--fw-500: 500;--fw-600: 600;--shadow-1: -4px 8px 24px hsla(0, 0%, 0%, .25);--shadow-2: 0 16px 30px hsla(0, 0%, 0%, .25);--shadow-3: 0 16px 40px hsla(0, 0%, 0%, .25);--shadow-4: 0 25px 50px hsla(0, 0%, 0%, .15);--shadow-5: 0 24px 80px hsla(0, 0%, 0%, .25);--transition-1: .25s ease;--transition-2: .5s ease-in-out}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}a{text-decoration:none}li{list-style:none}img,ion-icon,a,button,time,span{display:block}button{font:inherit;background:none;border:none;text-align:left;cursor:pointer}input,textarea{display:block;width:100%;background:none;font:inherit}::selection{background:var(--orange-yellow-crayola);color:var(--smoky-black)}:focus{outline-color:var(--orange-yellow-crayola)}html{font-family:var(--ff-poppins)}.btn{padding:15px 30px;border:2px solid #2c2c2c;background-color:#1a1a1a;color:#fff;font-size:1.2rem;cursor:pointer;border-radius:30px;transition:all .4s ease;outline:none;position:relative;overflow:hidden;font-weight:700}.btn:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,#ffffff40,#fff0 70%);transform:scale(0);transition:transform .5s ease}.btn:hover:after{transform:scale(4)}.btn:hover{border-color:#666;background:#292929}.sidebar,article{background:var(--eerie-black-2);border:1px solid var(--jet);border-radius:20px;padding:15px;box-shadow:var(--shadow-1);z-index:1}.separator{width:100%;height:1px;background:var(--jet);margin:16px 0}.icon-box{position:relative;background:var(--border-gradient-onyx);width:48px;height:48px;border-radius:8px;display:flex;justify-content:center;align-items:center;font-size:16px;color:var(--orange-yellow-crayola);box-shadow:var(--shadow-1);z-index:1}.socials-icons{color:var(--orange-yellow-crayola)}.icon-box:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;background:var(--eerie-black-1);border-radius:inherit;z-index:-1}.icon-box ion-icon{--ionicon-stroke-width: 35px}article{animation:slideInFromRight .6s cubic-bezier(.4,0,.2,1) backwards;will-change:transform,opacity}.article-title{margin-bottom:30px;animation:slideInFromTop .6s cubic-bezier(.4,0,.2,1) .2s both}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--orange-yellow-crayola);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}article{animation:fadeInReduced .3s ease}@keyframes fadeInReduced{0%{opacity:0}to{opacity:1}}}.h2,.h3,.h4,.h5{color:var(--white-2);text-transform:capitalize}.h2{font-size:var(--fs-1)}.h3{font-size:var(--fs-2)}.h4{font-size:var(--fs-4)}.h5{font-size:var(--fs-7);font-weight:var(--fw-500)}.article-title{position:relative;padding-bottom:7px}.article-title:after{content:"";position:absolute;bottom:0;left:0;width:30px;height:3px;background:var(--text-gradient-yellow);border-radius:3px}.has-scrollbar::-webkit-scrollbar{width:5px;height:5px}.has-scrollbar::-webkit-scrollbar-track{background:var(--onyx);border-radius:5px}.has-scrollbar::-webkit-scrollbar-thumb{background:var(--orange-yellow-crayola);border-radius:5px}.has-scrollbar::-webkit-scrollbar-button{width:20px}.content-card{position:relative;background:var(--border-gradient-onyx);padding:45px 15px 15px;border-radius:14px;box-shadow:var(--shadow-2);cursor:pointer;z-index:1}.content-card:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1}main{margin:15px 12px 75px;min-width:259px}.sidebar{margin-bottom:15px;max-height:112px;overflow:hidden;transition:var(--transition-2)}.sidebar.active{max-height:480px}.sidebar-info{position:relative;display:flex;justify-content:flex-start;align-items:center;gap:15px}.avatar-box{background:var(--bg-gradient-onyx);border-radius:20px}.info-content .name{color:var(--white-2);font-size:var(--fs-3);font-weight:var(--fw-500);letter-spacing:-.25px;margin-bottom:10px}.info-content .title{color:var(--white-1);background:var(--onyx);font-size:var(--fs-8);font-weight:var(--fw-300);width:max-content;padding:3px 12px;border-radius:8px}.info_more-btn{position:absolute;top:-15px;right:-15px;border-radius:0 15px;font-size:13px;color:var(--orange-yellow-crayola);background:var(--border-gradient-onyx);padding:10px;box-shadow:var(--shadow-2);transition:var(--transition-1);z-index:1}.info_more-btn:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:var(--bg-gradient-jet);transition:var(--transition-1);z-index:-1}.info_more-btn:hover,.info_more-btn:focus{background:var(--bg-gradient-yellow-1)}.info_more-btn:hover:before,.info_more-btn:focus:before{background:var(--bg-gradient-yellow-2)}.sidebar-info_more{opacity:0;visibility:hidden;transition:var(--transition-2)}.sidebar.active .sidebar-info_more{opacity:1;visibility:visible}.contacts-list{display:grid;grid-template-columns:1fr;gap:16px}.contact-item{min-width:100%;display:flex;align-items:center;gap:16px}.contact-info{max-width:calc(100% - 46px);width:calc(100% - 46px)}.contact-title{color:var(--light-gray-70);font-size:var(--fs-8);text-transform:uppercase;margin-bottom:2px}.contact-info :is(.contact-link,time,address){color:var(--white-2);font-size:var(--fs-7)}.contact-info address{font-style:normal}.social-list{display:flex;justify-content:flex-start;align-items:center;gap:15px;padding-bottom:4px;padding-left:7px}.social-item .social-link{color:var(--light-gray-70);font-size:18px}.social-item .social-link:hover{color:var(--light-gray)}.navbar{position:fixed;bottom:0;left:0;width:100%;background:#2b2b2cbf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--jet);border-radius:12px 12px 0 0;box-shadow:var(--shadow-2);z-index:5}.navbar-list{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:0 10px}.navbar-link{--fs-8: 14px;color:var(--light-gray);font-size:var(--fs-8);padding:20px 7px;transition:color var(--transition-1)}.navbar-link:hover,.navbar-link:focus{color:var(--light-gray-70)}.navbar-link.active{color:var(--orange-yellow-crayola);text-shadow:0 0 10px var(--orange-yellow-crayola)}.about .article-title{margin-bottom:15px}.about-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.about-text p{margin-bottom:15px}.service{margin-bottom:35px}.service-title{margin-bottom:20px}.service-list{display:grid;grid-template-columns:1fr;gap:20px}.service-item{position:relative;background:var(--border-gradient-onyx);padding:20px;border-radius:14px;box-shadow:var(--shadow-2);z-index:1}.service-item:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1}.service-icon-box{margin-bottom:10px}.service-icon-box img{margin:auto}.service-content-box{text-align:center}.service-item-title{margin-bottom:7px}.service-item-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-3);line-height:1.6}.testimonials{margin-bottom:30px}.testimonials-title{margin-bottom:20px}.testimonials-list{display:flex;justify-content:flex-start;align-items:flex-start;gap:15px;margin:0 -15px;padding:25px 15px 35px;overflow-x:auto;scroll-behavior:smooth;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory}.testimonials-item{min-width:100%;scroll-snap-align:center}.testimonials-avatar-box{position:absolute;top:0;left:0;transform:translate(15px,-25px);background:var(--bg-gradient-onyx);border-radius:14px;box-shadow:var(--shadow-1)}.testimonials-item-title{margin-bottom:7px}.testimonials-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6;display:-webkit-box;line-clamp:4;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.modal-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow-y:auto;overscroll-behavior:contain;z-index:20;pointer-events:none;visibility:hidden}.modal-container::-webkit-scrollbar{display:none}.modal-container.active{pointer-events:all;visibility:visible}.overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0d0d0d;opacity:0;visibility:hidden;pointer-events:none;z-index:1;transition:var(--transition-1)}.overlay.active{opacity:.8;visibility:visible;pointer-events:all}.testimonials-modal{background:var(--eerie-black-2);position:relative;padding:15px;margin:15px 12px;border:1px solid var(--jet);border-radius:14px;box-shadow:var(--shadow-5);transform:scale(1.2);opacity:0;transition:var(--transition-1);z-index:2}.modal-container.active .testimonials-modal{transform:scale(1);opacity:1}.modal-close-btn{position:absolute;top:15px;right:15px;background:var(--onyx);border-radius:8px;width:32px;height:32px;display:flex;justify-content:center;align-items:center;color:var(--white-2);font-size:18px;opacity:.7}.modal-close-btn:hover,.modal-close-btn:focus{opacity:1}.modal-close-btn ion-icon{--ionicon-stroke-width: 50px}.modal-avatar-box{background:var(--bg-gradient-onyx);width:max-content;border-radius:14px;margin-bottom:15px;box-shadow:var(--shadow-2)}.modal-img-wrapper>img{display:none}.modal-title{margin-bottom:4px}.modal-content time{font-size:var(--fs-6);color:var(--light-gray-70);font-weight:var(--fw-300);margin-bottom:10px}.modal-content p{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.techs{margin-bottom:15px}.techs-list{display:flex;justify-content:flex-start;align-items:flex-start;gap:15px;margin:0 -15px;padding:25px;overflow-x:auto;scroll-behavior:smooth;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-padding-inline:25px}.techs-item{min-width:50%;scroll-snap-align:start}.techs-item img{width:80%;transition:var(--transition-1)}.techs-item img:hover{transform:scale(1.05);filter:drop-shadow(0px 0px 12px var(--orange-yellow-crayola))}.filter-list{display:none}.filter-select-box{position:relative;margin-bottom:25px}.filter-select{background:var(--eerie-black-2);color:var(--light-gray);display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;border:1px solid var(--jet);border-radius:14px;font-size:var(--fs-6);font-weight:var(--fw-300)}.filter-select.active .select-icon{transform:rotate(.5turn)}.select-list{background:var(--eerie-black-2);position:absolute;top:calc(100% + 6px);width:100%;padding:6px;border:1px solid var(--jet);border-radius:14px;z-index:2;opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease-in-out}.filter-select.active+.select-list{opacity:1;visibility:visible;pointer-events:all}.select-item button{background:var(--eerie-black-2);color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);text-transform:capitalize;width:100%;padding:8px 10px;border-radius:8px}.select-item button:hover{--eerie-black-2: hsl(240, 2%, 20%)}.project-list{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:10px}.project-item{display:none}.project-item.active{display:block;animation:scaleUp .25s ease forwards}@keyframes scaleUp{0%{transform:scale(.5)}to{transform:scale(1)}}.project-item>a{width:100%}.project-img{position:relative;width:100%;height:200px;border-radius:16px;overflow:hidden;margin-bottom:15px}.project-img:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;z-index:1;transition:var(--transition-1)}.project-item>a:hover .project-img:before{background:#00000080}.project-item-icon-box{--scale: .8;background:var(--jet);color:var(--orange-yellow-crayola);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(var(--scale));font-size:20px;padding:8px;width:40px;height:40px;border-radius:12px;opacity:0;z-index:1;transition:var(--transition-1)}.project-item>a:hover .project-item-icon-box{--scale: 1;opacity:1}.project-item-icon-box ion-icon{--ionicon-stroke-width: 50px}.project-img img{width:100%;height:100%;object-fit:cover;transition:var(--transition-1)}.project-item>a:hover img{transform:scale(1.1)}.project-title,.project-category{margin-left:10px}.project-title{color:var(--white-2);font-size:var(--fs-5);font-weight:var(--fw-400);text-transform:capitalize;line-height:1.3}.project-category{color:var(--light-gray-70);font-size:var(--fs-6);font-weight:var(--fw-300)}.blog-posts{margin-bottom:10px}.blog-posts-list{display:grid;grid-template-columns:1fr;gap:20px}.blog-post-item>a{position:relative;background:var(--border-gradient-onyx);height:100%;box-shadow:var(--shadow-4);border-radius:16px;z-index:1}.blog-post-item>a:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:inherit;background:var(--eerie-black-1);z-index:-1}.blog-banner-box{width:100%;height:200px;border-radius:12px;overflow:hidden}.blog-banner-box img{width:100%;height:100%;object-fit:cover;transition:var(--transition-1)}.blog-post-item>a:hover .blog-banner-box img{transform:scale(1.1)}.blog-content{padding:15px}.blog-meta{display:flex;justify-content:flex-start;align-items:center;gap:7px;margin-bottom:10px}.blog-meta :is(.blog-category,time){color:var(--light-gray-70);font-size:var(--fs-6);font-weight:var(--fw-300)}.blog-meta .dot{background:var(--light-gray-70);width:4px;height:4px;border-radius:4px}.blog-item-title{margin-bottom:10px;line-height:1.3;transition:var(--transition-1)}.blog-post-item>a:hover .blog-item-title{color:var(--orange-yellow-crayola)}.blog-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.mapbox{position:relative;height:250px;width:100%;border-radius:16px;margin-bottom:30px;border:1px solid var(--jet);overflow:hidden}.mapbox figure{height:100%}.mapbox iframe{width:100%;height:100%;border:none;filter:grayscale(1) invert(1)}.contact-form{margin-bottom:10px}.form-title{margin-bottom:20px}.input-wrapper{display:grid;grid-template-columns:1fr;gap:25px;margin-bottom:25px}.form-input{color:var(--white-2);font-size:var(--fs-6);font-weight:var(--fw-400);padding:13px 20px;border:1px solid var(--jet);border-radius:14px;outline:none}.form-input::placeholder{font-weight:var(--fw-500)}.form-input:focus{border-color:var(--orange-yellow-crayola)}textarea.form-input{min-height:100px;height:120px;max-height:200px;resize:vertical;margin-bottom:25px}textarea.form-input::-webkit-resizer{display:none}.form-input:focus:invalid{border-color:var(--bittersweet-shimmer)}.form-btn{position:relative;width:100%;background:var(--border-gradient-onyx);color:var(--orange-yellow-crayola);display:flex;justify-content:center;align-items:center;gap:10px;padding:13px 20px;border-radius:14px;font-size:var(--fs-6);text-transform:capitalize;box-shadow:var(--shadow-3);z-index:1;transition:var(--transition-1)}.form-btn:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;transition:var(--transition-1)}.form-btn ion-icon{font-size:16px}.form-btn:hover{background:var(--bg-gradient-yellow-1)}.form-btn:hover:before{background:var(--bg-gradient-yellow-2)}.form-btn:disabled{opacity:.7;cursor:not-allowed}.form-btn:disabled:hover{background:var(--border-gradient-onyx)}.form-btn:disabled:hover:before{background:var(--bg-gradient-jet)}@media (min-width: 450px){.techs-item{min-width:calc(33.33% - 10px)}.project-img,.blog-banner-box{height:auto}}@media (min-width: 580px){:root{--fs-1: 32px;--fs-2: 24px;--fs-3: 26px;--fs-4: 18px;--fs-6: 15px;--fs-7: 15px;--fs-8: 12px}.sidebar,article{width:520px;margin-inline:auto;padding:30px}.article-title{font-weight:var(--fw-600);padding-bottom:15px}.article-title:after{width:40px;height:5px}.icon-box{width:48px;height:48px;border-radius:12px;font-size:18px}main{margin-top:60px;margin-bottom:100px}.sidebar{max-height:180px;min-width:280px;margin-bottom:30px}.sidebar.active{max-height:584px}.sidebar-info{gap:25px}.avatar-box{border-radius:30px}.avatar-box img{width:120px}.info-content .name{margin-bottom:15px}.info-content .title{padding:5px 18px}.info_more-btn{top:-30px;right:-30px;padding:10px 15px}.info_more-btn span{display:block;font-size:var(--fs-8)}.info_more-btn ion-icon{display:none}.separator{margin:32px 0}.contacts-list{gap:20px}.contact-info{max-width:calc(100% - 64px);width:calc(100% - 64px)}.navbar{border-radius:20px 20px 0 0}.navbar-list{gap:20px}.navbar-link{--fs-8: 14px}.about .article-title{margin-bottom:20px}.about-text{margin-bottom:40px}.service-item{display:flex;justify-content:flex-start;align-items:flex-start;gap:18px;padding:30px}.service-icon-box{margin-bottom:0;margin-top:5px}.service-content-box{text-align:left}.testimonials-title{margin-bottom:25px}.testimonials-list{gap:30px;margin:0 -30px;padding:30px 30px 35px}.content-card{padding:25px 30px 30px}.testimonials-avatar-box{transform:translate(30px,-30px);border-radius:20px}.testimonials-avatar-box img{width:80px}.testimonials-item-title{margin-bottom:10px;margin-left:95px}.testimonials-text{line-clamp:2;-webkit-line-clamp:2}.modal-container{padding:20px}.testimonials-modal{display:flex;justify-content:flex-start;align-items:stretch;gap:25px;padding:30px;border-radius:20px}.modal-img-wrapper{display:flex;flex-direction:column;align-items:center}.modal-avatar-box{border-radius:18px;margin-bottom:0}.modal-avatar-box img{width:65px}.modal-img-wrapper>img{display:block;flex-grow:1;width:35px}.techs-list{gap:50px;margin:0 -30px;padding:45px;scroll-padding-inline:45px}.techs-item{min-width:calc(33.33% - 35px)}.timeline-list{margin-left:65px}.timeline-item:not(:last-child):before{left:-40px}.timeline-item:after{height:8px;width:8px;left:-43px}.skills-item:not(:last-child){margin-bottom:25px}.project-img,.blog-banner-box{border-radius:16px}.blog-posts-list{gap:30px}.blog-content{padding:25px}.mapbox{height:380px;border-radius:18px}.input-wrapper{gap:30px;margin-bottom:30px}.form-input{padding:15px 20px}textarea.form-input{margin-bottom:30px}.form-btn{--fs-6: 16px;padding:16px 20px}.form-btn ion-icon{font-size:18px}}@media (min-width: 768px){.sidebar,article{width:700px}.has-scrollbar::-webkit-scrollbar-button{width:100px}.contacts-list{grid-template-columns:1fr 1fr;gap:30px 15px}.navbar-link{--fs-8: 15px}.testimonials-modal{gap:35px;max-width:680px}.modal-avatar-box img{width:80px}.project-list,.blog-posts-list,.input-wrapper{grid-template-columns:1fr 1fr}.form-btn{width:max-content;margin-left:auto}}@media (min-width: 1024px){:root{--shadow-1: -4px 8px 24px hsla(0, 0%, 0%, .125);--shadow-2: 0 16px 30px hsla(0, 0%, 0%, .125);--shadow-3: 0 16px 40px hsla(0, 0%, 0%, .125)}.sidebar,article{width:950px;box-shadow:var(--shadow-5)}main{margin-bottom:60px}.main-content{position:relative;width:max-content;margin:auto}.navbar{position:absolute;bottom:auto;top:0;left:auto;right:0;width:max-content;border-radius:0 20px;padding:0 20px;box-shadow:none}.navbar-list{gap:30px;padding:0 20px}.navbar-link{font-weight:var(--fw-500)}.service-list{grid-template-columns:1fr 1fr;gap:20px 25px}.testimonials-item{min-width:calc(50% - 15px)}.techs-item{min-width:calc(25% - 38px)}.project-list{grid-template-columns:repeat(3,1fr)}.blog-banner-box{height:230px}}@media (min-width: 1250px){body::-webkit-scrollbar{width:20px}body::-webkit-scrollbar-track{background:var(--smoky-black)}body::-webkit-scrollbar-thumb{border:5px solid var(--smoky-black);background:#ffffff1a;border-radius:20px;box-shadow:inset 1px 1px #ffffff1c,inset -1px -1px #ffffff1c}body::-webkit-scrollbar-thumb:hover{background:#ffffff26}body::-webkit-scrollbar-button{height:60px}.sidebar,article{width:auto}article{min-height:100%}main{max-width:1200px;margin-inline:auto;display:flex;justify-content:center;align-items:stretch;gap:25px}.main-content{min-width:75%;width:75%;margin:0}.sidebar{position:sticky;top:60px;max-height:max-content;height:100%;margin-bottom:0;padding-top:60px;z-index:1}.sidebar-info{flex-direction:column}.avatar-box img{width:150px}.info-content .name{white-space:nowrap;text-align:center}.info-content .title{margin:auto}.info_more-btn{display:none}.sidebar-info_more{opacity:1;visibility:visible}.contacts-list{grid-template-columns:1fr}.contact-info :is(.contact-link){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-info :is(.contact-link,time,address){--fs-7: 14px;font-weight:var(--fw-300)}.separator:last-of-type{margin:15px 0;opacity:0}.social-list{justify-content:center}.timeline-text{max-width:700px}}.v1-site{background:var(--smoky-black);min-height:100vh;font-family:var(--ff-poppins)}.v1-banner{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .8rem;padding:10px 16px;background:var(--eerie-black-1);border-bottom:1px solid var(--jet);color:var(--light-gray);font-size:13px;text-align:center}.v1-banner-link{color:var(--orange-yellow-crayola);font-weight:500;text-decoration:underline;text-underline-offset:3px}.v1-banner-link:hover{color:var(--vegas-gold)}.skills-list[data-v-e3969f63]{margin-top:30px;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.form-subtitle[data-v-4b96daa6]{color:var(--light-gray);font-size:var(--fs-6);line-height:1.6;margin-bottom:30px;text-align:center}.input-group[data-v-4b96daa6]{position:relative;margin-bottom:25px}.form-label[data-v-4b96daa6]{position:absolute;top:50%;left:20px;transform:translateY(-50%);color:var(--light-gray-70);font-size:var(--fs-7);font-weight:var(--fw-400);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--eerie-black-2);padding:0 8px;border-radius:4px}.form-input:focus+.form-label[data-v-4b96daa6],.form-input.filled+.form-label[data-v-4b96daa6]{top:0;left:16px;font-size:var(--fs-8);color:var(--orange-yellow-crayola);background:var(--eerie-black-1)}.form-input[data-v-4b96daa6]{position:relative;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.form-input[data-v-4b96daa6]:focus{border-color:var(--orange-yellow-crayola);box-shadow:0 0 0 3px #ffb7031a;background:#ffffff14}.form-input.error[data-v-4b96daa6]{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input[data-v-4b96daa6]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-4b96daa6]{color:#ef4444;font-size:var(--fs-8);margin-top:8px;display:flex;align-items:center;gap:6px;animation:slideDown-4b96daa6 .3s ease}.error-message[data-v-4b96daa6]:before{content:"⚠";font-size:12px}.character-count[data-v-4b96daa6]{color:var(--light-gray-70);font-size:var(--fs-8);text-align:right;margin-top:8px;opacity:.7}.form-btn[data-v-4b96daa6]{border:none;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.form-btn[data-v-4b96daa6]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.form-btn[data-v-4b96daa6]:hover:before{left:100%}.form-btn[data-v-4b96daa6]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ffb7034d}.form-btn[data-v-4b96daa6]:active{transform:translateY(0)}.form-btn[data-v-4b96daa6]:disabled{opacity:.7;cursor:not-allowed;transform:none}.form-btn[data-v-4b96daa6]:disabled:hover{transform:none;box-shadow:none}.btn-content[data-v-4b96daa6]{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;z-index:1}.btn-icon[data-v-4b96daa6]{transition:transform .3s ease}.form-btn:hover .btn-icon[data-v-4b96daa6]{transform:translate(3px)}.loading-spinner[data-v-4b96daa6]{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin-4b96daa6 1s ease-in-out infinite}@keyframes spin-4b96daa6{to{transform:rotate(360deg)}}@keyframes slideDown-4b96daa6{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.form-subtitle[data-v-4b96daa6]{font-size:var(--fs-7);margin-bottom:25px}.input-wrapper[data-v-4b96daa6]{gap:20px}.input-group[data-v-4b96daa6]{margin-bottom:20px}.form-label[data-v-4b96daa6]{font-size:var(--fs-8)}}.contact-form[data-v-4b96daa6]{background:#ffffff05;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;position:relative;overflow:hidden}.contact-form[data-v-4b96daa6]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--orange-yellow-crayola),transparent);opacity:.5}@media (max-width: 768px){.contact-form[data-v-4b96daa6]{padding:25px;border-radius:16px}}.article-title[data-v-ead53303]{padding-bottom:20px;animation:slideInFromTop-ead53303 .6s cubic-bezier(.4,0,.2,1)}.filter-select-box[data-v-ead53303]{display:none}.filter-list[data-v-ead53303]{display:flex;justify-content:flex-start;align-items:center;gap:25px;padding-left:5px;margin-bottom:30px;animation:slideInFromLeft-ead53303 .6s cubic-bezier(.4,0,.2,1) .2s both}.filter-item button[data-v-ead53303]{color:var(--light-gray);font-size:var(--fs-5);transition:all .3s cubic-bezier(.4,0,.2,1);padding:8px 16px;border-radius:20px;position:relative;overflow:hidden}.filter-item button[data-v-ead53303]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.filter-item button[data-v-ead53303]:hover{color:var(--light-gray-70);background:var(--jet);transform:translateY(-2px)}.filter-item button[data-v-ead53303]:hover:before{left:100%}.filter-item button.active[data-v-ead53303]{color:var(--orange-yellow-crayola);background:var(--border-gradient-onyx);box-shadow:0 4px 15px #aaffb833}.portfolio-skeleton[data-v-ead53303]{margin-bottom:30px}.skeleton-grid[data-v-ead53303]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px}.skeleton-project-card[data-v-ead53303]{animation:pulse-ead53303 1.5s ease-in-out infinite}.project-list[data-v-ead53303]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;list-style:none;padding:0;margin:0}.project-list.loaded .project-item[data-v-ead53303]{animation:slideInFromBottom-ead53303 .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:var(--delay, 0s);opacity:0;transform:translateY(30px)}.project-item[data-v-ead53303]{transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform}.project-item[data-v-ead53303]:hover{transform:translateY(-10px)}.project-link[data-v-ead53303]{display:block;background:var(--border-gradient-onyx);border-radius:16px;padding:15px;box-shadow:var(--shadow-2);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.project-link[data-v-ead53303]:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-link[data-v-ead53303]:hover{box-shadow:var(--shadow-4);transform:scale(1.02)}.project-link[data-v-ead53303]:hover:before{background:var(--bg-gradient-yellow-2)}.project-img[data-v-ead53303]{position:relative;border-radius:12px;overflow:hidden;margin-bottom:15px;height:200px}.project-item-icon-box[data-v-ead53303]{margin:-20px 0 0 -20px;background:var(--bg-gradient-onyx);width:40px;height:40px;border-radius:12px;display:flex;justify-content:center;align-items:center;color:var(--orange-yellow-crayola);font-size:18px;z-index:2;opacity:0;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1)}.project-link:hover .project-item-icon-box[data-v-ead53303]{opacity:1;transform:scale(1)}.project-image[data-v-ead53303]{width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-link:hover .project-image[data-v-ead53303]{transform:scale(1.1)}.project-overlay[data-v-ead53303]{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.project-overlay-content[data-v-ead53303]{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;text-align:center}.overlay-icon[data-v-ead53303]{font-size:2rem;animation:bounce-ead53303 2s infinite}.overlay-text[data-v-ead53303]{font-size:var(--fs-6);font-weight:var(--fw-500);text-transform:uppercase;letter-spacing:1px}.project-content[data-v-ead53303]{text-align:center}.project-title[data-v-ead53303]{color:var(--white-2);font-size:var(--fs-4);font-weight:var(--fw-500);margin-bottom:8px;transition:color .3s ease}.project-link:hover .project-title[data-v-ead53303]{color:var(--orange-yellow-crayola)}.project-category[data-v-ead53303]{color:var(--light-gray-70);font-size:var(--fs-6);text-transform:uppercase;letter-spacing:1px}@keyframes slideInFromTop-ead53303{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft-ead53303{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromBottom-ead53303{to{opacity:1;transform:translateY(0)}}@keyframes bounce-ead53303{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse-ead53303{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.project-list[data-v-ead53303],.skeleton-grid[data-v-ead53303]{grid-template-columns:1fr;gap:20px}.filter-list[data-v-ead53303]{gap:15px;flex-wrap:wrap}.project-img[data-v-ead53303]{height:180px}}@media (max-width: 480px){.filter-list[data-v-ead53303]{gap:10px}.filter-item button[data-v-ead53303]{padding:6px 12px;font-size:var(--fs-6)}.project-img[data-v-ead53303]{height:160px}}@media (prefers-reduced-motion: reduce){.project-list.loaded .project-item[data-v-ead53303]{animation:fadeIn-ead53303 .3s ease forwards;animation-delay:var(--delay, 0s)}.article-title[data-v-ead53303],.filter-list[data-v-ead53303]{animation:fadeIn-ead53303 .3s ease}.project-item[data-v-ead53303]:hover{transform:none}.overlay-icon[data-v-ead53303]{animation:none}@keyframes fadeIn-ead53303{0%{opacity:0}to{opacity:1}}}.gallery{position:relative;display:flex;gap:10px;overflow-x:auto;margin-bottom:30px;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding:5px}.gallery::-webkit-scrollbar{height:8px}.gallery::-webkit-scrollbar-track{border-radius:10px;background:var(--onyx)}.gallery::-webkit-scrollbar-thumb{background:var(--orange-yellow-crayola);border-radius:10px;transition:background .3s ease}.gallery::-webkit-scrollbar-thumb:hover{background:var(--vegas-gold)}.gallery-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;background:var(--eerie-black-2);border-radius:10px;padding:5px}.gallery-item{position:relative;min-width:150px;height:120px;border-radius:10px;overflow:hidden;scroll-snap-align:start;transition:all .4s cubic-bezier(.4,0,.2,1);animation:slideInFromRight .6s cubic-bezier(.4,0,.2,1) forwards;animation-delay:var(--delay, 0s);opacity:0;transform:translate(30px);will-change:transform,opacity}.gallery-item:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-3)}.gallery-image{width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:transform .4s cubic-bezier(.4,0,.2,1)}.gallery-item:hover .gallery-image{transform:scale(1.1)}.gallery-overlay{background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gallery-zoom-icon{font-size:1.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);animation:pulse 2s infinite}@keyframes slideInFromRight{to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 768px){.gallery{gap:8px}.gallery-item{min-width:120px;height:100px}.gallery-zoom-icon{font-size:1.2rem}}@media (prefers-reduced-motion: reduce){.gallery-item{animation:fadeIn .3s ease forwards;animation-delay:var(--delay, 0s)}.gallery-item:hover{transform:none}.gallery-zoom-icon{animation:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.portfolio-title[data-v-a79b0532]{text-decoration:none;cursor:pointer}.portfolio-title[data-v-a79b0532]:hover{text-decoration:underline}.portfolio-description[data-v-a79b0532]{margin:10px auto 30px;color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6;text-align:justify}article.portfolio[data-v-a79b0532]{position:relative}.btn[data-v-a79b0532]{position:absolute;bottom:30px;font-size:14px}@media screen and (max-width: 1024px){.btn[data-v-a79b0532]{position:relative;margin-top:50px}}.article-title[data-v-282a6385],.timeline[data-v-282a6385]{margin-bottom:30px}.timeline .title-wrapper[data-v-282a6385]{display:flex;align-items:center;gap:15px;margin-bottom:25px}.timeline-list[data-v-282a6385]{font-size:var(--fs-6);margin-left:45px}.timeline-item[data-v-282a6385]{position:relative}.timeline-item[data-v-282a6385]:not(:last-child){margin-bottom:20px}.timeline-item-title[data-v-282a6385]{font-size:var(--fs-6);line-height:1.3;margin-bottom:7px}.timeline-list span[data-v-282a6385]{color:var(--vegas-gold);font-weight:var(--fw-400);line-height:1.6}.timeline-item[data-v-282a6385]:not(:last-child):before{content:"";position:absolute;top:-25px;left:-30px;width:1px;height:calc(100% + 50px);background:var(--jet)}.timeline-item[data-v-282a6385]:after{content:"";position:absolute;top:5px;left:-33px;height:6px;width:6px;background:var(--text-gradient-yellow);border-radius:50%;box-shadow:0 0 0 4px var(--jet)}.timeline-text[data-v-282a6385]{color:var(--light-gray);font-weight:var(--fw-300);line-height:1.6}.inner-link[data-v-282a6385]{display:inline;color:var(--vegas-gold);text-decoration:none;text-transform:lowercase}.inner-link[data-v-282a6385]:hover{text-decoration:underline}.skills-title[data-v-282a6385]{margin-bottom:20px}.skills-list[data-v-282a6385]{padding:20px}.inner-list[data-v-282a6385]{color:var(--light-gray);margin-top:10px}.inner-list li[data-v-282a6385]{list-style:disc;margin-left:20px;margin-bottom:10px}.skills-overview[data-v-282a6385]{margin:30px 0 40px;text-align:center}.skills-description[data-v-282a6385]{color:var(--light-gray-70);font-size:16px;line-height:1.6;max-width:600px;margin:0 auto}.skills-grid-container[data-v-282a6385]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px}.skill-category-card[data-v-282a6385]{background:#ffffff0d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:30px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-category-card[data-v-282a6385]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05),transparent);transition:left .6s ease}.skill-category-card[data-v-282a6385]:hover:before{left:100%}.skill-category-card[data-v-282a6385]:hover{transform:translateY(-8px);background:#ffffff14;border-color:#fff3;box-shadow:0 20px 40px #00000026}.skill-header[data-v-282a6385]{display:flex;align-items:center;gap:20px;margin-bottom:25px}.skill-icon-wrapper[data-v-282a6385]{width:60px;height:60px;background:#ffffff1a;border-radius:16px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.skill-category-card:hover .skill-icon-wrapper[data-v-282a6385]{transform:scale(1.1) rotate(5deg);background:#ffffff26}.skill-icon[data-v-282a6385]{color:var(--orange-yellow-crayola);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.skill-info[data-v-282a6385]{flex:1}.skill-title[data-v-282a6385]{color:var(--white-2);font-size:18px;font-weight:600;margin-bottom:5px}.skill-percentage[data-v-282a6385]{color:var(--orange-yellow-crayola);font-size:24px;font-weight:700}.skill-progress-container[data-v-282a6385]{margin-bottom:25px}.skill-progress-track[data-v-282a6385]{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;position:relative}.skill-progress-fill[data-v-282a6385]{height:100%;border-radius:4px;transition:width 1s ease-in-out;position:relative;overflow:hidden}.skill-progress-fill[data-v-282a6385]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer-282a6385 2s infinite}@keyframes shimmer-282a6385{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skill-progress-fill.frontend[data-v-282a6385]{background:linear-gradient(135deg,#4ade80,#22c55e)}.skill-progress-fill.backend[data-v-282a6385]{background:linear-gradient(135deg,#ff6b6b,#ee5a52)}.skill-progress-fill.devops[data-v-282a6385]{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.skill-progress-fill.mobile[data-v-282a6385]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.skill-progress-fill.iot[data-v-282a6385]{background:linear-gradient(135deg,#22d3ee,#0891b2)}.skill-details[data-v-282a6385]{margin-top:20px}.skill-description[data-v-282a6385]{color:var(--light-gray-70);font-size:14px;line-height:1.6;margin-bottom:20px}.skill-technologies[data-v-282a6385]{display:flex;flex-wrap:wrap;gap:8px}.tech-tag[data-v-282a6385]{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;color:#fff;transition:all .3s ease}.tech-tag.frontend[data-v-282a6385]{background:linear-gradient(135deg,#4ade80,#22c55e)}.tech-tag.backend[data-v-282a6385]{background:linear-gradient(135deg,#ff6b6b,#ee5a52)}.tech-tag.devops[data-v-282a6385]{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.tech-tag.mobile[data-v-282a6385]{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.tech-tag.iot[data-v-282a6385]{background:linear-gradient(135deg,#22d3ee,#0891b2)}.tech-tag[data-v-282a6385]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.skills-grid-container[data-v-282a6385]{grid-template-columns:1fr;gap:20px}.skill-category-card[data-v-282a6385]{padding:20px}.skill-header[data-v-282a6385]{gap:15px;margin-bottom:20px}.skill-icon-wrapper[data-v-282a6385]{width:50px;height:50px}.skill-icon[data-v-282a6385]{font-size:24px}.skill-title[data-v-282a6385]{font-size:16px}.skill-percentage[data-v-282a6385]{font-size:20px}.skills-description[data-v-282a6385]{font-size:14px}}
