@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Inter+Tight:wght@500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";.theme-toggle[data-v-69ec6270]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);color:var(--text);background:transparent;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.theme-toggle[data-v-69ec6270]:hover,.theme-toggle[data-v-69ec6270]:focus-visible{background:var(--surface);border-color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 8%,transparent)}.theme-toggle[data-v-69ec6270]:active{transform:scale(.94)}.swap-enter-active[data-v-69ec6270],.swap-leave-active[data-v-69ec6270]{transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.swap-enter-from[data-v-69ec6270]{opacity:0;transform:rotate(-30deg) scale(.8)}.swap-leave-to[data-v-69ec6270]{opacity:0;transform:rotate(30deg) scale(.8)}.site-header[data-v-e00ca0ed]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transform:translateY(0);opacity:1;margin-bottom:0;transition:border-color var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),transform .36s cubic-bezier(.22,1,.36,1),opacity .28s cubic-bezier(.22,1,.36,1),margin-bottom .36s cubic-bezier(.22,1,.36,1)}.site-header.scrolled[data-v-e00ca0ed]{border-bottom-color:var(--border)}.site-header.hidden[data-v-e00ca0ed]{transform:translateY(-100%);opacity:0;pointer-events:none;margin-bottom:-72px}@media(prefers-reduced-motion:reduce){.site-header[data-v-e00ca0ed]{transition:none}}.bar[data-v-e00ca0ed]{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--space-6)}.brand[data-v-e00ca0ed]{display:inline-flex;align-items:center}.brand-logo[data-v-e00ca0ed]{height:46px;width:auto;display:block;transition:opacity var(--dur-fast) var(--ease-out)}.brand:hover .brand-logo[data-v-e00ca0ed]{opacity:.78}.brand-logo-dark[data-v-e00ca0ed]{display:none}:root[data-theme=dark] .brand-logo-light[data-v-e00ca0ed]{display:none}:root[data-theme=dark] .brand-logo-dark[data-v-e00ca0ed]{display:block}.nav-desktop[data-v-e00ca0ed]{display:none;gap:var(--space-5)}.nav-link[data-v-e00ca0ed]{font-size:.9rem;color:var(--muted);position:relative;padding-block:var(--space-2)}.nav-link[data-v-e00ca0ed]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}.nav-link[data-v-e00ca0ed]:hover,.nav-link.active[data-v-e00ca0ed]{color:var(--text)}.nav-link[data-v-e00ca0ed]:hover:after,.nav-link.active[data-v-e00ca0ed]:after{transform:scaleX(1)}.actions[data-v-e00ca0ed]{display:inline-flex;align-items:center;gap:var(--space-2)}.cv-link[data-v-e00ca0ed]{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.82rem;font-weight:500;letter-spacing:-.005em;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.cv-link[data-v-e00ca0ed]:hover,.cv-link[data-v-e00ca0ed]:focus-visible{border-color:var(--text);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--text) 8%,transparent)}.cv-link.active[data-v-e00ca0ed]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.cv-link.active[data-v-e00ca0ed]:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--accent-ink)}@media(max-width:720px){.cv-link span[data-v-e00ca0ed]{display:none}.cv-link[data-v-e00ca0ed]{padding:8px}}.menu-btn[data-v-e00ca0ed]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--border);color:var(--text)}.menu-btn[data-v-e00ca0ed]:hover{border-color:var(--text)}.mobile-sheet[data-v-e00ca0ed]{display:flex;flex-direction:column;padding:var(--space-2) clamp(var(--space-4),4vw,var(--space-12)) var(--space-6);border-top:1px solid var(--border);background:var(--bg)}.mobile-link[data-v-e00ca0ed]{display:grid;grid-template-columns:36px 1fr;align-items:baseline;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border);color:var(--text);transition:color var(--dur-fast) var(--ease-out)}.mobile-link[data-v-e00ca0ed]:hover,.mobile-link.active[data-v-e00ca0ed]{color:var(--accent)}.m-num[data-v-e00ca0ed]{font-size:.78rem;color:var(--muted)}.m-label[data-v-e00ca0ed]{font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-.01em}.sheet-enter-active[data-v-e00ca0ed],.sheet-leave-active[data-v-e00ca0ed]{transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);overflow:hidden}.sheet-enter-from[data-v-e00ca0ed],.sheet-leave-to[data-v-e00ca0ed]{opacity:0;transform:translateY(-8px)}@media(min-width:1200px){.nav-desktop[data-v-e00ca0ed]{display:inline-flex}.menu-btn[data-v-e00ca0ed]{display:none}}.site-footer[data-v-174f29a9]{border-top:1px solid var(--border);margin-top:var(--space-16);padding-block:var(--space-16) var(--space-8);background:var(--bg)}.ft-grid[data-v-174f29a9]{display:grid;grid-template-columns:1fr;gap:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--border)}@media(min-width:720px){.ft-grid[data-v-174f29a9]{grid-template-columns:1.5fr 1fr 1fr;gap:var(--space-16)}}.ft-brand[data-v-174f29a9]{display:flex;flex-direction:column;gap:var(--space-5);max-width:38ch}.ft-logo[data-v-174f29a9]{display:inline-flex;align-items:baseline;gap:var(--space-2)}.ft-name[data-v-174f29a9]{position:relative;font-family:var(--font-display);font-weight:700;font-size:clamp(1.625rem,3vw,2.125rem);line-height:1.05;letter-spacing:-.03em;color:var(--text);transition:color var(--dur-fast) var(--ease-out)}.ft-name[data-v-174f29a9]:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform var(--dur-base) var(--ease-out)}.ft-logo:hover .ft-name[data-v-174f29a9]{color:var(--accent)}.ft-logo:hover .ft-name[data-v-174f29a9]:after{transform:scaleX(1)}.ft-tagline[data-v-174f29a9]{font-size:.78rem;letter-spacing:.04em;color:var(--muted);line-height:1.65}.ft-status[data-v-174f29a9]{display:flex;flex-direction:column;gap:var(--space-2);font-size:.85rem;line-height:1.5}.ft-status li[data-v-174f29a9]{display:inline-flex;align-items:center;gap:var(--space-2)}.status-dot[data-v-174f29a9]{width:8px;height:8px;border-radius:50%;background:var(--status-green)}.ft-col[data-v-174f29a9]{display:flex;flex-direction:column;gap:var(--space-4)}.ft-eyebrow[data-v-174f29a9]{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ft-col ul[data-v-174f29a9]{display:flex;flex-direction:column;gap:var(--space-2)}.ft-col li a[data-v-174f29a9],.ft-col li[data-v-174f29a9] a{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--text);padding:4px 0;transition:color var(--dur-fast) var(--ease-out)}.ft-col li a[data-v-174f29a9]:hover{color:var(--accent)}.ft-num[data-v-174f29a9]{font-size:.72rem;color:var(--muted);min-width:18px}.ext-arrow[data-v-174f29a9]{color:var(--muted);margin-left:auto}.ft-bottom[data-v-174f29a9]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding-top:var(--space-6);font-size:.78rem;color:var(--muted)}.ft-domain a[data-v-174f29a9]{color:var(--muted);border-bottom:1px solid transparent;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.ft-domain a[data-v-174f29a9]:hover{color:var(--accent);border-bottom-color:currentColor}.modal-root[data-v-4572c089]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.scrim[data-v-4572c089]{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:0;padding:0;cursor:pointer}.modal[data-v-4572c089]{position:relative;width:min(420px,100%);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 24px 60px -20px color-mix(in srgb,var(--text) 28%,transparent),0 2px 8px -2px color-mix(in srgb,var(--text) 16%,transparent)}:root[data-theme=dark] .modal[data-v-4572c089]{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 24px 60px -16px #0000007f}.modal-head[data-v-4572c089]{display:flex;align-items:center;gap:var(--space-3)}.modal-icon[data-v-4572c089]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);color:var(--muted);flex-shrink:0}.modal-icon.warn[data-v-4572c089]{color:var(--accent-3);border-color:color-mix(in srgb,var(--accent-3) 40%,transparent);background:color-mix(in srgb,var(--accent-3) 8%,transparent)}.modal-title[data-v-4572c089]{flex:1;font-family:var(--font-display);font-weight:600;font-size:1.125rem;letter-spacing:-.015em}.modal-close[data-v-4572c089]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;background:var(--bg);color:var(--muted);cursor:pointer}.modal-close[data-v-4572c089]:hover{color:var(--text);border-color:var(--text)}.modal-body[data-v-4572c089]{font-size:.95rem;line-height:1.55;color:var(--text)}.modal-foot[data-v-4572c089]{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap}.btn[data-v-4572c089]{display:inline-flex;align-items:center;padding:9px 18px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn.ghost[data-v-4572c089]:hover{border-color:var(--text);background:var(--surface)}.btn.primary[data-v-4572c089]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary[data-v-4572c089]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger[data-v-4572c089]{background:var(--accent-3);border-color:var(--accent-3);color:var(--accent-3-ink)}.btn.danger[data-v-4572c089]:hover{background:var(--accent-3-hover);border-color:var(--accent-3-hover)}.modal-enter-active[data-v-4572c089],.modal-leave-active[data-v-4572c089]{transition:opacity .2s cubic-bezier(.22,1,.36,1)}.modal-enter-active .modal[data-v-4572c089],.modal-leave-active .modal[data-v-4572c089]{transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .22s cubic-bezier(.22,1,.36,1)}.modal-enter-from[data-v-4572c089],.modal-leave-to[data-v-4572c089]{opacity:0}.modal-enter-from .modal[data-v-4572c089],.modal-leave-to .modal[data-v-4572c089]{transform:translateY(12px) scale(.98);opacity:0}.preview-banner[data-v-42cb51ac]{position:fixed;left:50%;bottom:var(--space-6);transform:translate(-50%);z-index:60;display:inline-flex;align-items:center;gap:var(--space-3);padding:10px 12px 10px 16px;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);box-shadow:0 16px 40px -14px color-mix(in srgb,var(--accent) 35%,transparent),0 2px 6px -2px color-mix(in srgb,var(--accent) 20%,transparent)}.dot[data-v-42cb51ac]{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px 1px color-mix(in srgb,var(--accent) 60%,transparent);animation:pulse-42cb51ac 2.4s ease-in-out infinite}@keyframes pulse-42cb51ac{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.dot[data-v-42cb51ac]{animation:none}}.icon[data-v-42cb51ac]{display:inline-flex;color:var(--accent)}.text[data-v-42cb51ac]{display:flex;flex-direction:column;line-height:1.15}.title[data-v-42cb51ac]{font-size:.78rem;color:var(--text);font-weight:600}.sub[data-v-42cb51ac]{font-size:.68rem;letter-spacing:.04em}.btn[data-v-42cb51ac]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:999px;font-family:var(--font-sans);font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn.ghost[data-v-42cb51ac]{background:var(--bg);color:var(--text)}.btn.ghost[data-v-42cb51ac]:hover{border-color:var(--accent);color:var(--accent)}.btn.solid[data-v-42cb51ac]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.solid[data-v-42cb51ac]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}@media(max-width:640px){.preview-banner[data-v-42cb51ac]{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);transform:none;flex-wrap:wrap;justify-content:center}.text[data-v-42cb51ac]{flex:1;min-width:0}}.banner-enter-active[data-v-42cb51ac],.banner-leave-active[data-v-42cb51ac]{transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}.banner-enter-from[data-v-42cb51ac],.banner-leave-to[data-v-42cb51ac]{opacity:0;transform:translate(-50%,12px)}@media(max-width:640px){.banner-enter-from[data-v-42cb51ac],.banner-leave-to[data-v-42cb51ac]{transform:translateY(12px)}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}#app{isolation:isolate;min-height:100%;display:flex;flex-direction:column}main{flex:1}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--content-max: 1240px;--reading-max: 68ch;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 18px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Inter Tight", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease-out: cubic-bezier(.2, .8, .2, 1);--dur-fast: .16s;--dur-base: .24s;--dur-slow: .42s;--dur-reveal: .62s}:root,:root[data-theme=light]{--bg: #ffffff;--surface: #f5f7fb;--surface-2: #eceff7;--text: #0b1220;--muted: #5a6377;--border: #e2e6ef;--shadow-color: 11 18 32;--accent: #2c5bff;--accent-hover: #1c40c2;--accent-ink: #ffffff;--accent-2: #c6f432;--accent-2-hover: #a8d420;--accent-2-ink: #0b1220;--accent-3: #ff3da0;--accent-3-hover: #d8267f;--accent-3-ink: #ffffff;--status-green: #16a34a;color-scheme:light}:root[data-theme=dark]{--bg: #0e0f12;--surface: #16181d;--surface-2: #1c1f26;--text: #ececec;--muted: #8a8f99;--border: #23262d;--shadow-color: 0 0 0;--accent: #4d78ff;--accent-hover: #7a98ff;--accent-ink: #ffffff;--accent-2: #4d78ff;--accent-2-hover: #7a98ff;--accent-2-ink: #ffffff;--accent-3: #4d78ff;--accent-3-hover: #7a98ff;--accent-3-ink: #ffffff;--status-green: #4ade80;color-scheme:dark}html{font-family:var(--font-sans);font-size:16px;line-height:1.65;color:var(--text);background:var(--bg)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--text)}h1{font-size:clamp(2.5rem,6vw,4.75rem);letter-spacing:-.035em}h2{font-size:clamp(1.875rem,3.5vw,2.75rem);letter-spacing:-.025em}h3{font-size:clamp(1.25rem,2vw,1.5rem);letter-spacing:-.015em}h4{font-size:1.125rem}p{color:var(--text)}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-size:.85em;letter-spacing:0}a{transition:color var(--dur-fast) var(--ease-out)}body{background:var(--bg);color:var(--text);transition:background-color var(--dur-slow) var(--ease-out),color var(--dur-slow) var(--ease-out)}::selection{background:var(--accent);color:var(--accent-ink)}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-12))}.section{padding-block:clamp(var(--space-16),10vw,var(--space-24))}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.eyebrow:before{content:"";display:inline-block;width:24px;height:1px;background:currentColor}html{scroll-behavior:smooth;scroll-padding-top:96px}.page-enter-active,.page-leave-active{transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.reveal h2,.reveal .mask-headline{clip-path:inset(0 0 100% 0);transform:translateY(12px);transition:clip-path .48s 40ms cubic-bezier(.22,1,.36,1),transform .48s 40ms cubic-bezier(.22,1,.36,1)}.reveal.is-revealed h2,.reveal.is-revealed .mask-headline{clip-path:inset(0 0 0% 0);transform:translateY(0)}.reveal .eyebrow:before{transform-origin:left;transform:scaleX(0);transition:transform .28s .12s cubic-bezier(.22,1,.36,1)}.reveal.is-revealed .eyebrow:before{transform:scaleX(1)}.home-card,.role-detail,.proj,.tile,.project-card,.dg-project,.card,.more-card{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.home-card:hover,.role-detail:hover,.proj:hover,.tile:hover,.project-card:hover,.dg-project:hover,.card:hover,.more-card:hover{box-shadow:0 14px 38px -14px color-mix(in srgb,var(--accent) 28%,transparent),0 2px 6px -2px color-mix(in srgb,var(--accent) 16%,transparent)}:root[data-theme=dark] .home-card:hover,:root[data-theme=dark] .role-detail:hover,:root[data-theme=dark] .proj:hover,:root[data-theme=dark] .tile:hover,:root[data-theme=dark] .project-card:hover,:root[data-theme=dark] .dg-project:hover,:root[data-theme=dark] .card:hover,:root[data-theme=dark] .more-card:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 18px 44px -16px color-mix(in srgb,var(--accent) 36%,transparent)}.proj-row:hover>*:not(:hover),.outcome-grid:hover>*:not(:hover),.grid-3:hover>*:not(:hover),.path-list:hover>*:not(:hover){opacity:.55;transition:opacity .18s var(--ease-out)}.proj-row>*,.outcome-grid>*,.grid-3>*,.path-list>*{transition:opacity .18s var(--ease-out)}.path-dot.current,.dot-pulse{position:relative;animation:dot-pulse 2.6s ease-in-out infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 0%,transparent)}}.dot-pulse-green{position:relative;animation:dot-pulse-green 2.6s ease-in-out infinite}@keyframes dot-pulse-green{0%,to{box-shadow:0 0 color-mix(in srgb,var(--status-green) 55%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--status-green) 0%,transparent)}}.nav-link.active:after{transform-origin:center}.reveal .pj-bullets li:before,.reveal .project-bullets li:before{transform-origin:left;transform:scaleX(0);transition:transform .32s calc(.22s + (var(--bullet-i, 0) * 40ms)) cubic-bezier(.22,1,.36,1)}.reveal.is-revealed .pj-bullets li:before,.reveal.is-revealed .project-bullets li:before{transform:scaleX(1)}
