:root{--color-bg:#060606;--color-surface:#0d0d0d;--color-surface-raised:#141414;--color-border:#1c1c1c;--color-border-hover:#2c2c2c;--color-text:#efefef;--color-text-secondary:#868686;--color-text-muted:#737373;--color-accent:#3b7ef4;--color-accent-hover:#5a95f7;--color-accent-dim:#3b7ef414;--color-accent-glow:#3b7ef421;--font-display:"Archivo", system-ui, -apple-system, sans-serif;--font-sans:"Space Grotesk", system-ui, -apple-system, sans-serif;--max-width:1100px;--nav-height:64px;--section-gap:80px;--content-pad:24px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:9999px;--z-base:10;--z-overlay:30;--z-nav:50;--ease-out:cubic-bezier(.16, 1, .3, 1);--transition-fast:.15s var(--ease-out);--transition-normal:.26s var(--ease-out);--transition-slow:.42s var(--ease-out)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:16px;font-weight:400;line-height:1.6;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-nav{background:var(--color-accent);color:#fff;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:calc(var(--z-nav) + 10);transition:top var(--transition-fast);white-space:nowrap;padding:10px 20px;font-size:.875rem;font-weight:600;position:fixed;top:-100%;left:50%;transform:translate(-50%)}.skip-nav:focus{top:0}.container{width:100%;max-width:var(--max-width);padding-inline:var(--content-pad);margin-inline:auto}.section{padding-block:var(--section-gap)}.section-header{align-items:baseline;gap:12px;margin-bottom:32px;display:flex}.section-num{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-accent);font-size:.7rem;font-weight:600}.section-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--content-pad);transition:background var(--transition-normal), border-color var(--transition-normal)}.card:hover{background:var(--color-surface-raised);border-color:var(--color-border-hover)}.btn{border-radius:var(--radius-lg);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:8px;padding:11px 22px;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn-primary{background:var(--color-accent);color:#fff;border:1.5px solid var(--color-accent);border-radius:var(--radius-lg);font-family:var(--font-sans);transition:background var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal);justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 0 24px #3b7ef440}.btn-outline{color:var(--color-text-secondary);border:1.5px solid var(--color-border-hover);border-radius:var(--radius-lg);font-family:var(--font-sans);transition:background var(--transition-normal), color var(--transition-normal), border-color var(--transition-normal);background:0 0;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-size:.875rem;font-weight:500;line-height:1;display:inline-flex}.btn-outline:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text-muted)}.tag{background:var(--color-accent-dim);color:var(--color-accent);border-radius:var(--radius-sm);font-family:var(--font-sans);letter-spacing:.01em;padding:3px 10px;font-size:.72rem;font-weight:500;display:inline-block}.reveal{opacity:0;transition:opacity .65s var(--ease-out), transform .65s var(--ease-out);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.footer{border-top:1px solid var(--color-border);z-index:var(--z-base);padding-block:28px;position:relative}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer__copy{color:var(--color-text-muted);font-size:.78rem}.footer__top{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);align-items:center;gap:5px;font-size:.78rem;display:inline-flex}.footer__top:hover{color:var(--color-text)}.footer__top:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transition:none;transform:none}}.navbar[data-v-bf86e0c7]{z-index:var(--z-nav);height:var(--nav-height);transition:background var(--transition-normal), box-shadow var(--transition-normal);position:fixed;inset-block-start:0;inset-inline:0}.navbar--scrolled[data-v-bf86e0c7]{-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--color-border);background:#060606eb}.navbar__inner[data-v-bf86e0c7]{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__logo[data-v-bf86e0c7]{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-text);cursor:pointer;transition:color var(--transition-fast);font-size:1.15rem;font-weight:700}.navbar__logo[data-v-bf86e0c7]:hover,.navbar__logo-dot[data-v-bf86e0c7]{color:var(--color-accent)}.navbar__logo[data-v-bf86e0c7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}.navbar__nav[data-v-bf86e0c7]{align-items:center;gap:2px;display:flex}.navbar__link[data-v-bf86e0c7]{color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);padding:6px 12px;font-size:.82rem;font-weight:500}.navbar__link[data-v-bf86e0c7]:hover{color:var(--color-text);background:#ffffff0a}.navbar__link--active[data-v-bf86e0c7]{color:var(--color-text);background:#3b7ef41a}.navbar__link[data-v-bf86e0c7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navbar__hamburger[data-v-bf86e0c7]{cursor:pointer;border-radius:var(--radius-md);width:40px;height:40px;transition:background var(--transition-fast);background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:8px 6px;display:none}.navbar__hamburger[data-v-bf86e0c7]:hover{background:#ffffff0d}.navbar__hamburger[data-v-bf86e0c7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bar[data-v-bf86e0c7]{background:var(--color-text);height:1.5px;transition:transform var(--transition-normal), opacity var(--transition-fast);border-radius:2px;display:block}.bar--top-open[data-v-bf86e0c7]{transform:translateY(6.5px)rotate(45deg)}.bar--mid-open[data-v-bf86e0c7]{opacity:0;transform:scaleX(0)}.bar--bot-open[data-v-bf86e0c7]{transform:translateY(-6.5px)rotate(-45deg)}.navbar__drawer[data-v-bf86e0c7]{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--color-border);background:#060606f5;flex-direction:column;gap:2px;padding:8px 24px 14px;display:flex}.navbar__drawer-link[data-v-bf86e0c7]{color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);padding:10px 12px;font-size:.9rem;font-weight:500}.navbar__drawer-link[data-v-bf86e0c7]:hover{color:var(--color-text);background:#ffffff0a}.navbar__drawer-link--active[data-v-bf86e0c7]{color:var(--color-accent)}.drawer-enter-active[data-v-bf86e0c7]{transition:all .22s var(--ease-out)}.drawer-leave-active[data-v-bf86e0c7]{transition:all .16s ease-in}.drawer-enter-from[data-v-bf86e0c7],.drawer-leave-to[data-v-bf86e0c7]{opacity:0;transform:translateY(-6px)}@media (width<=680px){.navbar__nav[data-v-bf86e0c7]{display:none}.navbar__hamburger[data-v-bf86e0c7]{display:flex}}.particles-canvas[data-v-6a8a13b0]{z-index:0;pointer-events:none;position:fixed;inset:0}.project-card[data-v-52096a1e]{grid-column:span var(--span-cols,1);grid-row:span var(--span-rows,1);cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:left;font:inherit;color:inherit;transition:background var(--transition-normal), border-color var(--transition-normal), transform var(--transition-fast);padding:0;position:relative;overflow:hidden}.project-card[data-v-52096a1e]:hover{background:var(--color-surface-raised);border-color:var(--color-border-hover);transform:translateY(-2px)}.project-card[data-v-52096a1e]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card-inner[data-v-52096a1e]{flex-direction:column;gap:10px;height:100%;padding:20px 22px;display:flex}.size-hero .card-inner[data-v-52096a1e]{gap:14px;padding:28px 32px}.size-large .card-inner[data-v-52096a1e]{gap:12px;padding:24px 28px}.card-top[data-v-52096a1e]{justify-content:space-between;align-items:center;display:flex}.year[data-v-52096a1e]{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.card-title[data-v-52096a1e]{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);font-size:.92rem;font-weight:600;line-height:1.25}.size-hero .card-title[data-v-52096a1e]{font-size:1.4rem}.size-large .card-title[data-v-52096a1e]{font-size:1.1rem}.card-desc[data-v-52096a1e]{font-family:var(--font-sans);color:var(--color-text-secondary);flex:1;font-size:.835rem;font-weight:400;line-height:1.75}.size-hero .card-desc[data-v-52096a1e]{font-size:.9rem}.size-large .card-desc[data-v-52096a1e]{font-size:.85rem}.card-bottom[data-v-52096a1e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;display:flex}.tech-stack[data-v-52096a1e]{flex-wrap:wrap;gap:4px;display:flex}.tech-badge[data-v-52096a1e]{font-family:var(--font-sans);color:var(--color-text-muted);background:var(--color-surface-raised);border-radius:var(--radius-sm);padding:2px 7px;font-size:.65rem;font-weight:500}.tech-more[data-v-52096a1e]{color:var(--color-text-secondary);background:0 0}.status-badge[data-v-52096a1e]{font-family:var(--font-sans);border-radius:var(--radius-sm);padding:2px 8px;font-size:.68rem;font-weight:500}.status-live[data-v-52096a1e]{color:#4ade80;background:#4ade8014}.status-beta[data-v-52096a1e]{color:#fbbf24;background:#fbbf2414}.status-in-progress[data-v-52096a1e]{color:#a78bfa;background:#a78bfa14}.status-archived[data-v-52096a1e]{color:var(--color-text-muted);background:#73737314}.status-enterprise[data-v-52096a1e]{color:#f59e0b;background:#f59e0b14}.status-published[data-v-52096a1e]{color:#2dd4bf;background:#2dd4bf14}.project-wall[data-v-70d710e3]{padding-top:var(--nav-height);overflow:visible}.wall-grid[data-v-70d710e3]{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(180px,auto);gap:12px;display:grid;overflow:visible}@media (width<=680px){.wall-grid[data-v-70d710e3]{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(160px,auto)}}@media (width<=480px){.wall-grid[data-v-70d710e3]{grid-template-columns:1fr;grid-auto-rows:auto}.wall-grid[data-v-70d710e3]>*{grid-area:span 1/span 1!important}}.modal-backdrop[data-v-f8c5fd6d]{z-index:var(--z-overlay);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--content-pad);opacity:0;transition:opacity var(--transition-normal);background:#000000c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-visible[data-v-f8c5fd6d]{opacity:1}.modal-leaving[data-v-f8c5fd6d]{opacity:0}.modal-panel[data-v-f8c5fd6d]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);opacity:0;width:100%;max-width:780px;max-height:85vh;transition:transform var(--transition-normal), opacity var(--transition-normal);flex-direction:column;gap:18px;padding:32px;display:flex;position:relative;overflow-y:auto;transform:translateY(20px)scale(.97)}.modal-enter[data-v-f8c5fd6d]{opacity:1;transform:translateY(0)scale(1)}.modal-leave[data-v-f8c5fd6d]{opacity:0;transform:translateY(12px)scale(.98)}.modal-close[data-v-f8c5fd6d]{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.modal-close[data-v-f8c5fd6d]:hover{color:var(--color-text);background:var(--color-surface-raised)}.modal-header[data-v-f8c5fd6d]{justify-content:space-between;align-items:center;padding-right:40px;display:flex}.modal-year[data-v-f8c5fd6d]{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.modal-title[data-v-f8c5fd6d]{font-family:var(--font-display);letter-spacing:-.04em;color:var(--color-text);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;line-height:1.15}.modal-desc[data-v-f8c5fd6d]{font-family:var(--font-sans);color:var(--color-text-secondary);font-size:.975rem;font-weight:400;line-height:1.8}.modal-meta[data-v-f8c5fd6d]{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);flex-direction:column;gap:16px;padding:20px 0;display:flex}.meta-group[data-v-f8c5fd6d]{flex-direction:column;gap:6px;display:flex}.meta-label[data-v-f8c5fd6d]{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-size:.7rem;font-weight:600}.modal-tech[data-v-f8c5fd6d]{flex-wrap:wrap;gap:6px;display:flex}.tech-badge[data-v-f8c5fd6d]{font-family:var(--font-sans);color:var(--color-text-secondary);background:var(--color-surface-raised);border-radius:var(--radius-sm);padding:4px 10px;font-size:.75rem;font-weight:500}.modal-use-cases[data-v-f8c5fd6d]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.modal-use-case[data-v-f8c5fd6d]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.modal-use-case-content[data-v-f8c5fd6d]{flex-direction:column;gap:3px;min-width:0;display:flex}.modal-use-case-header[data-v-f8c5fd6d]{align-items:center;gap:8px;display:flex}.modal-use-case-title[data-v-f8c5fd6d]{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.01em;font-size:.82rem;font-weight:600}.modal-use-case-year[data-v-f8c5fd6d]{font-family:var(--font-display);color:var(--color-text-muted);letter-spacing:.04em;font-size:.65rem;font-weight:500}.modal-use-case-desc[data-v-f8c5fd6d]{font-family:var(--font-sans);color:var(--color-text-muted);font-size:.76rem;line-height:1.55}.modal-use-case-metric[data-v-f8c5fd6d]{font-family:var(--font-display);color:var(--color-accent);background:var(--color-accent-dim);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;align-self:center;padding:4px 12px;font-size:.72rem;font-weight:600}.status-badge[data-v-f8c5fd6d]{width:fit-content;font-family:var(--font-sans);border-radius:var(--radius-sm);padding:3px 10px;font-size:.72rem;font-weight:500;display:inline-block}.status-live[data-v-f8c5fd6d]{color:#4ade80;background:#4ade8014}.status-beta[data-v-f8c5fd6d]{color:#fbbf24;background:#fbbf2414}.status-in-progress[data-v-f8c5fd6d]{color:#a78bfa;background:#a78bfa14}.status-archived[data-v-f8c5fd6d]{color:var(--color-text-muted);background:#73737314}.status-enterprise[data-v-f8c5fd6d]{color:#f59e0b;background:#f59e0b14}.status-published[data-v-f8c5fd6d]{color:#2dd4bf;background:#2dd4bf14}.modal-footer[data-v-f8c5fd6d]{justify-content:flex-end;padding-top:8px;display:flex}@media (width<=480px){.modal-panel[data-v-f8c5fd6d]{gap:14px;padding:24px 20px}.modal-header[data-v-f8c5fd6d]{padding-right:36px}.modal-close[data-v-f8c5fd6d]{top:12px;right:12px}}
