body:has(.projects-page){background-color:#121212}.projects-page{width:100%;max-width:1200px;margin:0 auto;box-sizing:border-box;padding:5rem 2rem 6rem;color:#f5f5f5}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem;align-items:stretch}.project-skeleton{display:flex;flex-direction:column;min-height:360px;padding:1.75rem;background:#171717;border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}.project-skeleton__eyebrow{width:55px;height:10px;margin-bottom:1rem;border-radius:4px;background:rgba(255,255,255,.08);animation:skeleton-pulse 1.6s ease-in-out infinite}.project-skeleton__title{width:65%;height:26px;margin-bottom:1.25rem;border-radius:5px;background:rgba(255,255,255,.09);animation:skeleton-pulse 1.6s ease-in-out infinite}.project-skeleton__tech{display:flex;gap:.5rem;margin-bottom:1.5rem}.project-skeleton__tech span{width:75px;height:30px;border-radius:999px;background:rgba(255,255,255,.07);animation:skeleton-pulse 1.6s ease-in-out infinite}.project-skeleton__text{display:flex;flex-direction:column;gap:.65rem}.project-skeleton__text span{width:100%;height:12px;border-radius:4px;background:rgba(255,255,255,.06);animation:skeleton-pulse 1.6s ease-in-out infinite}.project-skeleton__text span:nth-child(2){width:92%}.project-skeleton__text span:nth-child(3){width:84%}.project-skeleton__text span:nth-child(4){width:70%}.project-skeleton__footer{width:100%;height:1px;margin-top:auto;background:rgba(255,255,255,.07)}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.8}}.projects-state{max-width:620px;margin:4rem auto;padding:3rem 2rem;text-align:center;background:#171717;border:1px solid rgba(255,255,255,.08);border-radius:14px}.projects-state h2{margin:0 0 .75rem;color:#ffffff;font-size:1.3rem}.projects-state p{margin:0;color:#8f8f8f;font-size:.95rem;line-height:1.6}.projects-state--error{border-color:rgba(255,255,255,.1)}.projects-page ::selection{background:rgba(0,112,243,.25);color:#ffffff}@media (max-width:850px){.projects-page{padding:4rem 1.5rem 5rem}.projects-grid{grid-template-columns:1fr}}@media (max-width:600px){.projects-page{padding:3rem 1rem 4rem}.projects-grid{gap:1rem}.project-skeleton{min-height:340px;padding:1.4rem;border-radius:12px}}@media (prefers-reduced-motion:reduce){.project-skeleton__eyebrow,.project-skeleton__tech span,.project-skeleton__text span,.project-skeleton__title{animation:none}}