.featured-project.svelte-17jkc80,.project-card.svelte-17jkc80{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--project-accent) 58%,transparent);border-radius:.125rem;background:linear-gradient(135deg,color-mix(in srgb,var(--project-accent) 8%,transparent),transparent 45%),#171512;font-family:JetBrains Mono Variable,monospace;color:#d423c6;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s ease,box-shadow .35s ease}.featured-project.svelte-17jkc80:before,.project-card.svelte-17jkc80:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--project-accent) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--project-accent) 5%,transparent) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(to bottom right,black,transparent 58%);mask-image:linear-gradient(to bottom right,black,transparent 58%)}.featured-project.svelte-17jkc80{display:grid;grid-template-rows:auto 1fr;min-width:0}.featured-project.svelte-17jkc80:hover,.project-card.svelte-17jkc80:hover{transform:translateY(-5px);border-color:var(--project-accent);box-shadow:0 24px 70px -38px color-mix(in srgb,var(--project-accent) 70%,transparent)}.featured-artwork-wrap.svelte-17jkc80{position:relative;z-index:1;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--project-accent) 42%,transparent);background:#080b13;perspective:1000px}.featured-artwork.svelte-17jkc80{display:block;width:100%;height:auto;aspect-ratio:1200 / 630;-o-object-fit:cover;object-fit:cover;transition:transform .45s cubic-bezier(.16,1,.3,1),filter .45s ease}.featured-project.svelte-17jkc80:hover .featured-artwork:where(.svelte-17jkc80){filter:saturate(1.08) contrast(1.03)}.featured-content.svelte-17jkc80{position:relative;z-index:1;display:flex;flex-direction:column;gap:1.4rem;padding:clamp(1.25rem,3vw,2rem)}.project-kicker.svelte-17jkc80{display:flex;align-items:center;gap:.7rem;color:var(--project-accent);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.project-index.svelte-17jkc80{opacity:.55}.featured-badge.svelte-17jkc80{margin-left:auto;border:1px solid color-mix(in srgb,var(--project-accent) 55%,transparent);border-radius:999px;padding:.32rem .6rem;background:color-mix(in srgb,var(--project-accent) 10%,transparent)}h3.svelte-17jkc80{color:var(--project-accent);font-size:clamp(1.45rem,3vw,2.25rem);font-weight:750;line-height:1.05}.project-description.svelte-17jkc80{margin-top:.8rem;color:color-mix(in srgb,var(--project-accent) 72%,white);font-size:.92rem;line-height:1.7}.feature-list.svelte-17jkc80{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1.1rem;color:color-mix(in srgb,var(--project-accent) 72%,white);font-size:.78rem}.feature-list.svelte-17jkc80 li:where(.svelte-17jkc80){display:flex;gap:.55rem;align-items:flex-start}.feature-list.svelte-17jkc80 span:where(.svelte-17jkc80){color:var(--project-accent)}.language-list.svelte-17jkc80{display:flex;flex-wrap:wrap;gap:.5rem}.language-chip.svelte-17jkc80{display:inline-flex;align-items:center;gap:.4rem;border:1px solid color-mix(in srgb,var(--project-accent) 30%,transparent);border-radius:999px;padding:.38rem .58rem;background:color-mix(in srgb,var(--project-accent) 6%,transparent);color:color-mix(in srgb,var(--project-accent) 68%,white);font-size:.68rem}.language-chip.svelte-17jkc80 i:where(.svelte-17jkc80){width:.38rem;height:.38rem;border-radius:50%;background:var(--project-accent);box-shadow:0 0 8px color-mix(in srgb,var(--project-accent) 75%,transparent)}.language-chip.svelte-17jkc80 small:where(.svelte-17jkc80){opacity:.55}.project-actions.svelte-17jkc80,.compact-actions.svelte-17jkc80{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto}.project-actions.svelte-17jkc80 a:where(.svelte-17jkc80),.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80){display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid var(--project-accent);padding:.72rem .95rem;color:var(--project-accent);font-size:.76rem;font-weight:650;transition:color .18s ease,background .18s ease,transform .18s ease}.project-actions.svelte-17jkc80 a:where(.svelte-17jkc80):hover,.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80):hover{transform:translateY(-2px)}.project-actions.svelte-17jkc80 a:where(.svelte-17jkc80):focus-visible,.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80):focus-visible{outline:2px solid white;outline-offset:3px}.project-actions.svelte-17jkc80 .primary-action:where(.svelte-17jkc80){background:var(--project-accent);color:#090b10}.project-actions.svelte-17jkc80 .primary-action:where(.svelte-17jkc80):hover{background:#fff;border-color:#fff}.project-actions.svelte-17jkc80 .secondary-action:where(.svelte-17jkc80):hover,.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80):hover{background:color-mix(in srgb,var(--project-accent) 13%,transparent);color:#fff}.project-card.svelte-17jkc80{z-index:1;display:flex;min-height:22rem;flex-direction:column;gap:1.25rem;padding:1.5rem}.project-card.svelte-17jkc80 h3:where(.svelte-17jkc80){font-size:1.3rem}.compact-copy.svelte-17jkc80{position:relative;z-index:1}.compact-languages.svelte-17jkc80,.compact-actions.svelte-17jkc80,.project-card.svelte-17jkc80 .project-kicker:where(.svelte-17jkc80){position:relative;z-index:1}.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80){flex:1;min-width:-moz-max-content;min-width:max-content;padding:.65rem .75rem}@media (max-width: 520px){.feature-list.svelte-17jkc80{grid-template-columns:1fr}.project-actions.svelte-17jkc80 a:where(.svelte-17jkc80){width:100%}}@media (prefers-reduced-motion: reduce){.featured-project.svelte-17jkc80,.project-card.svelte-17jkc80,.featured-artwork.svelte-17jkc80,.project-actions.svelte-17jkc80 a:where(.svelte-17jkc80),.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80){transition:none}.featured-project.svelte-17jkc80:hover,.project-card.svelte-17jkc80:hover,.project-actions.svelte-17jkc80 a:where(.svelte-17jkc80):hover,.compact-actions.svelte-17jkc80 a:where(.svelte-17jkc80):hover{transform:none}}.projects-page.svelte-lz7tya{--page-muted: color-mix(in srgb, #d423c6 62%, white);display:flex;flex-direction:column;gap:0;margin-top:2rem;font-family:JetBrains Mono Variable,monospace}.projects-intro.svelte-lz7tya{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2rem,3vw,3rem);border:1px solid #d423c6;border-radius:.125rem;padding:clamp(1.5rem,5vw,4rem);background:radial-gradient(circle at 8% 12%,rgba(212,35,198,.19),transparent 34%),linear-gradient(135deg,rgba(212,35,198,.05),transparent 50%)}.projects-intro.svelte-lz7tya h1:where(.svelte-lz7tya){max-width:10ch;color:#d423c6;font-size:clamp(3rem,8vw,7.5rem);font-weight:800;letter-spacing:-.075em;line-height:.88;text-shadow:0 0 55px rgba(212,35,198,.23)}.section-eyebrow.svelte-lz7tya{margin-bottom:1rem;color:#d423c6;font-size:.7rem;font-weight:650;letter-spacing:.2em;text-transform:uppercase}.intro-copy.svelte-lz7tya>p:where(.svelte-lz7tya),.section-heading.svelte-lz7tya>p:where(.svelte-lz7tya){color:var(--page-muted);line-height:1.75}.projects-section.svelte-lz7tya{display:flex;flex-direction:column;gap:1.75rem}.projects-section.svelte-lz7tya+.projects-section:where(.svelte-lz7tya){margin-top:clamp(4rem,8vw,7rem)}.section-heading.svelte-lz7tya{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);gap:2rem;align-items:end}.section-heading.svelte-lz7tya h2:where(.svelte-lz7tya){color:#d423c6;font-size:clamp(2rem,4vw,3.5rem);font-weight:750;letter-spacing:-.055em;line-height:1}.featured-grid.svelte-lz7tya{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.projects-grid.svelte-lz7tya{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}@media (max-width: 1050px){.projects-grid.svelte-lz7tya{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 860px){.projects-intro.svelte-lz7tya,.section-heading.svelte-lz7tya,.featured-grid.svelte-lz7tya{grid-template-columns:1fr}.section-heading.svelte-lz7tya>p:where(.svelte-lz7tya){max-width:46rem}}@media (max-width: 620px){.projects-grid.svelte-lz7tya{grid-template-columns:1fr}.projects-intro.svelte-lz7tya{padding:1.25rem}}
