/* Sold portfolios: preserve each photo's natural proportions without padding. */
.portfolio-object .object-hero { gap: 48px; padding-bottom: 64px; }
.portfolio-object .object-hero h1 { font-size: clamp(42px, 4.8vw, 68px); }
.portfolio-object .object-hero-media { min-height: 0; }
.portfolio-object .object-hero-media::before { display: none; }
.portfolio-object .object-hero-media img { height: auto; }
.portfolio-rooms { margin-bottom: 32px; color: var(--clay); font: 500 28px var(--serif); }
.portfolio-gallery { columns: 3; column-gap: 18px; }
.portfolio-gallery figure { break-inside: avoid; margin: 0 0 18px; }
.portfolio-gallery a { display: block; }
.portfolio-gallery img { display: block; width: 100%; height: auto; }
.portfolio-gallery a:focus-visible { outline: 3px solid var(--clay); outline-offset: 4px; }
.portfolio-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.portfolio-contact { color: var(--white); text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 800px) {
  .portfolio-object .object-hero { gap: 28px; padding-bottom: 48px; }
  .portfolio-gallery { columns: 2; column-gap: 12px; }
  .portfolio-gallery figure { margin-bottom: 12px; }
}
@media (max-width: 520px) {
  .portfolio-gallery { columns: 1; }
  .portfolio-actions { flex-direction: column; }
}
