.cms-gallery{display:flex!important;flex-direction:column;align-items:center;gap:var(--spacing)!important;width:100%;max-width:min(1100px,var(--content-width,1100px));padding:var(--spacing) clamp(12px,2vw,28px);margin:32px auto 70px;box-sizing:border-box;overflow:hidden}.cms-gallery>figure,.cms-gallery>.cms-grid,.cms-gallery>.cms-text{width:100%;min-width:0}.cms-gallery figure{margin:0!important;min-width:0;max-width:100%}.cms-image-button{display:flex!important;align-items:center;justify-content:center;width:100%;padding:0!important;border:0;background:transparent;cursor:zoom-in!important;line-height:0}.cms-gallery img{display:block;max-width:100%;width:auto;height:auto;max-height:75svh;object-fit:contain;aspect-ratio:auto!important;margin:auto;cursor:zoom-in}.cms-gallery .cms-long-image{max-width:min(700px,100%);margin-left:auto!important;margin-right:auto!important}.cms-long-image img{width:100%;max-height:none}.cms-gallery figcaption:empty{display:none}.cms-gallery figcaption{color:inherit!important;opacity:.65;padding:8px 12px;line-height:1.5}.cms-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));align-items:start}.cms-grid img{width:100%;max-height:none}.cms-grid .cms-long-image{max-width:100%}.cms-crop img{aspect-ratio:1!important;object-fit:cover!important}.cms-text{padding:20px;line-height:1.7;font-size:18px;overflow-wrap:anywhere}.cms-preview-badge{position:fixed;bottom:15px;right:15px;z-index:999;background:#145aff;color:#fff;padding:12px;border-radius:10px;font:13px sans-serif}.cms-preview-badge a{color:inherit}
dialog.cms-lightbox{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.97);color:white;overflow:hidden;z-index:9999;box-sizing:border-box}dialog.cms-lightbox:not([open]){display:none}dialog.cms-lightbox::backdrop{background:#000d}.cms-lightbox .cms-image-stage{position:absolute;inset:70px 24px 70px;display:flex;align-items:center;justify-content:center;overflow:auto;min-width:0;min-height:0}.cms-lightbox .cms-image-stage img{display:block;flex:none;object-fit:contain;margin:auto;max-width:none;max-height:none;width:auto;height:auto;border-radius:0}.cms-lightbox[data-mode=read] .cms-image-stage,.cms-lightbox[data-mode=zoom] .cms-image-stage{display:block}.cms-lightbox-tools{position:absolute;inset:14px 16px auto;display:flex;justify-content:flex-end;gap:8px;z-index:2}.cms-lightbox button{border:1px solid #ffffff50!important;background:#252525ee!important;color:#fff!important;padding:10px 14px!important;border-radius:28px;cursor:pointer;font:14px sans-serif!important;line-height:1.3!important}.cms-lightbox button[aria-pressed=true]{background:#f2f1e8!important;color:#141414!important}.cms-lightbox-nav{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px}.cms-lightbox-count{font:14px sans-serif;white-space:nowrap}.cms-lightbox-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:14px sans-serif}.cms-lightbox-message[hidden]{display:none!important}
.frame-app #player{width:min(1120px,94vw);max-height:94dvh}.frame-app #film-video{display:block;max-width:100%;width:auto;height:auto;max-height:calc(90dvh - 130px);object-fit:contain;aspect-ratio:auto;margin:0 auto}.pf-film-picture img,.pf-film-picture video{object-fit:contain!important;background:#000}
@media(max-width:600px){.cms-grid{grid-template-columns:repeat(min(var(--columns),2),minmax(0,1fr))}.cms-gallery{padding-left:10px;padding-right:10px;gap:min(var(--spacing),24px)!important}.cms-lightbox-tools{inset:12px 8px auto;gap:5px}.cms-lightbox button{padding:9px 10px!important;font-size:12px!important}.cms-lightbox .cms-image-stage{inset:65px 10px 65px}.cms-text{padding:12px;font-size:16px}}

/* Artwork stays large on the project page. Fit applies only in the viewer. */
.cms-gallery{max-width:min(100%,var(--content-width,1100px));padding:var(--spacing) 0;overflow:visible}
.cms-gallery img{width:100%;max-height:none}
.cms-gallery .cms-long-image{max-width:100%}
.pf-related{margin:80px 0 48px;padding-top:48px;border-top:1px solid var(--line)}
.pf-related>h2{font-size:clamp(30px,3vw,44px);margin-bottom:28px!important}
.pf-related .pf-design-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pf-related .pf-design-meta h3{font-size:clamp(20px,2vw,28px);line-height:1.25}

/* Consistent rows by aspect ratio, within the existing category filters. */
.pf-edit .pf-page-heading{margin-bottom:36px}
.pf-video-groups{display:flex;flex-direction:column;gap:68px}
.pf-video-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.pf-video-group-heading h2{font-size:clamp(24px,2.6vw,34px)}
.pf-video-group-heading>span{color:var(--muted);font-size:13px}
.pf-video-group .pf-films{gap:34px 24px;align-items:start}
.pf-films-vertical{grid-template-columns:repeat(4,minmax(0,1fr))}
.pf-films-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.pf-films-square{grid-template-columns:repeat(3,minmax(0,1fr))}
.frame-app .pf-film{min-width:0;text-align:left;background:transparent;border:0!important;border-radius:0!important;padding:0!important}
.pf-film .pf-film-picture{width:100%;max-width:none;margin:0;border-radius:10px;overflow:hidden;position:relative;background:#000}
.pf-film-vertical .pf-film-picture{aspect-ratio:9/16}
.pf-film-wide .pf-film-picture{aspect-ratio:16/9}
.pf-film-square .pf-film-picture{aspect-ratio:1}
.pf-film-picture img{width:100%;height:100%;object-fit:contain!important;display:block;transition:transform .35s}
.pf-film:hover .pf-film-picture img{transform:scale(1.025)}
.pf-film .pf-play{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f2f1e8;color:#0b100e;font-size:16px;line-height:1;padding-left:2px;transform:none}
.pf-film .pf-film-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;max-width:none;margin:14px 0 0;padding:0}
.pf-film .pf-film-meta h3{font-size:clamp(17px,1.55vw,23px);line-height:1.3;overflow-wrap:anywhere}
.pf-film-duration{font:12px var(--mono);color:var(--muted);white-space:nowrap}
.pf-video-group:not(.is-expanded) .pf-films-vertical>.pf-film:nth-child(n+9),
.pf-video-group:not(.is-expanded) .pf-films-wide>.pf-film:nth-child(n+5),
.pf-video-group:not(.is-expanded) .pf-films-square>.pf-film:nth-child(n+7){display:none}
.pf-video-more{display:none;margin:28px auto 0!important;padding:12px 24px!important;border:1px solid var(--line)!important;border-radius:40px;font-size:14px!important}
.pf-video-group-vertical:has(.pf-film:nth-child(9))>.pf-video-more,
.pf-video-group-wide:has(.pf-film:nth-child(5))>.pf-video-more,
.pf-video-group-square:has(.pf-film:nth-child(7))>.pf-video-more{display:block}
.pf-video-more:hover{background:var(--white);color:var(--ink)}
.frame-app #player .player-stage{aspect-ratio:auto!important;max-height:none!important;background:#000}
.frame-app #player #film-video{width:100%;height:auto;max-height:calc(90dvh - 105px);object-fit:contain}
.frame-app #player[data-format=vertical]{width:min(540px,94vw)}
.frame-app #player[data-format=square]{width:min(820px,94vw)}
.frame-app #player .player-note[hidden]{display:none!important}
@media(max-width:1199px){
 .pf-films-vertical{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pf-video-group:not(.is-expanded) .pf-films-vertical>.pf-film:nth-child(n+7){display:none}
 .pf-video-group-vertical:has(.pf-film:nth-child(7))>.pf-video-more{display:block}
}
@media(max-width:760px){
 .pf-video-groups{gap:44px}.pf-video-group .pf-films{gap:24px 14px}
 .pf-films-vertical,.pf-films-square{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pf-films-wide{grid-template-columns:1fr}
 .pf-video-group:not(.is-expanded) .pf-films-vertical>.pf-film:nth-child(n+5),
 .pf-video-group:not(.is-expanded) .pf-films-square>.pf-film:nth-child(n+5),
 .pf-video-group:not(.is-expanded) .pf-films-wide>.pf-film:nth-child(n+3){display:none}
 .pf-video-group-vertical:has(.pf-film:nth-child(5))>.pf-video-more,
 .pf-video-group-square:has(.pf-film:nth-child(5))>.pf-video-more,
 .pf-video-group-wide:has(.pf-film:nth-child(3))>.pf-video-more{display:block}
 .pf-film .pf-film-meta{gap:6px;flex-wrap:wrap;margin-top:10px}
 .pf-film .pf-film-meta h3{font-size:16px;width:100%}
 .pf-film .pf-play{width:34px;height:34px;right:10px;bottom:10px;font-size:13px}
 .pf-related{margin:48px 0 30px;padding-top:30px}.pf-related .pf-design-grid{grid-template-columns:1fr;gap:28px}
 .cms-gallery{padding-left:0;padding-right:0}
 .frame-app #player{padding:14px}.frame-app #player-title{font-size:15px;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){.pf-film-picture img{transition:none}.pf-film:hover .pf-film-picture img{transform:none}}

/* A single justified collection: equal thumbnail height within each row. */
.pf-edit .pf-justified{display:flex;flex-wrap:wrap;gap:34px 24px;align-items:flex-start}
.pf-justified>.pf-film{flex:none;width:calc(340px * var(--video-ratio,1));max-width:100%}
.pf-justified .pf-film-picture{height:var(--video-height,340px);aspect-ratio:auto}
.pf-justified .pf-film-meta h3{font-size:clamp(16px,1.5vw,21px)}
.pf-video-collection:not(.is-expanded) .pf-justified>.pf-film:nth-child(n+13){display:none}
.pf-video-collection>.pf-video-more{display:block}
@media(max-width:760px){.pf-edit .pf-justified{gap:24px 14px}.pf-justified .pf-film-picture{height:var(--video-height,235px)}}
