.portfolio-shell, .portfolio-section { max-width: 1180px; margin-inline: auto; padding: 1.5rem; }
.portfolio-shell nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.portfolio-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1.5rem; margin-block: 2rem; }
.portfolio-card { padding: 1rem; border: 1px solid currentColor; border-radius: .25rem; }
.portfolio-card h2 { font-size: 1.35rem; }
.portfolio-grid img, .portfolio-image { display: block; max-width: 100%; height: auto; }
.portfolio-hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 2rem; align-items: center; }
