.hero:where(.astro-yjitjrjk){background:radial-gradient(1200px 460px at 80% -20%, var(--brand) 0%, var(--navy) 58%, var(--navy-deep) 100%);color:var(--white)}.hero-inner:where(.astro-yjitjrjk){max-width:var(--container-max);padding:var(--space-9) var(--container-pad) var(--space-8);gap:var(--space-8);grid-template-columns:1.1fr .9fr;align-items:center;margin-inline:auto;display:grid}.hero-copy:where(.astro-yjitjrjk){max-width:60ch}.eyebrow:where(.astro-yjitjrjk){color:var(--color-accent);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--text-small);margin-bottom:var(--space-4)}.hero-pill:where(.astro-yjitjrjk){border-radius:var(--radius-pill);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--white);background:#ffffff1f;border:1px solid #ffffff38;align-items:center;gap:.55rem;padding:.5rem 1rem;display:inline-flex}.badge-dot:where(.astro-yjitjrjk){border-radius:var(--radius-pill);background:var(--brand-tint);width:7px;height:7px;box-shadow:0 0 0 3px #5b86ff40}.hero:where(.astro-yjitjrjk) h1:where(.astro-yjitjrjk){color:var(--white);font-size:var(--text-display);line-height:var(--leading-tight);max-width:20ch;margin-top:var(--space-4);margin-bottom:var(--space-5)}.hero-lead:where(.astro-yjitjrjk){color:#ffffffd1;font-size:var(--text-lead);max-width:54ch;margin-bottom:var(--space-6)}.hero-cta:where(.astro-yjitjrjk){gap:var(--space-3);flex-wrap:wrap;display:flex}.hero-cta:where(.astro-yjitjrjk) .btn-ghost{color:var(--white);border-color:#ffffff80}.hero-cta:where(.astro-yjitjrjk) .btn-ghost:hover{border-color:var(--white);color:var(--white);background:#ffffff1f}.hero-stats:where(.astro-yjitjrjk){gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.hero-stat:where(.astro-yjitjrjk){gap:var(--space-2);min-width:0;padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#ffffff14;border:1px solid #ffffff29;flex-direction:column;display:flex}.hero-stat:where(.astro-yjitjrjk):nth-child(n+5){display:none}.hero-stat-metric:where(.astro-yjitjrjk){font-size:var(--text-h1);font-weight:var(--weight-bold);white-space:nowrap;color:var(--white);font-variant-numeric:tabular-nums;line-height:1}.hero-stat-label:where(.astro-yjitjrjk){color:#ffffffb8;font-size:var(--text-sm)}.library-head:where(.astro-yjitjrjk){margin-bottom:var(--space-6)}.library-head:where(.astro-yjitjrjk) .eyebrow:where(.astro-yjitjrjk){margin-bottom:var(--space-3)}.library-head:where(.astro-yjitjrjk) h2:where(.astro-yjitjrjk){font-size:var(--text-h2);max-width:24ch}.filter-bar:where(.astro-yjitjrjk){top:calc(var(--header-height) + var(--space-2));z-index:5;gap:var(--space-3);padding-block:var(--space-3);margin-bottom:var(--space-4);background:var(--color-bg);flex-wrap:wrap;display:flex;position:sticky}.filter-pill:where(.astro-yjitjrjk){align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.filter-pill:where(.astro-yjitjrjk):hover{color:var(--color-text);border-color:var(--color-accent)}.filter-pill:where(.astro-yjitjrjk).is-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent,#fff)}.filter-count:where(.astro-yjitjrjk){font-variant-numeric:tabular-nums;font-size:var(--text-small);opacity:.75}.filter-status:where(.astro-yjitjrjk){color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.proj-grid:where(.astro-yjitjrjk){gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.proj-card:where(.astro-yjitjrjk)[hidden]{display:none}.proj-card:where(.astro-yjitjrjk){border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);box-shadow:var(--shadow-sm);color:var(--color-text);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.proj-card:where(.astro-yjitjrjk):hover{box-shadow:var(--shadow-lg);border-color:var(--color-border-strong);text-decoration:none;transform:translateY(-3px)}.proj-media:where(.astro-yjitjrjk){aspect-ratio:16/9;background:linear-gradient(135deg, var(--color-accent-soft), transparent), var(--color-surface-sunken);border-bottom:1px solid var(--color-border);margin:0;position:relative;overflow:hidden}.proj-media:where(.astro-yjitjrjk) .proj-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.proj-media-metric:where(.astro-yjitjrjk){justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-5);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.proj-media-metric-num:where(.astro-yjitjrjk){font-size:var(--text-display);font-weight:var(--weight-bold);color:var(--color-accent);font-variant-numeric:tabular-nums;line-height:1}.proj-media-metric-label:where(.astro-yjitjrjk){font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}.proj-tag:where(.astro-yjitjrjk){top:var(--space-3);left:var(--space-3);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-bg);color:var(--color-text);font-size:var(--text-small);font-weight:var(--weight-semibold);box-shadow:var(--shadow-sm);position:absolute}.proj-body:where(.astro-yjitjrjk){padding:var(--space-6);flex-direction:column;flex:1;display:flex}.proj-metric:where(.astro-yjitjrjk){align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.proj-metric-num:where(.astro-yjitjrjk){font-size:var(--text-h1);font-weight:var(--weight-bold);color:var(--color-accent);font-variant-numeric:tabular-nums;line-height:1}.proj-metric-label:where(.astro-yjitjrjk){font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.proj-body:where(.astro-yjitjrjk) h3:where(.astro-yjitjrjk){font-size:var(--text-h3);margin-bottom:var(--space-2)}.proj-customer:where(.astro-yjitjrjk){color:var(--color-text-muted);font-size:var(--text-sm)}.proj-more:where(.astro-yjitjrjk){margin-top:var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent)}.cta-band:where(.astro-yjitjrjk){background:radial-gradient(900px 400px at 50% -40%, var(--color-accent-soft), transparent 70%), var(--color-bg-subtle);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.cta-inner{text-align:center;max-width:720px;padding-block:var(--space-9)}.cta-band:where(.astro-yjitjrjk) h2:where(.astro-yjitjrjk){font-size:var(--text-h1);margin-bottom:var(--space-4)}.cta-band:where(.astro-yjitjrjk) p:where(.astro-yjitjrjk){color:var(--color-text-muted);font-size:var(--text-lead);max-width:52ch;margin:0 auto var(--space-6)}.cta-actions:where(.astro-yjitjrjk){gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}@media (width<=980px){.hero-inner:where(.astro-yjitjrjk){gap:var(--space-7);padding-block:var(--space-8) var(--space-7);grid-template-columns:1fr}.proj-grid:where(.astro-yjitjrjk){grid-template-columns:repeat(2,1fr)}}@media (width<=720px){.proj-grid:where(.astro-yjitjrjk){grid-template-columns:1fr}}
