/**
 * Natural-proportion masonry portfolio and reusable project cards.
 * @package pk
 * @version 1.0.0
 */
.c-projects-masonry { columns: 1; column-gap: var(--space-md); }
.c-projects-masonry--two-up { columns: 2; }
.c-projects-masonry .c-project-card { break-inside: avoid; margin-bottom: var(--space-md); }
.c-project-card--portfolio { width: 100%; cursor: default; }
.c-project-card--portfolio:hover { transform: none; box-shadow: none; border-color: var(--color-timber-border); }
.c-project-card--portfolio .c-project-card__photo { position: relative; display: block; width: 100%; min-height: var(--touch-target-min); padding: 0; border: 0; border-radius: 0; background: var(--color-timber-cream); color: var(--color-timber-dark); cursor: zoom-in; overflow: hidden; box-shadow: none; }
.c-project-card--portfolio .c-project-card__photo:hover { transform: none; background: var(--color-timber-cream); box-shadow: none; }
.c-project-card--portfolio .c-project-card__photo:focus-visible { outline: 3px solid var(--color-timber-accent); outline-offset: -3px; }
.c-project-card--portfolio .c-project-card__image { display: block; width: 100%; height: auto; transform: none; }
.c-project-card__expand { position: absolute; top: var(--space-sm); right: var(--space-sm); display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: var(--radius-full); background: var(--color-timber-surface); color: var(--color-timber-dark); opacity: .9; }
.c-project-card__expand svg { width: 14px; height: 14px; }
.c-projects-banner { background: var(--color-timber-cream); border-bottom: 1px solid var(--color-timber-border-light); }
.c-projects-breadcrumbs { font-size: var(--font-size-xs); margin-bottom: var(--space-xs); color: var(--color-timber-muted); }
.c-projects-title { font-family: var(--font-serif); font-size: var(--font-size-h1); color: var(--color-timber-dark); line-height: 1.15; margin: 0 0 var(--space-xs); }
.c-projects-intro { font-size: var(--font-size-md); color: var(--color-timber-muted); max-width: var(--content-narrow); margin: 0; line-height: 1.6; }
.c-projects-cta { margin-top: var(--space-xl); background: var(--color-timber-surface); border: 1px solid var(--color-timber-border); border-radius: var(--radius-xl); padding: var(--space-xl); text-align: center; }
.c-projects-cta h2 { font-family: var(--font-serif); font-size: var(--font-size-h2); margin: 0 0 var(--space-sm); }
.c-projects-cta p { color: var(--color-timber-muted); margin-bottom: var(--space-md); }
.c-projects-recent { background: var(--color-timber-cream); border-top: 1px solid var(--color-timber-border-light); }
.c-projects-more { text-align: center; margin-top: var(--space-lg); }
@media (min-width: 600px) { .c-projects-masonry { columns: 2; } }
@media (min-width: 1024px) { .c-projects-masonry { columns: 4; } }
