/* Project galleries follow the portfolio's existing type and green accent. */
html { scroll-behavior: smooth; }
#two, #three { scroll-margin-top: 2rem; }
#two > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5em; margin: 0; }
#two > .row::before, #two > .row::after { display: none; }
#two > .row > .work-item { width: auto; padding: 0; margin: 0; float: none; }
#two > .row > .work-item:nth-child(n + 3) { border-top: 1px solid #e6e6e6; padding-top: 2.5em; }
#two > .actions { margin-top: 2.5em; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.work-item.project-feature h3 { font-size: 1.25em; margin-bottom: .6em; }
.work-item.project-feature > p { font-size: .95em; line-height: 1.65; }
.project-links { display: flex; gap: 1.2em; margin: 1em 0; font-size: .9em; }
.project-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8em; }
.project-gallery figure { margin: 0; min-width: 0; }
.project-gallery figure:first-child { grid-column: 1 / -1; }
.project-shot { display: block; border: 1px solid #e6e6e6; border-radius: .35em; overflow: hidden; background: #f7f7f7; }
.project-shot img { display: block; width: 100%; aspect-ratio: 1.44; object-fit: contain; }
.project-shot:hover { border-color: #49bf9d; }
.project-shot:focus-visible, .project-links a:focus-visible { outline: 3px solid #49bf9d; outline-offset: 4px; }
.project-gallery figcaption { margin-top: .4em; font-size: .75em; line-height: 1.4; color: #666; }
.project-gallery--mobile { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-gallery--mobile figure:first-child { grid-column: auto; }
.project-gallery--mobile .project-shot img { aspect-ratio: auto; }
.work-item.project-feature .project-note { font-size: .75em; color: #777; margin-top: 1em; }
.project-viewer { width: min(96vw, 1500px); max-width: 96vw; max-height: 96vh; padding: 1em; border: 0; border-radius: .4em; color: #eee; background: #20252b; }
.project-viewer::backdrop { background: rgba(0, 0, 0, .88); }
.project-viewer:not([open]) { display: none; }
.project-viewer figure { margin: 0; }
.project-viewer img { display: block; width: 100%; height: 74vh; object-fit: contain; }
.project-viewer figcaption { text-align: center; margin-top: .6em; font-size: .9em; }
.project-viewer-controls { display: flex; justify-content: space-between; gap: .6em; margin-bottom: .7em; }
.project-viewer button { color: #fff !important; border-color: #77818c; height: auto; line-height: 2.5; padding: 0 1em; }
.project-viewer button:focus-visible { outline: 3px solid #49bf9d; outline-offset: 2px; }
body.project-viewer-open { overflow: hidden; }
@media (max-width: 480px) {
  #two > .row { grid-template-columns: minmax(0, 1fr); gap: 2em; }
  #two > .row > .work-item:nth-child(n + 2) { border-top: 1px solid #e6e6e6; padding-top: 2em; }
  .project-viewer { padding: .6em; }
  .project-viewer button { font-size: .8em; }
  .project-viewer img { height: 65vh; }
}
