/* Shared static selections: stable thumbnails, native-ratio playback. */
.project-page .pm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px;align-items:start;overflow:visible;scroll-snap-type:none;padding:0;margin:0;width:100%;max-width:none;columns:auto}
.project-page .pm-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-page .pm-grid>figure{width:100%;max-width:none;min-width:0;margin:0;padding:0;opacity:1;transform:none;transition:none;background:none;border:0;break-inside:avoid}
.project-page .pm-grid>figure>img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px;display:block}
.project-page .pm-grid figcaption{font-size:14px;line-height:1.55;padding:13px 0 0;margin:0;color:inherit}
.project-page .pm-grid figcaption b{font-weight:500}
.project-page .pm-grid figcaption>span{display:block;color:inherit;opacity:.7;font-size:12px;margin-top:4px}
.project-page .pm-grid figcaption .fs-rol{display:flex;opacity:1;margin-top:8px}
.project-page .pm-video{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:9px;background:#191917;color:#fff;text-decoration:none;isolation:isolate;cursor:pointer}
.project-page .pm-video img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center;border:0;border-radius:0;transition:transform .28s ease;pointer-events:none}
.project-page .pm-video--contain img{object-fit:contain;padding:16px;box-sizing:border-box}
.project-page .pm-video::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5));z-index:1;pointer-events:none}
.pm-play{position:absolute;left:15px;bottom:14px;z-index:2;display:flex;align-items:center;gap:9px;font:500 12px/1.2 'DM Sans',sans-serif;color:white;pointer-events:none}
.pm-play svg{display:block;width:36px;height:36px;filter:drop-shadow(0 1px 3px #0005)}
.pm-duration{position:absolute;right:15px;bottom:24px;z-index:2;font:12px/1 'JetBrains Mono',monospace;color:white;pointer-events:none}
.pm-video:focus-visible{outline:3px solid #b80000;outline-offset:4px}
@media(hover:hover){.pm-video:hover img{transform:scale(1.025)}}
.project-page .pm-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;overflow:visible;margin:0;padding:0;scroll-snap-type:none}
.project-page .pm-image-grid>figure{min-width:0;margin:0;max-width:none;transform:none;opacity:1}
.project-page .pm-image-grid img{width:100%;height:auto;display:block;border-radius:8px}
.project-page .pm-post-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 14px}
.project-page .pm-post-grid figcaption{font-size:11px;line-height:1.5;padding-top:8px}
.project-page .pm-video-frame{aspect-ratio:auto!important;height:auto!important;padding:0!important;background:transparent!important;overflow:visible!important}
.project-page .pm-video-frame>.pm-video{pointer-events:auto!important}
.project-page .pm-video-card{margin-top:0!important;transform:none!important;opacity:1!important}
.project-page .ys-cinema{display:block;max-width:none;margin:0}
.project-page .ys-film-list.pm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-page .story-films.pm-grid,.project-page .story-social.pm-grid{max-width:none;margin-inline:0}
.project-page .story-studies{overflow:visible}
.project-page .story-fan.pm-image-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:0}
.project-page .story-fan.pm-image-grid .study-card{min-width:0;max-width:none;width:100%;margin:0;transform:none!important}
.project-page .story-fan.pm-image-grid .study-card img{height:auto;aspect-ratio:auto;object-fit:contain}
.project-page .pm-editorial{margin:0 0 32px}
.project-page .pm-editorial img{display:block;width:100%;height:auto;max-height:800px;object-fit:contain;border-radius:8px;background:#161511}
.project-page .pm-editorial figcaption{font-size:12px;line-height:1.6;color:#bcb4a6;padding-top:12px}
.project-page .pm-catalog-pair{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;margin-bottom:32px}
.project-page .pm-catalog-pair img{max-height:none}
.project-page .pm-catalog-pair h3{font-size:clamp(25px,3vw,39px);font-weight:400;line-height:1.15;margin:0 0 16px;letter-spacing:-.035em}
.project-page .pm-catalog-pair p{font-size:15px;line-height:1.8;color:#bcb4a6}
.pm-dialog{border:1px solid #ffffff25;border-radius:12px;padding:0;width:min(1120px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);background:#10110f;color:#eee;box-shadow:0 28px 100px #0009;overflow:auto}
.pm-dialog::backdrop{background:#050605e8}
.pm-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #ffffff20}
.pm-dialog-title{font:400 15px/1.4 'DM Sans',sans-serif;margin:0}
.pm-dialog-close{flex:none;background:none;border:1px solid #ffffff40;border-radius:50%;width:42px;height:42px;color:inherit;font:26px/1 sans-serif;cursor:pointer}
.pm-dialog video{display:block;width:100%;height:min(70dvh,720px);max-height:calc(100dvh - 140px);object-fit:contain;background:#050505}
.pm-dialog-close:focus-visible{outline:2px solid #b80000;outline-offset:3px}
@media(max-width:900px){.project-page .pm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page .pm-post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.project-page .pm-grid,.project-page .pm-grid--pair,.project-page .ys-film-list.pm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.project-page .pm-grid figcaption{font-size:12px;padding-top:10px}.project-page .pm-grid figcaption>span{font-size:11px}.project-page .pm-video{aspect-ratio:1/1;border-radius:7px}.pm-play{left:9px;bottom:9px;gap:5px;font-size:10px}.pm-play svg{width:28px;height:28px}.pm-duration{right:9px;bottom:18px;font-size:10px}.project-page .pm-image-grid,.project-page .pm-post-grid,.project-page .story-fan.pm-image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.project-page .pm-catalog-pair{grid-template-columns:1fr}.project-page .pm-video--contain img{padding:5px}.pm-dialog-header{padding:10px 12px}.pm-dialog-title{font-size:13px}.pm-dialog video{height:65dvh}}
@media(prefers-reduced-motion:reduce){.project-page .pm-video img{transition:none}}
/* Portrait presentation photos keep their edges, without empty side panels. */
.project-page .pm-editorial{max-width:720px;margin:0 auto 32px}
.project-page .pm-editorial img{width:auto;max-width:100%;max-height:760px;margin-inline:auto;background:none}
.project-page .story-material .pm-editorial{margin:0;max-width:none}
.project-page .pm-video img{object-position:center 30%}

/* Explicit centering overrides global resets, including Safari dialog defaults. */
body .pm-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:var(--player-width, min(960px,calc(100vw - 32px)));height:fit-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:hidden;border-radius:16px}
body .pm-dialog-header{box-sizing:border-box;min-height:62px;padding:10px 14px;gap:12px}
body .pm-dialog-title{min-width:0;font:500 14px/1.4 'Google Sans Flex','DM Sans',sans-serif;overflow-wrap:anywhere}
body .pm-dialog-close{width:36px;height:36px;display:grid;place-items:center;padding:0;border-color:#ffffff26}
body .pm-dialog video{width:100%;height:var(--player-height,50dvh);max-height:none;object-fit:contain;background:#050505}
body .pm-dialog::backdrop{background:#101114b8;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
@media(max-width:600px){body .pm-dialog{border-radius:12px}body .pm-dialog-title{font-size:12px}body .pm-dialog-header{min-height:56px}}
