/* Image-only, full-height masonry with stationary edge fades and overscan. */
.gallery-immersive{--edit-modal:#0d0c0af2;--edit-accent:#d8c5aa}
main>.gallery.gallery-immersive.gallery-editorial{position:relative;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.65fr);grid-template-rows:auto;column-gap:clamp(28px,5vw,88px);align-items:stretch;align-content:stretch;min-height:100vh;min-height:100svh;height:auto;padding:0 var(--gutter);background:#0b0b0a;isolation:isolate;overflow:clip}
.gallery-editorial .edit-editorial-panel{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:370px;padding-block:clamp(40px,8svh,96px)}
.gallery-editorial .gallery-heading{display:block;position:static;transform:none;width:auto;margin:0;container-type:inline-size}
.gallery.gallery-editorial .gallery-heading h2{font-size:clamp(36px,3.6vw,64px);font-size:clamp(32px,17cqi,64px);line-height:1.15;letter-spacing:-.025em;margin:0;text-align:left}
.gallery.gallery-editorial .gallery-heading h2 span{display:block;padding:0;white-space:nowrap}
.gallery-editorial .edit-description{max-width:285px;font-size:13px;line-height:1.75;color:var(--muted);margin-top:23px}
.gallery-editorial .edit-categories{display:flex;flex-direction:column;align-items:stretch;gap:2px;margin-top:30px}
.gallery-editorial .edit-categories button{display:grid;grid-template-columns:26px minmax(0,1fr);gap:13px;align-items:center;min-height:44px;padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-family:var(--display);font-weight:300;font-size:24px;line-height:1.2;text-align:left;cursor:pointer;touch-action:manipulation;transition:color .2s}
.gallery-editorial .edit-tab-rule{height:1px;width:24px;background:currentColor;opacity:0;transform:scaleX(.4);transform-origin:left;transition:transform .25s,opacity .25s}
.gallery-editorial .edit-categories button[aria-selected="true"]{color:var(--ink)}
.gallery-editorial .edit-categories button[aria-selected="true"] .edit-tab-rule{opacity:1;transform:scaleX(1)}
.gallery-editorial .edit-categories button:hover{color:var(--ink)}
.gallery-editorial .edit-categories button:focus-visible{outline:1px solid var(--edit-accent);outline-offset:5px}
.gallery-editorial .edit-gallery-panel{position:relative;min-width:0;width:100%;min-height:100vh;min-height:100svh;outline-offset:5px}
.gallery-editorial .edit-window{position:absolute;inset:0;min-width:0;overflow:clip;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 11%,#000 89%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 11%,#000 89%,transparent 100%)}
/* Fixed lateral fades blend the moving bento into the section background.
   They stay outside the transformed columns and never intercept image clicks. */
.gallery-editorial .edit-gallery-panel::before,.gallery-editorial .edit-gallery-panel::after{content:"";position:absolute;top:0;bottom:0;width:clamp(24px,4vw,80px);z-index:2;pointer-events:none}
.gallery-editorial .edit-gallery-panel::before{left:-1px;background:linear-gradient(to right,#0b0b0a 0%,#0b0b0acc 22%,#0b0b0a00 100%)}
.gallery-editorial .edit-gallery-panel::after{right:-1px;background:linear-gradient(to left,#0b0b0a 0%,#0b0b0acc 22%,#0b0b0a00 100%)}
/* 80px vertical / 12px horizontal overscan exceeds all offsets and cursor travel. */
.gallery-editorial .edit-stage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:absolute;inset:-80px -12px;height:auto;width:auto;min-width:0;touch-action:pan-y pinch-zoom;opacity:1;transition:opacity .26s ease}
.gallery-editorial .edit-stage.is-switching{opacity:.18;pointer-events:none}
.gallery-editorial .edit-column{--follow-x:0px;--follow-y:0px;--edit-offset:0px;display:grid;grid-template-rows:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,.95fr);gap:12px;min-width:0;min-height:0;transform:translate3d(var(--follow-x),calc(var(--follow-y) + var(--edit-offset)),0)}
.gallery-editorial .edit-column:nth-child(2){--edit-offset:-44px;grid-template-rows:minmax(0,.85fr) minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1.1fr)}
.gallery-editorial .edit-column:nth-child(3){--edit-offset:28px;grid-template-rows:minmax(0,1fr) minmax(0,.95fr) minmax(0,1.2fr) minmax(0,.85fr)}
.gallery-editorial .edit-stage.is-following .edit-column{will-change:transform}
.gallery-editorial .edit-card{position:relative;inset:auto;display:block;width:100%;height:100%;min-height:0;border:0;border-radius:0;overflow:hidden;background:#191815;transform:none;box-shadow:none;cursor:zoom-in;user-select:none}
.gallery-editorial .edit-card img{width:100%;height:100%;object-fit:cover;object-position:var(--image-position,50% 65%);transform:scale(var(--image-zoom,1));transform-origin:var(--image-origin,50% 50%);pointer-events:none;filter:saturate(.88) brightness(.92)}
.gallery-editorial .edit-card img[hidden]{display:none}
.gallery-editorial .edit-card.is-placeholder{cursor:default;background:linear-gradient(145deg,#1b1916,#26221c)}
.gallery-editorial .edit-card.is-placeholder[data-slot="2"],.gallery-editorial .edit-card.is-placeholder[data-slot="3"]{background:linear-gradient(155deg,#211e19,#181715)}
.gallery-editorial .edit-card:focus-visible{outline:2px solid var(--edit-accent);outline-offset:-3px}
.edit-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;touch-action:manipulation;transition:background .2s,color .2s}
.edit-step:hover{background:var(--ink);color:var(--paper)}
dialog.edit-viewer{width:calc(100% - 32px);max-width:1100px;max-height:94vh;max-height:94dvh;padding:18px;background:var(--paper);border:1px solid var(--line);overflow:auto;overscroll-behavior:contain}
dialog.edit-viewer[open]{animation:edit-viewer-enter .32s var(--ease) both}
@keyframes edit-viewer-enter{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
dialog.edit-viewer::backdrop{background:var(--edit-modal);backdrop-filter:blur(9px)}
.edit-viewer-close{position:absolute;top:10px;right:10px;z-index:2;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:50%;font-size:28px;cursor:pointer}
.edit-viewer-image-wrap{height:70vh;height:70dvh;min-height:180px;background:var(--paper)}
.edit-viewer-image-wrap img{object-fit:contain;width:100%;height:100%}
.edit-viewer-bottom{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:18px;margin-top:18px;padding:0 4px}
#edit-viewer-title{font-family:var(--display);font-size:27px;line-height:1.1;margin-bottom:6px}
#edit-viewer-credit{font-size:9px;letter-spacing:.8px}
#edit-original{font-size:11px;margin-left:15px;text-decoration:underline;text-underline-offset:5px}



@media(max-width:1000px){main>.gallery.gallery-immersive.gallery-editorial{column-gap:24px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.45fr)}.gallery-editorial .edit-stage,.gallery-editorial .edit-column{gap:10px}.gallery-editorial .edit-categories button{font-size:22px}.gallery-editorial .edit-description{font-size:12px}}
@media(max-width:760px){
 main>.gallery.gallery-immersive.gallery-editorial{grid-template-columns:minmax(0,1fr);row-gap:0;padding:0 var(--gutter) max(96px,calc(82px + env(safe-area-inset-bottom)))}
 .gallery-editorial .edit-editorial-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.85fr);gap:14px 20px;max-width:none;padding-block:32px 28px}
 .gallery-editorial .gallery-heading{grid-column:1/-1;grid-row:1;margin:0;align-self:end}
 .gallery.gallery-editorial .gallery-heading h2{font-size:clamp(32px,7.2vw,50px);font-size:clamp(32px,17cqi,50px)}
 .gallery-editorial .edit-description{grid-column:1;grid-row:2;margin:0;font-size:12px;line-height:1.65;align-self:start}
 .gallery-editorial .edit-categories{grid-column:2;grid-row:2;margin:0;align-self:center;gap:3px}
 .gallery-editorial .edit-categories button{grid-template-columns:15px minmax(0,1fr);gap:8px;min-height:44px;font-size:clamp(18px,4.8vw,24px)}
 .gallery-editorial .edit-tab-rule{width:14px}
 .gallery-editorial .edit-gallery-panel{min-height:max(480px,82svh)}
 .gallery-editorial .edit-window{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent)}
 .gallery-editorial .edit-stage{inset:-40px 0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(18,minmax(0,1fr));gap:9px}
 .gallery-editorial .edit-column{display:contents}
 .gallery-editorial .edit-card[data-slot="0"]{grid-column:1;grid-row:1/span 4}
 .gallery-editorial .edit-card[data-slot="1"]{grid-column:2;grid-row:1/span 3}
 .gallery-editorial .edit-card[data-slot="2"]{grid-column:1;grid-row:5/span 2}
 .gallery-editorial .edit-card[data-slot="3"]{grid-column:2;grid-row:4/span 4}
 .gallery-editorial .edit-card[data-slot="4"]{grid-column:1;grid-row:7/span 3}
 .gallery-editorial .edit-card[data-slot="5"]{grid-column:2;grid-row:8/span 2}
 .gallery-editorial .edit-card[data-slot="6"]{grid-column:1;grid-row:10/span 3}
 .gallery-editorial .edit-card[data-slot="7"]{grid-column:2;grid-row:10/span 3}
 .gallery-editorial .edit-card[data-slot="8"]{grid-column:1;grid-row:13/span 2}
 .gallery-editorial .edit-card[data-slot="9"]{grid-column:2;grid-row:13/span 4}
 .gallery-editorial .edit-card[data-slot="10"]{grid-column:1;grid-row:15/span 4}
 .gallery-editorial .edit-card[data-slot="11"]{grid-column:2;grid-row:17/span 2}
 .edit-viewer-bottom{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;margin-top:12px}#edit-original{grid-column:1/-1;margin:0;text-align:center;padding:8px}#edit-viewer-title{font-size:23px}.edit-viewer-image-wrap{height:62vh;height:62dvh}
}
@media(prefers-reduced-motion:reduce){.gallery-editorial .edit-stage,.gallery-editorial .edit-tab-rule,.edit-step{transition:none!important}.gallery-editorial .edit-column{transform:translateY(var(--edit-offset))!important}dialog.edit-viewer[open]{animation:none}}
@media print{.gallery-editorial .edit-gallery-panel::before,.gallery-editorial .edit-gallery-panel::after{display:none}main>.gallery.gallery-immersive.gallery-editorial{display:block;min-height:0;padding:30px}.gallery-editorial .edit-editorial-panel{padding:0}.gallery-editorial .edit-gallery-panel{min-height:0}.gallery-editorial .edit-window{position:static;overflow:visible;mask-image:none;-webkit-mask-image:none}.gallery-editorial .edit-stage{position:static;display:flex;flex-wrap:wrap;gap:15px;height:auto}.gallery-editorial .edit-column{display:contents}.gallery-editorial .edit-card{width:30%;height:230px;transform:none}.edit-viewer{display:none}}
#gallery.gallery-editorial dialog.edit-viewer[open]{animation-play-state:running!important}

/* Category labels use 4.8vw on mobile: below 416.666667px they are under 20px. */
@media(max-width:416.666666px){
 .gallery-editorial .edit-categories button{font-family:var(--body);font-weight:400}
}

/* One editorial entrance. Cards reveal inside the existing parallax columns;
   no opening transform touches a column or its cursor-driven CSS variables. */
.gallery-editorial .edit-stage{z-index:1}
.gallery-editorial .edit-window::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 75% 66% at 50% 52%,rgba(145,103,61,.32),rgba(66,43,25,.12) 48%,transparent 82%);opacity:.06}
.gallery-editorial.is-edit-intro-ready:not(.is-edit-entered):not(.is-edit-opening) :is(.gallery-heading,.edit-description,.edit-card,.edit-categories button){opacity:0}
.gallery-editorial.is-edit-intro-ready:not(.is-edit-entered):not(.is-edit-opening) .edit-window::before{opacity:0}
.gallery-editorial.is-edit-opening .gallery-heading{animation:edit-heading-awaken 400ms cubic-bezier(.22,1,.36,1) both}
.gallery-editorial.is-edit-opening .edit-description{animation:edit-heading-awaken 430ms cubic-bezier(.22,1,.36,1) 60ms both}
.gallery-editorial.is-edit-opening .edit-card{animation:edit-image-emerge 540ms cubic-bezier(.22,1,.36,1) var(--edit-enter-delay,400ms) both}
.gallery-editorial.is-edit-opening .edit-categories button{animation:edit-tab-emerge 300ms cubic-bezier(.22,1,.36,1) var(--edit-tab-delay,900ms) both}
.gallery-editorial.is-edit-opening .edit-categories button[aria-selected="true"] .edit-tab-rule{animation:edit-rule-emerge 240ms ease calc(var(--edit-tab-delay,900ms) + 100ms) both}
.gallery-editorial.is-edit-opening .edit-window::before{animation:edit-room-awaken 1700ms ease both}
@keyframes edit-heading-awaken{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes edit-image-emerge{from{opacity:0;clip-path:inset(15% 0 0 0);transform:translateY(22px) scale(.985)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes edit-tab-emerge{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes edit-rule-emerge{from{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:scaleX(1)}}
@keyframes edit-room-awaken{0%{opacity:0}24%{opacity:.16}65%{opacity:.48}100%{opacity:.06}}
@media(prefers-reduced-motion:reduce){
 .gallery-editorial:is(.is-edit-intro-ready,.is-edit-opening) :is(.gallery-heading,.edit-description,.edit-card,.edit-categories button){animation:none!important;opacity:1!important;clip-path:none!important;transform:none!important}
 .gallery-editorial .edit-window::before{animation:none!important;opacity:.06!important}
 .gallery-editorial.is-edit-opening .edit-tab-rule{animation:none!important}
}
@media print{
 .gallery-editorial:is(.is-edit-intro-ready,.is-edit-opening) :is(.gallery-heading,.edit-description,.edit-card,.edit-categories button){animation:none!important;opacity:1!important;clip-path:none!important;transform:none!important}
 .gallery-editorial .edit-window::before{display:none}
}

/* Gallery copy: gold emphasis belongs to the first phrase. */
.gallery-editorial .gallery-heading > .eyebrow{font-family:var(--body);font-size:10px;line-height:1.6;letter-spacing:1.6px;color:var(--muted);padding:0;margin:0 0 18px}
#main > #gallery #gallery-title > span{white-space:nowrap;font-style:normal;color:inherit}
#main > #gallery #gallery-title > .gallery-title-accent{font-style:italic;color:#d8b995}
