/* Project photographs use the catalogue's paper, editorial type and oak controls. */
.project-gallery-modal { padding:24px; }
.project-gallery-backdrop { background:rgba(19,27,23,.88);backdrop-filter:none; }
.project-gallery-dialog {
  width:min(1480px,100%);height:min(960px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);
  display:flex;flex-direction:column;gap:24px;padding:28px 32px 20px;
  background:var(--paper);color:var(--ink);border:0;border-radius:8px;
  overflow:hidden;box-shadow:none;font-family:'Reference Lausanne',Arial,sans-serif;
  animation:project-gallery-open 180ms ease both;
}
@keyframes project-gallery-open { from { opacity:0; } to { opacity:1; } }
.project-gallery-heading { max-width:none;margin:0;padding-right:130px;flex-shrink:0; }
.project-gallery-heading .eyebrow { color:var(--muted);font-size:12px;font-weight:350;margin:0 0 10px; }
.project-gallery-heading h2 { font:300 clamp(28px,3.1vw,46px)/1.06 'Reference Editorial',Georgia,serif;letter-spacing:-.04em;margin:0;max-width:1050px;text-wrap:balance; }
.project-gallery-heading > p:last-child { margin:10px 0 0;color:var(--muted);font-size:13px; }
.project-gallery-close {
  top:24px;right:26px;width:auto;height:44px;display:flex;gap:16px;padding:0 6px;
  color:var(--ink);background:transparent;border:0;border-radius:0;font:350 12px 'Reference Lausanne',Arial,sans-serif;
}
.project-gallery-close span:last-child { font:300 30px/1 Arial,sans-serif; }
.project-gallery-close:hover,.project-gallery-close:focus-visible { color:var(--pine);background:transparent;transform:none; }
.project-gallery-stage { display:flex;flex-direction:column;flex:1;min-height:0;gap:16px; }
.project-gallery-auto-slider {
  flex:1;min-height:0;width:100%;height:auto;margin:0;border:0;border-radius:3px;
  background:var(--ink);outline-offset:3px;
}
.project-gallery-slide { background:var(--ink); }
.project-gallery-slide img { object-fit:contain; }
.project-gallery-footer { display:flex;align-items:center;justify-content:space-between;gap:28px;flex-shrink:0; }
.project-gallery-caption { color:var(--muted);font-size:13px;line-height:1.4;max-width:65ch; }
.project-gallery-navigation { display:flex;gap:24px;align-items:center;flex-shrink:0; }
.project-gallery-counter { color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap; }
.project-gallery-controls { position:static;display:flex;gap:8px;inset:auto;padding:0;pointer-events:auto; }
.project-gallery-control {
  min-width:44px;height:44px;color:var(--ink);background:transparent;
  border:1px solid var(--line);border-radius:3px;box-shadow:none;backdrop-filter:none;
  font-weight:350;transition:background .15s,color .15s;
}
.project-gallery-control:hover,.project-gallery-control:focus-visible { color:var(--ink);border-color:var(--accent);background:var(--accent);transform:none; }
.project-gallery-arrow { width:44px;font-size:23px; }
.project-gallery-pause { padding:0 14px;min-width:126px;gap:9px;font-size:12px; }
.project-gallery-pause[aria-pressed=true] { color:var(--ink);background:var(--sage);border-color:var(--sage); }
.project-gallery-modal :focus-visible { outline:2px solid var(--pine);outline-offset:4px; }
@media(max-width:700px) {
  .project-gallery-modal { padding:0; }
  .project-gallery-dialog { width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:calc(18px + env(safe-area-inset-top)) 18px calc(16px + env(safe-area-inset-bottom));gap:20px; }
  .project-gallery-heading { padding-right:44px; }
  .project-gallery-heading h2 { font-size:clamp(26px,6.8vw,36px);line-height:1.08; }
  .project-gallery-heading .eyebrow { font-size:11px;margin-bottom:10px; }
  .project-gallery-heading > p:last-child { font-size:12px;margin-top:10px; }
  .project-gallery-close { top:calc(12px + env(safe-area-inset-top));right:12px;width:44px;padding:0;justify-content:center; }
  .project-gallery-close span:first-child { display:none; }
  .project-gallery-stage { gap:14px; }
  .project-gallery-auto-slider { height:auto; }
  .project-gallery-auto-slider,.project-gallery-slide { background:var(--paper); }
  .project-gallery-footer { flex-direction:column;align-items:stretch;gap:14px; }
  .project-gallery-caption { font-size:12px;min-height:2.8em; }
  .project-gallery-navigation { justify-content:space-between;gap:12px; }
  .project-gallery-control { height:46px;min-width:46px; }
  .project-gallery-arrow { width:46px; }
  .project-gallery-pause { min-width:116px; }
}
@media(max-height:540px) and (orientation:landscape) {
  .project-gallery-modal { padding:0; }
  .project-gallery-dialog { height:100dvh;max-height:100dvh;border-radius:0;padding:12px 22px;gap:12px; }
  .project-gallery-heading { padding-right:110px; }
  .project-gallery-heading h2 { font-size:25px; }
  .project-gallery-heading .eyebrow,.project-gallery-heading > p:last-child { display:none; }
  .project-gallery-close { top:6px;right:18px; }
  .project-gallery-stage { gap:8px; }
  .project-gallery-footer { flex-direction:row;gap:18px; }
  .project-gallery-caption { min-height:0;font-size:11px; }
}
