/* Projects sayfası: satır satır hizalı galeri (her görsel oranına göre genişler, satırlar eşit yükseklikte), altın çerçeve, lightbox. */
.projects-count { margin: var(--space-4) 0 0; font-size: var(--text-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.projects-count b { margin-right: 0.3rem; font-family: var(--font-serif); font-size: var(--text-h4); font-weight: 500; letter-spacing: 0; color: #f0d48c; }
.projects-gallery { padding-block: var(--space-7) var(--space-8); background: var(--color-background); }

.pj-grid { --rh: 15rem; display: flex; flex-wrap: wrap; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.pj-item { flex: calc(var(--r) * 100) 1 calc(var(--r) * var(--rh)); min-width: 0; margin: 0; }
.pj-item[hidden] { display: none; }
.pj-grid::after { content: ""; flex-grow: 100000; }   /* son satır gereksiz uzamasın */
.pj-item__btn { position: relative; display: block; width: 100%; aspect-ratio: var(--r); padding: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--color-gold) 55%, transparent); border-radius: 0.5rem; background: var(--color-surface); cursor: zoom-in; transition: border-color var(--dur-base) var(--ease), box-shadow var(--dur-base) var(--ease), transform var(--dur-base) var(--ease); }
.pj-item__btn img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); }
.pj-item__btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgb(5 15 11 / 0.55)); opacity: 0; transition: opacity var(--dur-base) var(--ease); pointer-events: none; }
.pj-item__zoom { position: absolute; right: var(--space-3); top: var(--space-3); z-index: 2; width: 1.9rem; height: 1.9rem; color: #fff; filter: drop-shadow(0 1px 4px rgb(0 0 0 / 0.7)); opacity: 0; transform: translateY(-4px); transition: opacity var(--dur-base) var(--ease), transform var(--dur-base) var(--ease); }
.pj-item__zoom svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.pj-item__cap { position: absolute; left: var(--space-3); right: var(--space-3); bottom: var(--space-3); z-index: 2; font-size: var(--text-small); color: #fff; text-align: left; opacity: 0; transform: translateY(6px); transition: opacity var(--dur-base) var(--ease), transform var(--dur-base) var(--ease); }
.pj-item__btn:hover, .pj-item__btn:focus-visible { border-color: var(--color-gold); box-shadow: 0 1.2rem 2rem -1rem rgb(40 30 15 / 0.55); }
.pj-item__btn:hover img, .pj-item__btn:focus-visible img { transform: scale(1.05); }
.pj-item__btn:hover::after, .pj-item__btn:focus-visible::after { opacity: 1; }
.pj-item__btn:hover .pj-item__zoom, .pj-item__btn:focus-visible .pj-item__zoom, .pj-item__btn:hover .pj-item__cap, .pj-item__btn:focus-visible .pj-item__cap { opacity: 1; transform: none; }
@media (hover: none) { .pj-item__zoom { opacity: 0.9; transform: none; width: 1.6rem; height: 1.6rem; } .pj-item__btn::after { opacity: 1; background: linear-gradient(180deg, transparent 75%, rgb(5 15 11 / 0.35)); } .pj-item__cap { opacity: 1; transform: none; } }
.pj-more { display: flex; justify-content: center; margin-top: var(--space-7); }
.pj-item.is-in-view { animation: pj-in 0.6s var(--ease) both; }
@keyframes pj-in { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: none; } }
@media (min-width: 1500px) { .pj-grid { --rh: 18rem; gap: var(--space-4); } }
@media (max-width: 767.98px) { .pj-grid { --rh: 9rem; gap: 0.5rem; } .projects-gallery { padding-block: var(--space-6) var(--space-7); } }
@media (max-width: 420px) { .pj-grid { --rh: 7.5rem; } }
@media (prefers-reduced-motion: reduce) { .pj-item.is-in-view { animation: none; } .pj-item__btn img, .pj-item__btn:hover img { transition: none; transform: none; } }
.pj-sentinel { height: 1px; margin-top: var(--space-6); }
