.project-showcase { display:flex; flex-direction:column; border:1px solid #d8e0e5; border-radius:1rem; overflow:hidden; background:#fff; color:#172f49; transition:box-shadow .2s,border-color .2s; }
.project-showcase:hover { border-color:#06b6d4; box-shadow:0 15px 30px -23px #172f4955; }
.project-featured { display:grid; grid-template-columns:1.4fr 1fr; }
.project-screen { padding:1.5rem; background:#e8edf1; display:flex; flex-direction:column; justify-content:center; }
.project-screen-bar { background:#fff; border:1px solid #d7dfe5; border-bottom:0; padding:.65rem; display:flex; gap:.35rem; border-radius:.5rem .5rem 0 0; }
.project-screen-bar span { width:.5rem; height:.5rem; border-radius:50%; background:#bcc9d3; }
.project-screen img { width:100%; height:260px; object-fit:contain; background:#fff; border:1px solid #d7dfe5; border-top:0; border-radius:0 0 .5rem .5rem; }
.project-featured .project-screen img { height:350px; }
.project-copy { padding:2rem; display:flex; flex-direction:column; flex:1; }
.project-meta { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.5rem; color:#087e93; font-size:1rem; font-weight:650; }
.project-meta > span:first-child { border:1px solid #cddfe4; padding:.35rem .75rem; border-radius:2rem; }
.project-meta > span:last-child { color:#738497; }
.project-copy h3 { font-size:1.65rem; }
.project-copy p { margin:1rem 0 1.75rem; }
.project-open { display:flex; justify-content:space-between; align-items:center; font-weight:700; font-size:1rem; margin-top:auto; gap:1rem; padding-top:1rem; border-top:1px solid #e0e5e9; }
.project-open > span:last-child { display:grid; place-items:center; width:2.6rem; height:2.6rem; background:#c41565; color:#fff; border-radius:50%; }
.projects-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; }
.projects-collection .project-showcase:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
.project-actions { display:flex; flex-direction:column; align-items:start; gap:1.25rem; flex-shrink:0; }
@media(max-width:800px) { .project-featured { grid-template-columns:1fr; } .project-featured .project-screen img { height:280px; } }
@media(max-width:600px) { .projects-collection { grid-template-columns:1fr; } .projects-collection .project-showcase:last-child { display:flex; } .project-screen { padding:1rem; } .project-screen img,.project-featured .project-screen img { height:210px; } .project-copy { padding:1.5rem; } }
@media(prefers-reduced-motion:reduce) { .project-showcase { transition:none; } }
