/* Projectoverzicht: compacte foto's en rustige bijschriften. */
.portfolio-section { padding:200px 0 90px; }
.portfolio-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; padding-bottom:40px; }
.portfolio-heading h1 { margin:0; color:var(--green); font-size:clamp(46px,6vw,76px); }
.portfolio-heading h1 em { color:#94732e; }
.portfolio-heading > p { max-width:340px; margin:0 0 8px; color:#626960; font-size:16px; line-height:1.85; }
.portfolio-toolbar { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:22px 0; border-top:1px solid #123d2b26; margin-bottom:12px; }
.portfolio-filters { display:flex; flex-wrap:wrap; gap:8px; }
.portfolio-filters[hidden], .portfolio-item[hidden] { display:none; }
.portfolio-filters button { min-height:42px; padding:10px 17px; border:1px solid #123d2b26; border-radius:7px; background:transparent; color:var(--green); font-size:13px; cursor:pointer; }
.portfolio-filters button:hover { background:#123d2b0a; }
.portfolio-filters button[aria-pressed="true"] { background:var(--green); color:var(--cream); border-color:var(--green); }
.portfolio-status { margin:0; color:#737b73; font-size:12px; white-space:nowrap; }
.portfolio-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:34px 22px; }
.portfolio-item { min-width:0; }
.portfolio-placeholder, .portfolio-image { display:block; width:100%; aspect-ratio:4 / 3; border-radius:5px; }
.portfolio-placeholder { display:grid; place-items:center; background:#dddeda; color:#737971; }
.portfolio-placeholder span { font-size:11px; letter-spacing:.08em; }
.portfolio-image { object-fit:cover; }
.portfolio-caption { padding-top:14px; }
.portfolio-caption p { margin:0 0 5px; color:#806326; font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.portfolio-caption h3 { margin:0; color:var(--green); font:600 16px/1.45 'DM Sans',Arial,sans-serif; letter-spacing:-.015em; }
@media(max-width:1000px) { .portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
 .portfolio-section { padding:155px 0 60px; }
 .portfolio-heading { display:block; padding-bottom:28px; }
 .portfolio-heading > p { margin:24px 0 0; }
 .portfolio-toolbar { align-items:flex-start; flex-direction:column; gap:14px; }
 .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
}
@media(max-width:360px) { .portfolio-caption h3 { font-size:14px; } .portfolio-filters button { padding:9px 12px; } }
