/* Scoped exclusively to the twelve public photographic galleries. */
.px-public-editorial{width:100%;background:#fff;color:#292d2b}
.px-public-editorial .px-public-gallery-hero{position:relative;isolation:isolate;width:100%;height:clamp(460px,72svh,880px);overflow:hidden;background:#202522}
.px-public-editorial .px-public-gallery-hero>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:none}
.px-public-editorial .px-public-gallery-hero::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,#0004 0%,transparent 35%,#0001 55%,#0008 100%);pointer-events:none}
.px-public-editorial .px-hero-portrait::before{content:"";position:absolute;inset:-35px;background-image:var(--px-cover);background-size:cover;background-position:center;filter:blur(28px) brightness(.5);z-index:-1}
.px-public-editorial .px-hero-portrait>img{object-fit:contain;object-position:center}
.px-public-editorial .px-gallery-brand{position:absolute;z-index:1;left:32px;top:28px;color:#fff;font-size:19px;letter-spacing:.01em}
.px-public-editorial .px-gallery-hero-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:65px;color:#fff;text-align:center;text-shadow:0 2px 24px #0006}
.px-public-editorial .px-gallery-hero-copy h1{font-family:var(--serif),Georgia,serif;font-weight:400;font-size:clamp(42px,5.5vw,88px);line-height:1.08;letter-spacing:-.035em;margin:0;text-wrap:balance}
.px-public-editorial .px-editorial-toolbar{background:#fffffff5;backdrop-filter:blur(12px);border-bottom:1px solid #e7e7e4;top:0}
.px-public-editorial .gallery-toolbar-inner{width:100%;max-width:none;min-height:67px;height:auto;padding:10px 24px;gap:12px;flex-wrap:wrap}
.px-public-editorial .px-gallery-name{font-size:14px;line-height:1.35;font-weight:500;min-width:0}
.px-public-editorial .px-gallery-name span{display:block;font-size:9px;letter-spacing:.09em;font-weight:400;color:#737871;margin-top:3px}
.px-public-editorial .toolbar-actions{gap:7px;max-width:100%}
.px-public-editorial .toolbar-actions .icon-btn{width:38px;height:38px;min-width:38px;color:#3c4942;background:transparent}
.px-public-editorial .toolbar-actions .icon-btn.active{background:#edf1eb;color:#1a6357}
.px-public-editorial #px-gallery-photographs{scroll-margin-top:110px}
.px-public-editorial .px-editorial-grid{--px-gallery-columns:4;display:grid;grid-template-columns:repeat(var(--px-gallery-columns),minmax(0,1fr));grid-auto-rows:1px;grid-auto-flow:row;gap:0 3px;columns:auto;margin:0;padding:3px 3px 0;align-items:start}
.px-public-editorial .px-editorial-tile{position:relative;break-inside:auto;border-radius:0;margin:0;padding:0;min-width:0;overflow:hidden;background:#f2f1ee;align-self:start}
.px-public-editorial .px-editorial-tile .photo-open{display:block;width:100%;height:100%;line-height:0;overflow:hidden}
.px-public-editorial .px-editorial-tile img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important;aspect-ratio:auto;filter:none}
.px-public-editorial .px-editorial-wide{grid-column:span 2}
.px-public-editorial .photo-tile .photo-tools{z-index:1;bottom:10px;right:10px;gap:5px}
.px-public-editorial .photo-tools .icon-btn{width:36px;height:36px;background:#fffffff0;color:#244036;border:0;box-shadow:0 1px 7px #0002}
.px-public-editorial .photo-tools .icon-btn.active{background:#1b5547;color:#fff}
.px-public-editorial .px-editorial-end{text-align:center;padding:42px 18px 48px;font-size:11px;color:#737871}
.px-public-editorial .px-editorial-end p{margin:0 0 12px}
.px-public-editorial .px-editorial-filter-status{padding:16px 20px;font-size:12px;text-align:center}
.px-public-editorial .photo-open:focus-visible,.px-public-editorial .icon-btn:focus-visible,.px-public-editorial a:focus-visible{outline:2px solid #a8c6b5;outline-offset:-3px}
@media(min-width:1800px){.px-public-editorial .px-editorial-grid{--px-gallery-columns:5}}
@media(min-width:680px) and (max-width:999px){.px-public-editorial .px-editorial-grid{--px-gallery-columns:3}.px-public-editorial .px-public-gallery-hero{height:62svh;min-height:440px}}
@media(max-width:679px){
 .px-public-editorial .px-public-gallery-hero{height:auto;min-height:0}
 .px-public-editorial .px-public-gallery-hero>img{position:relative;inset:auto;width:100%;height:auto;object-fit:contain;object-position:center}
 .px-public-editorial .px-gallery-brand{left:17px;top:16px;font-size:16px}
 .px-public-editorial .px-gallery-hero-copy{left:18px;right:18px;bottom:24px}
 .px-public-editorial .px-gallery-hero-copy h1{font-size:clamp(30px,7.4vw,45px);line-height:1.1}
 .px-public-editorial .gallery-toolbar-inner{padding:10px 14px;gap:5px 10px;min-height:64px}
 .px-public-editorial .px-gallery-name{font-size:12px;flex:1 1 100%}
 .px-public-editorial .px-gallery-name span{display:none}
 .px-public-editorial .toolbar-actions{gap:5px;justify-content:flex-start}
 .px-public-editorial .toolbar-actions .icon-btn{width:38px;height:38px;min-width:38px}
 .px-public-editorial .px-editorial-grid{--px-gallery-columns:2;gap:0 3px}
 .px-public-editorial .photo-tile .photo-tools{bottom:7px;right:7px;gap:5px}
 .px-public-editorial .photo-tools .icon-btn{width:32px;height:32px}
}
@media(max-width:359px){.px-public-editorial .px-editorial-grid{--px-gallery-columns:1}.px-public-editorial .toolbar-actions .icon-btn{width:32px;height:32px;min-width:32px}}

/* Gallery control presentation, 2026-10-15. Preserve the public demo actions. */
.px-public-editorial .px-editorial-tile .photo-tools{
 top:11px;right:11px;bottom:auto;left:auto;gap:6px;flex-direction:row-reverse;
 opacity:0;visibility:hidden;pointer-events:none;transform:none;
 transition:opacity 200ms ease,visibility 0s linear 200ms;
}
.px-public-editorial .px-editorial-tile .photo-tools .icon-btn{
 width:44px;height:44px;min-width:44px;border-radius:12px;border:1px solid transparent;
 background:rgba(18,20,23,.10);color:#fff;box-shadow:none;opacity:.74;
 transform:none;transition:opacity 200ms ease,background-color 200ms ease,border-color 200ms ease,color 200ms ease;
}
.px-public-editorial .px-editorial-tile .photo-tools .icon-btn svg{
 width:20px;height:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
.px-public-editorial .px-editorial-tile .photo-tools .icon-btn.active{color:#f1788c}
@media(hover:hover) and (pointer:fine){
 .px-public-editorial .px-editorial-tile:hover .photo-tools{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 200ms ease,visibility 0s}
 .px-public-editorial .px-editorial-tile .photo-tools .icon-btn:hover{opacity:1;background:rgba(18,20,23,.65);border-color:rgba(255,255,255,.28)}
}
.px-public-editorial .px-editorial-tile:has(:focus-visible) .photo-tools{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 200ms ease,visibility 0s}
.px-public-editorial .px-editorial-tile .photo-tools .icon-btn:focus-visible{opacity:1;background:rgba(18,20,23,.65);outline:2px solid #fff;outline-offset:-3px}
@media(prefers-reduced-motion:reduce){
 .px-public-editorial .px-editorial-tile .photo-tools,.px-public-editorial .px-editorial-tile .photo-tools .icon-btn{transition:none}
}
