/* Owner-supplied project portfolio; the original site design remains unchanged. */
.portfolio-section { border-top: 1px solid var(--line); }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.portfolio-card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid var(--line); background: #fff; }
.portfolio-card-top { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 27px; }
.portfolio-number { font: 12px monospace; color: #758791; }
.portfolio-card h3 { font-size: 29px; line-height: 1.15; margin-bottom: 17px; }
.portfolio-card p { color: var(--muted); font-size: 13px; margin-bottom: 22px; }
.portfolio-card .topic-tags { margin-top: auto; }
.portfolio-card .underlined-link { font-size: 12px; }
.workshop-heading { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin: 64px 0 27px; }
.workshop-heading .eyebrow { margin-bottom: 15px; }
.workshop-heading h3 { font-size: 32px; margin-bottom: 0; }
.workshop-heading > p { color: var(--muted); font-size: 12px; margin-bottom: 0; }
.workshop-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.workshop-gallery figure { margin: 0; min-width: 0; border: 1px solid var(--line); }
.workshop-photo { display: flex; height: 315px; padding: 16px; justify-content: center; background: #e7eded; }
.workshop-photo img { height: 100%; width: 100%; object-fit: contain; }
.workshop-photo:hover { background: #dce6e7; }
.workshop-gallery figcaption { padding: 23px; }
.workshop-gallery figcaption > span { font-size: 9px; font-weight: 600; letter-spacing: .08em; color: #6b7d87; }
.workshop-gallery strong { display: block; font-size: 19px; font-weight: 600; letter-spacing: -.03em; margin-top: 13px; }
.workshop-gallery p { color: var(--muted); font-size: 12px; margin: 10px 0 0; }
.portfolio-contact { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.portfolio-contact p { color: var(--muted); font-size: 13px; margin: 0; }
.profile-links { display: flex; flex-wrap: wrap; gap: 15px 22px; margin-top: 20px; }
.profile-links a { font-size: 12px; border-bottom: 1px solid #85939a; padding-bottom: 5px; }
.profile-links a:hover { color: #ac4c23; }
@media (max-width: 1000px) {
  .portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workshop-photo { height: 270px; padding: 10px; }
  .workshop-gallery figcaption { padding: 18px; }
}
@media (max-width: 680px) {
  .portfolio-grid, .workshop-gallery { grid-template-columns: 1fr; gap: 16px; }
  .portfolio-card { padding: 27px; }
  .portfolio-card h3 { font-size: 29px; }
  .portfolio-card-top { margin-bottom: 23px; }
  .workshop-heading { margin-top: 46px; flex-direction: column; align-items: flex-start; gap: 18px; }
  .workshop-heading h3 { font-size: 30px; }
  .workshop-photo { height: 340px; padding: 16px; }
  .workshop-gallery figcaption { padding: 23px; }
  .portfolio-contact { flex-direction: column; align-items: flex-start; }
}
