﻿/* Screenshot-led portfolio. Keep imagery uncropped at its original desktop ratio. */
.page-projects { cursor: auto; }
.page-projects .cursor-dot,.page-projects .cursor-ring { display: none !important; }
.page-projects .hero--tight { padding-bottom: 60px; }
.page-projects .capture-note { color: #5b6672; font-size: .8rem; margin-top: 22px; }
.page-projects .portfolio-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.page-projects .portfolio-gallery-section { padding: 72px 0; }
.page-projects .portfolio-gallery-section:nth-of-type(even) { background: #eaf0f2; }
.page-projects .portfolio-gallery .card { padding: 0; overflow: hidden; border: 1px solid #d5dfe5; border-radius: 14px; background: #fff; transform: none; opacity: 1; display: flex; flex-direction: column; }
.page-projects .project-shot { display: block; position: relative; padding: 16px 16px 0; background: #dce5e9; }
.project-shot img { display: block; width: 100%; height: auto; aspect-ratio: 1.44; object-fit: cover; object-position: top; border-radius: 7px 7px 0 0; }
.project-shot span { position: absolute; bottom: 12px; right: 28px; background: #142c3c; color: #fff; font-size: .7rem; padding: 7px 10px; border-radius: 4px; }
.page-projects .project-story-body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.page-projects .project-status { color: #17647b; font: 500 .7rem/1.5 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.page-projects .project-type { color: #5b6672; font-size: .8rem; margin: 14px 0 3px; }
.page-projects .project-story h3 { font-size: 1.6rem; line-height: 1.2; margin: 0 0 16px; }
.page-projects .project-story p, .page-projects .project-text p { color: #52606a; line-height: 1.7; }
.page-projects .project-stack { font-size: .75rem; margin: 20px 0; }
.page-projects .project-story details { border-top: 1px solid #dde4e7; padding-top: 14px; margin-top: 12px; }
.page-projects .project-story summary { color: #17647b; font-weight: 600; cursor: pointer; font-size: .85rem; }
.page-projects .project-story dt { margin-top: 18px; font-weight: 600; color: #233c4b; font-size: .8rem; }
.page-projects .project-story dd { margin: 5px 0 0; font-size: .87rem; color: #52606a; }
.page-projects .project-story .go { margin-top: auto; color: #17647b; }
.page-projects .portfolio-gallery .project-text { padding: 28px; }
.page-projects .project-text h3 { margin: 14px 0; }
.page-projects .portfolio-closing { text-align: center; }
.page-projects .portfolio-closing h2 { font-size: 2.5rem; }
.page-projects .future-filters { flex-wrap: wrap; }
.page-projects .future-project-tools-inner { flex-wrap: wrap; }
.home-shot-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-bottom: 24px; }
.home-shot-card { border: 1px solid #ccd9df; border-radius: 10px; overflow: hidden; background: white; }
.home-shot-card img { display: block; width: 100%; height: auto; aspect-ratio: 1.44; object-fit: cover; object-position: top; }
.home-shot-card > span { display: flex; justify-content: space-between; gap: 12px; padding: 22px; color: #203a49; font-weight: 600; }
.home-shot-card:hover { border-color: #17647b; }
@media(max-width:700px) {
 .page-projects .portfolio-gallery,.home-shot-grid { grid-template-columns: 1fr; }
 .page-projects .project-story-body,.page-projects .portfolio-gallery .project-text { padding: 22px; }
 .page-projects .portfolio-gallery-section { padding: 50px 0; }
}
@media(prefers-reduced-motion:reduce) { .project-shot img { transition: none; } }
.page-projects section[id], .page-projects article[id] { scroll-margin-top: 180px; }
@media(max-width:700px) { .page-projects section[id], .page-projects article[id] { scroll-margin-top: 240px; } }
