/* Shared photo stories inherit the active theme; only the viewer is cinematic. */
.gallery-detail,.gallery-heading,.gallery-list{--gallery-line:color-mix(in srgb,currentColor 18%,transparent);--gallery-soft:color-mix(in srgb,currentColor 5%,transparent)}
.gallery-detail{width:min(1200px,calc(100% - 3rem));margin:clamp(2rem,6vw,6rem) auto}
.gallery-heading{max-width:78rem;margin:clamp(2rem,6vw,6rem) auto 2.5rem;padding-inline:1.5rem}
.gallery-detail>.gallery-heading{padding:0;margin-inline:0}
.page-heading.gallery-heading h1{font-size:clamp(2.6rem,7vw,6rem);line-height:1.06;letter-spacing:-.045em;overflow-wrap:anywhere;margin-block:.6rem 1.25rem}
.gallery-heading .eyebrow,.gallery-card .eyebrow{font:inherit;font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}
.gallery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,4rem);max-width:78rem;padding:0 1.5rem;margin:0 auto 5rem}
.gallery-card{min-width:0;border:0;background:transparent}
.gallery-card__link{display:block;color:inherit;text-decoration:none!important}
.gallery-card__cover{aspect-ratio:4/3;overflow:hidden;background:var(--gallery-soft);display:grid;place-items:center;border-radius:3px}
.gallery-card__cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.gallery-card__link:hover img{transform:scale(1.035)}
.gallery-card__details{border-bottom:1px solid var(--gallery-line);padding:1.25rem 0 1.5rem}
.gallery-card h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.025em;margin:.5rem 0 1rem;overflow-wrap:anywhere}
.gallery-card__action{display:flex;justify-content:space-between;font-size:.85rem}
.gallery-images.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);margin-block:clamp(2rem,5vw,4rem)}
.gallery-images.gallery-grid figure.gallery-photo{margin:0;min-width:0}
.gallery-photo__link{display:block;position:relative;overflow:hidden;background:color-mix(in srgb,currentColor 7%,transparent);aspect-ratio:4/5;color:inherit}
.gallery-images.gallery-grid .gallery-photo img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;transition:transform .45s ease}
.gallery-photo__link:hover img{transform:scale(1.035)}
.gallery-photo__number,.gallery-photo__zoom{position:absolute;bottom:.85rem;color:white;background:#171717a6;border:1px solid #ffffff40;min-width:2rem;height:2rem;display:grid;place-items:center;font:500 .75rem/1 system-ui;border-radius:50%}
.gallery-photo__number{left:.85rem}.gallery-photo__zoom{right:.85rem;font-size:1.1rem}
.gallery-grid figcaption{font-size:.85rem;line-height:1.65;margin-top:.8rem;white-space:pre-wrap;overflow-wrap:anywhere;max-width:65ch}
.gallery-grid--editorial:not(.gallery-grid--configured){grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start}
.gallery-grid--editorial .gallery-photo:first-child{grid-column:1/-1}
.gallery-grid--editorial .gallery-photo:first-child .gallery-photo__link{aspect-ratio:16/9}
.gallery-grid--editorial .gallery-photo:nth-child(3n) .gallery-photo__link{aspect-ratio:1/1}
.gallery-section{max-width:78rem;margin:clamp(2rem,7vw,6rem) auto;padding-inline:1.5rem}
.gallery-section__heading{max-width:50rem}.gallery-section h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.035em;overflow-wrap:anywhere}
.gallery-card__link:focus-visible,.gallery-photo__link:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.gallery-lightbox{box-sizing:border-box;position:fixed;inset:0;margin:auto;border:1px solid #ffffff26;border-radius:6px;padding:1rem 1.5rem;width:min(1440px,96vw);height:min(960px,96dvh);max-width:96vw;max-height:96dvh;background:#101112;color:#f6f4ef;overflow:auto;color-scheme:dark;font:400 .9rem/1.5 system-ui,sans-serif;overscroll-behavior:contain}
.gallery-lightbox[open]{display:flex;flex-direction:column;gap:.75rem}
.gallery-lightbox::backdrop{background:#060708ed;backdrop-filter:blur(10px)}
.gallery-lightbox__toolbar{position:sticky;top:0;z-index:2;background:#101112;display:flex;justify-content:space-between;align-items:center;flex:none;gap:1rem}
.gallery-lightbox__counter{margin:0;font-variant-numeric:tabular-nums;color:#ccc8c1}
.gallery-lightbox button{background:#ffffff0a;border:1px solid #ffffff3d;border-radius:3rem;color:#fff;cursor:pointer;font:inherit;min-height:44px;min-width:44px;padding:.55rem 1rem}
.gallery-lightbox button:hover{background:#ffffff20}.gallery-lightbox :focus-visible{outline:2px solid #fff;outline-offset:4px}
.gallery-lightbox__stage{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:1rem;align-items:center;flex:1;min-height:120px}
.gallery-lightbox__frame{grid-column:2;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}
.gallery-lightbox .gallery-lightbox__image{display:block;object-fit:contain;width:100%;height:100%;min-height:0;max-height:65dvh;max-width:100%}
.gallery-lightbox__caption{flex:none;max-width:80ch;max-height:7.5rem;overflow:auto;margin:.25rem auto;white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;padding:.25rem .5rem;color:#e4e0d8}
.gallery-lightbox__feedback{margin:0;text-align:center;color:#d8d2c6}.gallery-lightbox__original{color:#d8d2c6!important;font-size:.75rem;text-align:center;align-self:center}
.gallery-lightbox__thumbs{display:flex;gap:.5rem;overflow:auto;padding:.35rem;flex:none;max-width:100%;min-height:0}
.gallery-lightbox__thumbs button{padding:3px;border-radius:3px;flex:0 0 64px;height:52px;opacity:.55}
.gallery-lightbox__thumbs button[aria-pressed=true]{opacity:1;border-color:white}
.gallery-lightbox__thumbs img{width:100%;height:100%;object-fit:cover;border-radius:1px}
.gallery-lightbox [hidden]{display:none!important}
.theme-beauty .gallery-photo__link,.theme-beauty .gallery-card__cover{border-radius:4px 4px 2px 2px}
.theme-beauty .gallery-images.gallery-grid figure.gallery-photo{margin:0}
.theme-beauty .gallery-section{width:100%;max-width:none;box-sizing:border-box}
.theme-beauty .gallery-section.beauty-align-center .gallery-section__heading{margin-inline:auto}
.theme-beauty .gallery-section.beauty-align-right .gallery-section__heading{margin-inline:auto 0}
.theme-restaurant .gallery-heading,.theme-restaurant .gallery-list,.theme-restaurant .gallery-section{max-width:var(--mr-content-width,78rem)}
@media(max-width:680px){.gallery-list{grid-template-columns:1fr;gap:2rem}.gallery-images.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.gallery-detail{width:calc(100% - 2rem)}.gallery-grid--editorial .gallery-photo:first-child .gallery-photo__link{aspect-ratio:4/3}.gallery-lightbox{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:.75rem}.gallery-lightbox__stage{gap:.35rem;grid-template-columns:40px minmax(0,1fr) 40px}.gallery-lightbox__stage button{min-width:40px;padding:.4rem}.gallery-lightbox .gallery-lightbox__image{max-height:58dvh}.gallery-lightbox__caption{max-height:6rem;font-size:.8rem}.gallery-section{padding-inline:1rem}}
@media(prefers-reduced-motion:reduce){.gallery-card__cover img,.gallery-images.gallery-grid .gallery-photo img{transition:none}.gallery-card__link:hover img,.gallery-images.gallery-grid .gallery-photo__link:hover img{transform:none}}
/* Closed v2 presets only. Legacy theme grids and Beauty placement wrappers stay independent. */
.gallery-grid--configured{--gallery-columns:3;--gallery-gap:1.5rem;--gallery-radius:0;--gallery-aspect:4/5;--gallery-speed:450ms}
.gallery-images.gallery-grid.gallery-grid--configured{box-sizing:border-box;width:100%;max-width:100%;margin-inline:auto;grid-template-columns:repeat(var(--gallery-columns),minmax(0,1fr));gap:var(--gallery-gap);align-items:start}
.gallery-grid--configured.gallery-grid--columns-1{--gallery-columns:1}.gallery-grid--configured.gallery-grid--columns-2{--gallery-columns:2}.gallery-grid--configured.gallery-grid--columns-3{--gallery-columns:3}.gallery-grid--configured.gallery-grid--columns-4{--gallery-columns:4}
.gallery-grid--configured.gallery-grid--aspect-portrait{--gallery-aspect:4/5}.gallery-grid--configured.gallery-grid--aspect-square{--gallery-aspect:1/1}.gallery-grid--configured.gallery-grid--aspect-landscape{--gallery-aspect:4/3}
.gallery-grid--configured.gallery-grid--spacing-compact{--gallery-gap:.5rem}.gallery-grid--configured.gallery-grid--spacing-comfortable{--gallery-gap:1.5rem}.gallery-grid--configured.gallery-grid--spacing-airy{--gallery-gap:3rem}
.gallery-grid--configured.gallery-grid--corners-soft{--gallery-radius:.5rem}.gallery-grid--configured.gallery-grid--corners-round{--gallery-radius:1.5rem}
.gallery-images.gallery-grid.gallery-grid--configured.gallery-grid--width-narrow{width:70%}.gallery-images.gallery-grid.gallery-grid--configured.gallery-grid--width-standard{width:85%}
.gallery-grid--configured.gallery-grid--speed-quick{--gallery-speed:200ms}.gallery-grid--configured.gallery-grid--speed-gentle{--gallery-speed:800ms}
.gallery-images.gallery-grid--configured .gallery-photo .gallery-photo__link{aspect-ratio:var(--gallery-aspect);border-radius:var(--gallery-radius);transition:transform var(--gallery-speed) ease}
.gallery-images.gallery-grid--configured .gallery-photo img{transition:transform var(--gallery-speed) ease}
.gallery-images.gallery-grid--configured .gallery-photo__link:hover img{transform:none}
.gallery-images.gallery-grid--configured.gallery-grid--hover-zoom .gallery-photo__link:hover img{transform:scale(1.04)}
.gallery-images.gallery-grid--configured.gallery-grid--hover-lift .gallery-photo__link:hover{transform:translateY(-.3rem)}
.gallery-grid--configured.gallery-grid--editorial .gallery-photo:first-child{grid-column:1/-1}
.gallery-grid--configured.gallery-grid--editorial .gallery-photo:first-child .gallery-photo__link{aspect-ratio:16/9}
.gallery-grid--configured .gallery-photo{opacity:1;transform:none}
.gallery-grid--configured .gallery-photo.gallery-effect-waiting{opacity:0;transition:opacity var(--gallery-speed) ease,transform var(--gallery-speed) ease}
.gallery-grid--configured.gallery-grid--animation-slide .gallery-photo.gallery-effect-waiting{transform:translateY(1.25rem)}
.gallery-grid--configured .gallery-photo.gallery-effect-revealed{opacity:1;transform:none;transition:opacity var(--gallery-speed) ease,transform var(--gallery-speed) ease}
.gallery-grid--configured.gallery-grid--animation-stagger .gallery-effect-revealed:nth-child(3n+2){transition-delay:80ms}.gallery-grid--configured.gallery-grid--animation-stagger .gallery-effect-revealed:nth-child(3n){transition-delay:160ms}
@media(max-width:900px){.gallery-images.gallery-grid--configured.gallery-grid--columns-4{--gallery-columns:3}}
@media(max-width:680px){.gallery-images.gallery-grid.gallery-grid--configured:not(.gallery-grid--columns-1){--gallery-columns:2}.gallery-images.gallery-grid.gallery-grid--configured{gap:min(var(--gallery-gap),5vw)}.gallery-images.gallery-grid.gallery-grid--configured.gallery-grid--width-narrow,.gallery-images.gallery-grid.gallery-grid--configured.gallery-grid--width-standard{width:100%}}
@media(max-width:420px){.gallery-images.gallery-grid.gallery-grid--configured:not(.gallery-grid--columns-1){--gallery-columns:1}}
.gallery-grid--configured .gallery-photo.gallery-effect-waiting:focus-within{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.gallery-grid--configured .gallery-photo.gallery-effect-waiting,.gallery-grid--configured .gallery-photo.gallery-effect-revealed{opacity:1;transform:none;transition:none}.gallery-images.gallery-grid--configured .gallery-photo .gallery-photo__link,.gallery-images.gallery-grid--configured .gallery-photo img{transition:none}.gallery-images.gallery-grid--configured .gallery-photo .gallery-photo__link:hover,.gallery-images.gallery-grid--configured .gallery-photo .gallery-photo__link:hover img{transform:none}}
/* Schema-3 photo sizes: the same ordered, responsive grid in the layout window and published gallery.
   No dense packing: visual order, keyboard order and lightbox order must agree. */
.gallery-sized-frame{container-type:inline-size;width:100%;max-width:100%;margin-inline:auto}
.gallery-sized-frame--width-narrow{width:70%}.gallery-sized-frame--width-standard{width:85%}
.gallery-sized-frame>.gallery-images.gallery-grid.gallery-grid--sized{--gallery-sized-gap:var(--gallery-gap);--gallery-row-ratio:1.25;width:100%;grid-auto-flow:row;grid-auto-rows:14rem;gap:var(--gallery-sized-gap);align-items:stretch}
.gallery-sized-frame>.gallery-grid.gallery-grid--sized.gallery-grid--aspect-square{--gallery-row-ratio:1}.gallery-sized-frame>.gallery-grid.gallery-grid--sized.gallery-grid--aspect-landscape{--gallery-row-ratio:.75}
@supports(container-type:inline-size){.gallery-sized-frame>.gallery-images.gallery-grid.gallery-grid--sized{grid-auto-rows:max(8rem,calc((100cqw - (var(--gallery-columns) - 1) * var(--gallery-sized-gap)) / var(--gallery-columns) * var(--gallery-row-ratio)))}}
.gallery-images.gallery-grid--sized .gallery-photo{display:flex;flex-direction:column;min-height:0;grid-column:span 1;grid-row:span 1}
.gallery-images.gallery-grid--sized .gallery-photo--wide,.gallery-images.gallery-grid--sized .gallery-photo--large{grid-column:span 2}
.gallery-images.gallery-grid--sized .gallery-photo--tall,.gallery-images.gallery-grid--sized .gallery-photo--large{grid-row:span 2}
.gallery-images.gallery-grid--sized.gallery-grid--columns-1 .gallery-photo{grid-column:span 1}
.gallery-images.gallery-grid.gallery-grid--sized .gallery-photo .gallery-photo__link{flex:1;min-height:0;aspect-ratio:auto}
.gallery-images.gallery-grid--sized .gallery-photo figcaption{flex:none;max-height:4.5em;overflow:auto;margin-block:.5rem 0}
@media(max-width:680px){.gallery-sized-frame--width-narrow,.gallery-sized-frame--width-standard{width:100%}.gallery-sized-frame>.gallery-images.gallery-grid.gallery-grid--sized{--gallery-sized-gap:min(var(--gallery-gap),5vw)}}
@media(max-width:420px){.gallery-images.gallery-grid.gallery-grid--sized .gallery-photo{grid-column:span 1}}
