.projects-page[data-astro-cid-arbd3op2]{position:relative;overflow:hidden;min-height:100vh;padding:12rem 0 6rem;background:light-dark(radial-gradient(circle at bottom left,#e0f2fe,#ddd6fe,#fce7f3),radial-gradient(circle at bottom left,#0c4a6e,#3730a3,#831843))}.projects-background[data-astro-cid-arbd3op2]{pointer-events:none;position:absolute;z-index:0;top:0;left:0;overflow:hidden;width:100%;height:100%}.floating-blob[data-astro-cid-arbd3op2]{position:absolute;width:40rem;height:40rem;border-radius:50%;opacity:.14;filter:blur(115px);animation:blobFloat 22s ease-in-out infinite}.blob-1[data-astro-cid-arbd3op2]{top:-8%;left:-12%;background:linear-gradient(135deg,#a855f7,#ec4899);animation-delay:0s}.blob-2[data-astro-cid-arbd3op2]{top:45%;right:-10%;background:linear-gradient(135deg,#06b6d4,#8b5cf6);animation-delay:7s}.blob-3[data-astro-cid-arbd3op2]{bottom:-15%;left:35%;background:linear-gradient(135deg,#f43f5e,#a855f7);animation-delay:14s}.gradient-orb[data-astro-cid-arbd3op2]{position:absolute;border-radius:50%;opacity:.2;filter:blur(75px);animation:orbPulse 16s ease-in-out infinite}.orb-1[data-astro-cid-arbd3op2]{top:15%;right:15%;width:22rem;height:22rem;background:radial-gradient(circle,#06b6d4,transparent)}.orb-2[data-astro-cid-arbd3op2]{bottom:20%;left:10%;width:28rem;height:28rem;background:radial-gradient(circle,#a855f7,transparent)}.projects-container[data-astro-cid-arbd3op2]{position:relative;z-index:1;width:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem}.projects-hero[data-astro-cid-arbd3op2]{margin-bottom:5rem;text-align:center;opacity:0;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.hero-badge[data-astro-cid-arbd3op2]{display:inline-flex;gap:.5rem;align-items:center;margin-bottom:1.5rem;padding:.6rem 1.2rem;border:1px solid light-dark(rgb(168 85 247 / 20%),rgb(168 85 247 / 30%));border-radius:2rem;font-size:.9rem;font-weight:600;color:light-dark(#8b5cf6,#a78bfa);background:light-dark(rgb(168 85 247 / 10%),rgb(168 85 247 / 15%));backdrop-filter:blur(10px);animation:badgeGlow 3s ease-in-out infinite}.hero-badge[data-astro-cid-arbd3op2] svg[data-astro-cid-arbd3op2]{width:18px;height:18px;color:light-dark(#8b5cf6,#a78bfa)}.page-title[data-astro-cid-arbd3op2]{margin-bottom:1.5rem;font-family:Poppins,sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;color:light-dark(#1e1b4b,#f8fafc)}.page-title__span[data-astro-cid-arbd3op2]{background:linear-gradient(135deg,#a855f7,#06b6d4,#ec4899);background-clip:text;background-size:200% 200%;animation:gradientShift 8s ease infinite;-webkit-text-fill-color:transparent}.page-subtitle[data-astro-cid-arbd3op2]{max-width:850px;margin:0 auto;font-size:clamp(1.1rem,2vw,1.25rem);line-height:1.7;color:light-dark(#64748b,#cbd5e1)}.cards[data-astro-cid-arbd3op2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.5rem;opacity:0;animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards;animation-delay:.2s}.card-wrapper[data-astro-cid-arbd3op2]{opacity:0;animation:fadeInScale .8s cubic-bezier(.16,1,.3,1) forwards}@media (width >= 768px){.cards[data-astro-cid-arbd3op2]{grid-template-columns:repeat(2,1fr)}}@media (width >= 1200px){.cards[data-astro-cid-arbd3op2]{grid-template-columns:repeat(3,1fr);gap:3rem}}@media (width <= 767px){.projects-page[data-astro-cid-arbd3op2]{padding:6rem 0 4rem}.projects-hero[data-astro-cid-arbd3op2]{margin-bottom:3rem}.cards[data-astro-cid-arbd3op2]{grid-template-columns:1fr;gap:2rem}}@media (prefers-reduced-motion: reduce){[data-astro-cid-arbd3op2],[data-astro-cid-arbd3op2]:before,[data-astro-cid-arbd3op2]:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-32px,-48px) scale(1.1)}66%{transform:translate(42px,32px) scale(.9)}}@keyframes orbPulse{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.15);opacity:.3}}@keyframes badgeGlow{0%,to{box-shadow:0 0 20px #a855f733}50%{box-shadow:0 0 30px #a855f766}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes fadeInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
