/* The artwork sets the page rhythm, with the complete photograph always visible. */
.portfolio-page { box-sizing:border-box;background:#f9f9f9;color:#20221f;padding:calc(var(--header-height,90px) + 28px) 2vw 60px; }
.portfolio-tones { position:absolute;overflow:hidden;pointer-events:none; }
.portfolio-grid { --art-gap:clamp(14px,2.3vw,34px);--panel-gap:8px;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--art-gap);align-items:start; }
.portfolio-grid.masonry { display:block; }
.portfolio-grid.masonry .portfolio-work { position:absolute; }
.portfolio-work { min-width:0;margin:0; }
.portfolio-image { display:block;cursor:zoom-in; }
.portfolio-image img { display:block;width:100%;height:auto; }
.portfolio-panels { display:grid;grid-template-columns:repeat(var(--panel-count),minmax(0,1fr));gap:var(--panel-gap);background:#fff;align-items:start; }
.portfolio-page a:focus-visible { outline:2px solid #5b6257;outline-offset:4px; }
.portfolio-grid.reveal-enabled .portfolio-work { opacity:0;transition:opacity 1.1s ease; }
.portfolio-grid.reveal-enabled .portfolio-work.revealed { opacity:1; }
.portfolio-page [data-viewer-caption] { display:none; }
.portfolio-page .photo-viewer .preFade { opacity:1!important;transform:none!important;transition:none!important; }
@media(max-width:700px) { .portfolio-page { padding:108px 6vw 36px; }.portfolio-grid { --art-gap:8px;--panel-gap:3px; } }
@media(prefers-reduced-motion:reduce) { .portfolio-grid.reveal-enabled .portfolio-work { opacity:1;transition:none; } }

/* The first two works keep their final positions while the rest of the page parses. */
.portfolio-grid:not(.masonry) { grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr); }
.portfolio-grid:not(.masonry) .portfolio-work:nth-child(2) { width:96%;margin-left:4%;margin-top:38px; }
@media(max-width:700px) {
  .portfolio-grid:not(.masonry) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-grid:not(.masonry) .portfolio-work:nth-child(2) { width:100%;margin-left:0;margin-top:14px; }
}
