.projects-grid{grid-template-columns:1fr;gap:1rem;display:grid}.p-card{aspect-ratio:2/3;background:#b5b4af;text-decoration:none;display:block;position:relative;overflow:hidden}.p-card.reveal{opacity:0;transition:opacity .6s cubic-bezier(0,0,.2,1),transform .6s cubic-bezier(0,0,.2,1);transform:translateY(50px)}.p-card.reveal.shown{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.p-card.reveal{opacity:1;transition:none;transform:none}}.p-card img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(0,0,.2,1);position:absolute;inset:0}.p-card:hover img{transform:scale(1.05)}.p-card:after{content:"";z-index:1;background:linear-gradient(#0003 0%,#00000026 55%,#000000bf 100%);transition:opacity .5s cubic-bezier(0,0,.2,1);position:absolute;inset:0}.p-card:hover:after{opacity:0}.p-card .p-name,.p-card .p-services{transition:opacity .5s cubic-bezier(0,0,.2,1)}.p-card:hover .p-name,.p-card:hover .p-services{opacity:0}.p-name{z-index:2;color:#e9e8e3;text-transform:uppercase;text-align:right;letter-spacing:-.025em;font-size:2rem;font-weight:700;line-height:1.05;position:absolute;top:1.25rem;left:1.25rem;right:1.25rem}.p-services{z-index:2;color:#e9e8e3;text-align:right;letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:600;line-height:1.5;list-style:none;position:absolute;bottom:1.1rem;left:1.25rem;right:1.25rem}@media (min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1280px){.projects-grid{grid-template-columns:repeat(3,1fr)}}
