/* Official project galleries. All surfaces follow the existing project palette. */
.pm-media-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 24px; margin-bottom:20px; }
.pm-media-heading h2 { margin:0; }
.pm-media-heading > a { color:var(--pm-ink); font:400 14px/1.6 Inter,Arial,sans-serif; min-height:44px; display:inline-flex; align-items:center; text-underline-offset:4px; }
.pm-gallery-grid .pm-image-link { display:block; position:relative; border-radius:10px; overflow:hidden; color:var(--pm-ink); background:transparent; }
.pm-gallery-grid .pm-image-link img { aspect-ratio:16/10; object-fit:cover; width:100%; height:auto; border-radius:0; }
.pm-image-link::after { content:'↗'; position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#101923e8; color:#fff; font:400 22px/1 Arial,sans-serif; }
.pm-gallery .pm-image-link:focus-visible,.pm-gallery a:focus-visible,.pm-media-viewer button:focus-visible,.pm-media-viewer a:focus-visible { outline:3px solid var(--pm-accent); outline-offset:4px; }
.pm-gallery-grid .pm-image-link:focus-visible { outline-offset:-4px; }
.pm-gallery-grid figcaption { display:flex; flex-wrap:wrap; column-gap:12px; align-items:baseline; }
.pm-gallery-grid figcaption span { flex:1 1 210px; min-width:0; }
.pm-gallery-grid figcaption a { flex:none; padding-block:6px; }
.pm-videos { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; margin-top:38px; }
.pm-videos.pm-videos--multiple { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pm-video { min-width:0; margin:0; }
.pm-video-stage { position:relative; overflow:hidden; width:100%; min-height:150px; background:#101923; border-radius:10px; }
.pm-video-stage.is-playing { min-height:0; aspect-ratio:16/9; }
.pm-video-stage > a { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:12px; padding:24px; color:#fff; text-decoration:none; text-align:center; font:500 17px/1.5 Inter,Arial,sans-serif; background:linear-gradient(135deg,#243748,#101923); }
.pm-video-play-icon { flex:none; display:grid; place-items:center; width:58px; height:58px; border:1px solid #ddc28e; border-radius:50%; color:#ddc28e; font-size:22px; }
.pm-video-stage video,.pm-video-stage iframe { display:block; width:100%; height:100%; max-width:none; border:0; background:#101923; }
.pm-video figcaption { padding-top:13px; color:var(--pm-muted); font:400 13px/1.65 Inter,Arial,sans-serif; }
.pm-video figcaption > span { display:block; }
.pm-video figcaption a { color:inherit; text-underline-offset:4px; }
.pm-video-notice { margin:6px 0 0; font:400 12px/1.6 Inter,Arial,sans-serif; color:var(--pm-muted); }
.pm-video-status:empty { display:none; }
.pm-video-stage > a:focus-visible { outline-offset:-5px; }
html.pm-media-open { overflow:hidden; }
dialog.pm-media-viewer { box-sizing:border-box; position:fixed; inset:0; width:min(1240px,calc(100% - 40px)); max-width:calc(100% - 40px); max-height:calc(100dvh - 32px); padding:18px; margin:auto; border:1px solid var(--pm-line); border-radius:12px; background:var(--pm-paper); color:var(--pm-ink); overflow:auto; }
dialog.pm-media-viewer::backdrop { background:rgba(4,10,17,.88); }
.pm-media-viewer-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; margin-bottom:12px; }
.pm-media-viewer-title { flex:1 1 180px; margin:0; font:400 16px/1.5 Inter,Arial,sans-serif; color:var(--pm-ink); }
.pm-media-viewer-controls { display:flex; align-items:center; gap:8px; }
.pm-media-viewer button { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:0; padding:8px 12px; border:1px solid var(--pm-muted); border-radius:6px; background:var(--pm-paper); color:var(--pm-ink); cursor:pointer; font:400 16px/1.3 Inter,Arial,sans-serif; }
.pm-media-viewer button:disabled { opacity:.45; cursor:default; }
.pm-media-viewer figure { margin:0; padding:0; background:transparent; }
.pm-media-viewer figure > img { display:block; width:100%; height:auto; max-height:calc(100dvh - 225px); object-fit:contain; background:transparent; border-radius:0; }
.pm-media-viewer figcaption { position:static; inset:auto; padding:16px 0 0; background:transparent; color:var(--pm-muted); font:400 14px/1.6 Inter,Arial,sans-serif; }
.pm-media-viewer-links { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:6px; }
.pm-media-viewer-links a { display:inline-flex; align-items:center; min-height:44px; color:var(--pm-ink); font:400 13px/1.5 Inter,Arial,sans-serif; text-underline-offset:4px; }
@media (max-width:640px) {
  .pm-media-heading { display:block; }
  .pm-media-heading > a { margin-top:8px; }
  .pm-videos.pm-videos--multiple { grid-template-columns:minmax(0,1fr); }
  .pm-video-stage > a { padding:16px; font-size:15px; }
  .pm-video-play-icon { width:46px; height:46px; }
  dialog.pm-media-viewer { width:calc(100% - 16px); max-width:calc(100% - 16px); max-height:calc(100dvh - 16px); padding:12px; }
  .pm-media-viewer figure > img { max-height:calc(100dvh - 270px); }
  .pm-media-viewer-title { flex-basis:100%; font-size:15px; }
  .pm-media-viewer-controls { width:100%; justify-content:flex-end; }
}
@media print {
  .pm-image-link::after,.pm-videos,dialog.pm-media-viewer { display:none!important; }
}
