.projects[data-astro-cid-yjitjrjk]{padding-top:calc(var(--header-h) + clamp(32px, 6vh, 64px));padding-bottom:96px}.projects-head[data-astro-cid-yjitjrjk]{max-width:820px}.projects-head[data-astro-cid-yjitjrjk] h1[data-astro-cid-yjitjrjk]{text-wrap:balance;margin-top:14px;font-size:clamp(2.2rem,5vw,3.5rem)}.projects-intro[data-astro-cid-yjitjrjk]{max-width:62ch;color:var(--text-muted);margin-top:18px;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.7}.filters[data-astro-cid-yjitjrjk]{flex-wrap:wrap;gap:8px;margin-top:clamp(32px,5vh,48px);display:flex}.filters[data-astro-cid-yjitjrjk][hidden]{display:none}.filters[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk]{border:1px solid var(--line-strong);font-family:var(--font-display);color:var(--text-muted);cursor:pointer;background:#0d0a1699;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:.86rem;font-weight:600;line-height:1.4;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.filters[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk] span[data-astro-cid-yjitjrjk]{color:var(--text-faint);font-size:.76rem;font-weight:500;transition:color .2s}.filters[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk]:hover{border-color:var(--purple-400);color:var(--text)}.filters[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk][aria-pressed=true]{border-color:var(--purple-500);background:var(--purple-500);color:#fff}.filters[data-astro-cid-yjitjrjk] button[data-astro-cid-yjitjrjk][aria-pressed=true] span[data-astro-cid-yjitjrjk]{color:#fffc}.project-list[data-astro-cid-yjitjrjk]{counter-reset:project;margin:clamp(20px,3vh,28px) 0 0;padding:0;list-style:none}.project[data-astro-cid-yjitjrjk]{counter-increment:project;border-top:1px solid var(--line);grid-template:"head panel""body panel"1fr/minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(32px,5vw,56px);padding:clamp(36px,6vh,52px) 0;display:grid}.project[data-astro-cid-yjitjrjk][hidden]{display:none}.project-head[data-astro-cid-yjitjrjk]{grid-area:head}.project-panel[data-astro-cid-yjitjrjk]{grid-area:panel}.project-body[data-astro-cid-yjitjrjk]{grid-area:body}.project-meta[data-astro-cid-yjitjrjk]{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--purple-400);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:.78rem;font-weight:600;display:flex}.project-num[data-astro-cid-yjitjrjk]{color:var(--text-faint)}.project-num[data-astro-cid-yjitjrjk]:before{content:counter(project, decimal-leading-zero)}.project-num[data-astro-cid-yjitjrjk]:after{content:"";vertical-align:middle;background:var(--line-strong);width:28px;height:1px;margin-left:12px;display:inline-block}.project[data-astro-cid-yjitjrjk] h2[data-astro-cid-yjitjrjk]{text-wrap:balance;margin-top:12px;font-size:clamp(1.5rem,2.6vw,1.95rem);line-height:1.15}.project[data-astro-cid-yjitjrjk] h2[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]{text-decoration:none;transition:color .2s}.project[data-astro-cid-yjitjrjk] h2[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]:hover{color:var(--purple-300)}.project-tagline[data-astro-cid-yjitjrjk]{font-family:var(--font-display);color:var(--text-muted);margin-top:8px;font-size:1rem;font-weight:500;line-height:1.4}.project-head[data-astro-cid-yjitjrjk] .badges{margin-top:16px}.project-summary[data-astro-cid-yjitjrjk]{color:var(--text-soft);margin-top:18px;font-size:.98rem;line-height:1.7}.project-stack[data-astro-cid-yjitjrjk]{font-family:var(--font-display);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:14px;font-size:.84rem;font-weight:500;line-height:1.6;display:flex}.stack-label[data-astro-cid-yjitjrjk]{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-right:4px;font-size:.7rem;font-weight:600}.project-stack[data-astro-cid-yjitjrjk] i[data-astro-cid-yjitjrjk]{color:var(--purple-400);margin-left:8px;font-style:normal}.links[data-astro-cid-yjitjrjk]{flex-wrap:wrap;gap:8px 24px;margin-top:18px;display:flex}.links[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk],.closing[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]{font-family:var(--font-display);color:var(--purple-300);font-size:.92rem;font-weight:600;text-decoration:none;transition:color .2s}.links[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]:hover,.closing[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]:hover{color:var(--text)}.links[data-astro-cid-yjitjrjk] .link-quiet[data-astro-cid-yjitjrjk]{color:var(--text-muted)}.project[data-astro-cid-yjitjrjk]:hover .shot[data-astro-cid-yjitjrjk],.project[data-astro-cid-yjitjrjk]:hover .stats[data-astro-cid-yjitjrjk]{border-color:var(--purple-400)}.project[data-astro-cid-yjitjrjk]:hover .shot[data-astro-cid-yjitjrjk]{box-shadow:0 24px 60px -30px var(--glow);transform:translateY(-3px)}.stats[data-astro-cid-yjitjrjk]{margin:0;padding:0;list-style:none}.stats[data-astro-cid-yjitjrjk] b[data-astro-cid-yjitjrjk]{font-family:var(--font-display);white-space:nowrap;background:var(--brand-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;line-height:1.15}.stats[data-astro-cid-yjitjrjk] span[data-astro-cid-yjitjrjk]{color:var(--text-muted);line-height:1.45}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk]{border:1px solid var(--line-strong);border-radius:var(--radius);background:#0d0a1699;transition:border-color .25s;position:relative;overflow:hidden}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk]:before{content:"";background:var(--brand-gradient);width:3px;position:absolute;inset:0 auto 0 0}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]{grid-template-columns:8.6rem minmax(0,1fr);align-items:center;column-gap:16px;padding:20px 22px 20px 25px;display:grid}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]+li[data-astro-cid-yjitjrjk]{border-top:1px solid var(--line)}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk] b[data-astro-cid-yjitjrjk]{font-size:1.7rem}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk] span[data-astro-cid-yjitjrjk]{font-size:.88rem}.has-shot[data-astro-cid-yjitjrjk] .stats[data-astro-cid-yjitjrjk]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:18px;display:grid}.has-shot[data-astro-cid-yjitjrjk] .stats[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]{flex-direction:column;gap:2px;display:flex}.has-shot[data-astro-cid-yjitjrjk] .stats[data-astro-cid-yjitjrjk] b[data-astro-cid-yjitjrjk]{font-size:1.35rem}.has-shot[data-astro-cid-yjitjrjk] .stats[data-astro-cid-yjitjrjk] span[data-astro-cid-yjitjrjk]{font-size:.82rem}.block[data-astro-cid-yjitjrjk]{border-top:1px solid var(--line);margin-top:0;padding-top:clamp(32px,5vh,48px)}.block-heading[data-astro-cid-yjitjrjk]{letter-spacing:.2em;text-transform:uppercase;color:var(--purple-300);align-items:center;gap:14px;font-size:.9rem;font-weight:600;display:flex}.block-heading[data-astro-cid-yjitjrjk]:before{content:"";background:var(--brand-gradient);width:36px;height:2px;box-shadow:0 0 10px var(--glow);border-radius:2px;flex:none}.block-intro[data-astro-cid-yjitjrjk]{max-width:640px;color:var(--text-muted);margin-top:12px}.automations[data-astro-cid-yjitjrjk]{margin:24px 0 0;padding:0;list-style:none}.automations[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);align-items:baseline;column-gap:32px;padding:16px 0;display:grid}.automations[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]:last-child{border-bottom:1px solid var(--line)}.automations[data-astro-cid-yjitjrjk] h3[data-astro-cid-yjitjrjk]{font-size:1.02rem;line-height:1.35}.automations[data-astro-cid-yjitjrjk] p[data-astro-cid-yjitjrjk]{color:var(--text-muted);font-size:.92rem;line-height:1.6}.fun[data-astro-cid-yjitjrjk]{margin-top:clamp(56px,9vh,88px)}.fun-list[data-astro-cid-yjitjrjk]{gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid}.fun-card[data-astro-cid-yjitjrjk]{border:1px solid var(--line);border-radius:var(--radius);background:#0d0a1699;grid-template-columns:minmax(0,1fr);gap:20px clamp(24px,4vw,40px);padding:clamp(18px,3vw,24px);transition:border-color .25s;display:grid}.fun-card[data-astro-cid-yjitjrjk].has-shot{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center}.fun-card[data-astro-cid-yjitjrjk]:hover{border-color:var(--purple-400)}.fun-kicker[data-astro-cid-yjitjrjk]{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--purple-400);font-size:.74rem;font-weight:600}.fun-card[data-astro-cid-yjitjrjk] h3[data-astro-cid-yjitjrjk]{margin-top:8px;font-size:clamp(1.3rem,2.2vw,1.6rem);line-height:1.2}.fun-card[data-astro-cid-yjitjrjk] h3[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]{text-decoration:none;transition:color .2s}.fun-card[data-astro-cid-yjitjrjk] h3[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]:hover{color:var(--purple-300)}.fun-text[data-astro-cid-yjitjrjk] .badges{margin-top:14px}.fun-summary[data-astro-cid-yjitjrjk]{color:var(--text-soft);margin-top:14px;font-size:.94rem;line-height:1.65}.fun-card[data-astro-cid-yjitjrjk] .links[data-astro-cid-yjitjrjk]{margin-top:14px}.closing[data-astro-cid-yjitjrjk]{color:var(--text-muted);margin-top:clamp(56px,9vh,88px);font-size:1.05rem}.closing[data-astro-cid-yjitjrjk] a[data-astro-cid-yjitjrjk]{white-space:nowrap;margin-left:6px;font-size:1.05rem}@media (width<=860px){.project[data-astro-cid-yjitjrjk]{grid-template:"head""panel""body"/minmax(0,1fr)}.project-panel[data-astro-cid-yjitjrjk]{margin-top:22px}.project-summary[data-astro-cid-yjitjrjk]{margin-top:20px}}@media (width<=700px){.fun-card[data-astro-cid-yjitjrjk].has-shot{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.automations[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]{grid-template-columns:minmax(0,1fr);row-gap:4px}}@media (width<=420px){.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk] li[data-astro-cid-yjitjrjk]{grid-template-columns:6.6rem minmax(0,1fr);column-gap:12px;padding:16px 16px 16px 19px}.project[data-astro-cid-yjitjrjk]:not(.has-shot) .stats[data-astro-cid-yjitjrjk] b[data-astro-cid-yjitjrjk]{font-size:1.35rem}}
