/* Shared refinements for the current five-page draft. */
.desktop-nav{gap:28px}
.home-gallery,.gallery-collection{padding:90px var(--gutter);background:var(--cream);color:var(--red)}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}
.gallery-heading h2{font-size:clamp(42px,5.2vw,78px)}
.gallery-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(170px,18vw,280px);gap:18px}
.gallery-tile{position:relative;min-width:0;overflow:hidden;background:#402025}
.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.3,1)}
.tile-room{grid-column:span 6;grid-row:span 2}.tile-room img{object-position:58% center}
.tile-food{grid-column:span 3}.tile-curtain{grid-column:span 3;grid-row:span 2}
.tile-bintang{grid-column:span 3}.tile-bintang img{object-position:50% 65%}
.tile-bar{grid-column:span 7}.tile-plate{grid-column:span 5}
.tile-spread{grid-column:span 6}.tile-bowl,.tile-salmon{grid-column:span 3}
.gallery-bottom-link{display:none}
body[data-page=gallery]{background:var(--cream);color:var(--red)}
.gallery-intro{padding-bottom:40px}.gallery-collection{padding-top:32px}
.gallery-full{grid-auto-rows:clamp(230px,24vw,390px)}
.gallery-full .gallery-tile{display:flex;flex-direction:column;background:transparent;overflow:visible}
.gallery-full img{height:calc(100% - 39px);min-height:0;object-fit:cover}
.gallery-full figcaption{font-size:12px;line-height:1.5;padding-top:13px;color:#723139}
.space-music{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;padding:100px var(--gutter);background:#701222}
.space-music .eyebrow{color:#eed4b7;margin-bottom:24px}.space-music h2{font-size:clamp(66px,7.2vw,112px)}
.space-music-copy{align-self:center}.space-music-copy p{font-size:17px;line-height:1.9;color:#f0dccc;max-width:480px}
.space-music-copy p+p{margin-top:20px}.space-music-copy .text-link{margin-top:23px}
@media(hover:hover){.gallery-tile:hover img{transform:scale(1.025)}}
@media(max-width:1000px) and (min-width:701px){.desktop-nav{gap:24px}}
@media(max-width:700px){
 .home-gallery{padding:62px 24px}.gallery-heading{display:block;margin-bottom:28px}.gallery-heading h2{font-size:11.8vw}.gallery-heading .text-link,.gallery-heading .button{display:none}.gallery-bottom-link{display:inline-flex;margin-top:26px;font-size:13px}
 .gallery-bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:12px}
 .tile-room{grid-column:span 2;grid-row:span 1}.tile-food{grid-column:span 1}.tile-curtain{grid-column:span 1;grid-row:span 2}.tile-bintang{grid-column:span 1}.tile-bar{grid-column:span 1}.tile-plate{grid-column:span 1}
 .tile-spread{grid-column:span 2}.tile-bowl,.tile-salmon{grid-column:span 1}
 .gallery-collection{padding:15px 24px 60px}.gallery-full{grid-auto-rows:235px;row-gap:25px}.gallery-full .tile-room{grid-row:span 1}.gallery-full .tile-curtain{grid-row:span 2}
 .gallery-full figcaption{font-size:11px;padding-top:12px}
 .space-music{grid-template-columns:1fr;gap:30px;padding:64px 24px}.space-music h2{font-size:20vw}.space-music-copy p{font-size:15px}
}
@media(max-width:360px){.gallery-bento{grid-auto-rows:158px}.gallery-full{grid-auto-rows:204px}}
@media(prefers-reduced-motion:reduce){.gallery-tile img{transition:none}.gallery-tile:hover img{transform:none}}

/* The supplied photographs keep their own framing; page selections avoid repetition. */
.tile-small{grid-column:span 3}
.gallery-night{padding-bottom:55px}
.gallery-moments{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:22px;align-items:start}
.gallery-moments .gallery-tile{aspect-ratio:4/5;background:#261a16}
.gallery-moments .gallery-tile:nth-child(2){margin-top:60px;aspect-ratio:4/5}
.gallery-moments img{object-position:center}
.gallery-kitchen{padding-top:35px}
.food-photo-collection{columns:3;column-gap:22px}
.food-photo-collection figure{break-inside:avoid;margin:0 0 22px;overflow:hidden;background:#251a17}
.food-photo-collection img{display:block;width:100%;height:auto}
.space-music-with-photo{grid-template-columns:1fr 1.12fr;gap:36px 7%;align-items:center}
.space-music-with-photo>div:first-child{grid-column:1;grid-row:1}
.space-music-with-photo .space-music-copy{grid-column:1;grid-row:2;align-self:start}
.space-music-photo{grid-column:2;grid-row:1/3;overflow:hidden;align-self:stretch;min-height:440px}
.space-music-photo img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.space-details-photos{padding:90px var(--gutter);background:var(--cream);color:var(--red);display:grid;grid-template-columns:1fr 1.35fr 1fr;align-items:center;gap:6%}
.space-details-photos figure{aspect-ratio:4/5;overflow:hidden}
.space-details-photos img{width:100%;height:100%;object-fit:cover}
.space-details-photos h2{font-size:clamp(42px,5vw,72px);margin:20px 0 28px}
.space-details-photos .eyebrow{color:var(--red)}
.visit-portrait img[data-photo-id=entrance]{object-position:50% 50%}
@media(max-width:900px){.food-photo-collection{columns:2}.space-details-photos{gap:25px;grid-template-columns:1fr 1.1fr}.space-details-photos>figure:last-child{display:none}}
@media(max-width:700px){
 .tile-small{grid-column:span 1}
 .gallery-moments{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .gallery-moments .gallery-tile:nth-child(2){margin-top:0}
 .gallery-moments .gallery-tile:last-child{grid-column:1/-1;aspect-ratio:1.65}
 .gallery-moments .gallery-tile:last-child img{object-position:50% 33%}
 .gallery-night{padding-bottom:24px}.gallery-kitchen{padding-top:30px}
 .gallery-kitchen .gallery-heading h2{font-size:11.2vw}.gallery-kitchen .gallery-heading .text-link{display:inline-block;margin-top:20px}
 .food-photo-collection{column-gap:12px}.food-photo-collection figure{margin-bottom:12px}
 .space-music-with-photo{display:flex;flex-direction:column;align-items:stretch;gap:28px}
 .space-music-photo{min-height:0;aspect-ratio:1.15;order:2;margin-top:4px}
 .space-music-photo img{object-position:69% center}
 .space-details-photos{padding:56px 24px;gap:25px;grid-template-columns:1fr 1fr}
 .space-details-photos>div{grid-column:1/-1;grid-row:1}.space-details-photos>figure:last-child{display:block}
 .space-details-photos h2{font-size:12vw}.space-details-photos figure{aspect-ratio:3/4}
}
@media(max-width:550px){.food-photo-collection{columns:1}.food-photo-collection figure{margin-bottom:18px}}

/* Full photographs, with the original page framing preserved. */
.photo-expand{display:block;width:100%;height:100%;min-width:0;cursor:zoom-in}
[data-photo-viewer]:focus-visible{outline:3px solid var(--red);outline-offset:5px}
.gallery-tile>.photo-expand{height:100%}
.room-hero>.photo-expand{position:absolute;inset:0}
.room-hero>.photo-expand img{position:absolute;inset:0;width:100%;height:110%;object-fit:cover;object-position:center 60%}
.room-hero-shade,.room-hero-copy{pointer-events:none}
.bar-frame>.photo-expand{height:auto;aspect-ratio:1.12}
.bar-frame>.photo-expand img{width:100%;height:100%;object-fit:cover}
.gallery-moments{row-gap:28px}
.gallery-moments .gallery-tile:nth-child(3n+2){margin-top:45px}
.gallery-moments .gallery-tile{aspect-ratio:3/4}
.gallery-moments .gallery-tile:nth-child(2){aspect-ratio:3/4}
.space-music-photo{position:relative}
.space-music-photo>.photo-expand{position:absolute;inset:0}
.space-music-photo img[data-photo-id^=reel-vocalist]{object-position:50% 35%}
.chef-menu-note{max-width:580px;font-size:14px;line-height:1.8;color:#e1cfc0;margin:0 0 18px}
.visit-lead{font-size:17px;line-height:1.8;max-width:510px}
.visit-portrait img[data-photo-id=entrance-v15]{object-position:50% 20%}
.about-jaya{padding:65px var(--gutter) 85px;border-top:1px solid #a36a6140;color:var(--red)}
.about-jaya>.eyebrow{margin-bottom:25px}
.about-jaya>div{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center}
.about-jaya h2{font-size:clamp(45px,5.3vw,80px)}
.about-jaya p:not(.eyebrow){font-size:17px;line-height:1.9;color:#653b37;max-width:540px}
.photo-viewer-open{scrollbar-gutter:stable}
.photo-viewer{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:18px 32px 28px;background:#170c0fed;color:var(--cream);overflow:hidden}
.photo-viewer::backdrop{background:#170c0f}
.photo-viewer[open]{display:grid;grid-template-rows:48px minmax(0,1fr);gap:16px}
.photo-viewer-controls{display:flex;align-items:center;justify-content:flex-end}
.photo-viewer-controls button{display:grid;place-items:center;width:44px;height:44px;padding:10px;color:var(--cream);background:transparent;border:0;border-radius:2px;cursor:pointer}
.photo-viewer-controls svg{display:block}
.photo-viewer-controls button:hover{background:#f4ebd81a}.photo-viewer-controls button:focus-visible{outline:2px solid var(--cream);outline-offset:3px}
.photo-viewer-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;cursor:zoom-out}
.photo-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;cursor:default}
@media(max-width:700px){
 .gallery-moments .gallery-tile:nth-child(3n+2){margin-top:0}
 .gallery-moments .gallery-tile:last-child{grid-column:auto;aspect-ratio:3/4}
 .gallery-moments .gallery-tile:last-child img{object-position:center}
 .menu-preview>.photo-expand[data-photo-viewer]>img{display:block}
 .menu-preview>.photo-expand:last-child{display:none}
 .room-hero>.photo-expand img{object-position:53% 60%}
 .bar-frame>.photo-expand{aspect-ratio:1.05}
 .visit-lead{font-size:15px}
 .about-jaya{padding:45px 24px 55px}
 .about-jaya>div{grid-template-columns:1fr;gap:25px}.about-jaya h2{font-size:12vw}.about-jaya p:not(.eyebrow){font-size:15px}
 .photo-viewer{padding:12px 12px max(20px,env(safe-area-inset-bottom))}
 .photo-viewer[open]{gap:12px}
}

/* Six restored real Jaya moments, with focal points suited to the Home grid. */
@media(min-width:701px){
 .room-story{align-items:center}
 .room-story-copy{padding-top:0}
}
.home-moments .moment-friends img{object-position:50% 74%}
.home-moments .moment-cocktail-pour img{object-position:50% 57%}
.home-moments .moment-vocalist img{object-position:50% 48%}
.home-moments .moment-shared-table img{object-position:50% 62%}
.home-moments .moment-behind-the-bar img{object-position:50% 39%}
.home-moments .moment-stage img{object-position:50% 12%}
@media(min-width:701px){
 .home-moments .tile-bar,.home-moments .tile-plate{grid-column:span 6;grid-row:span 2}
}
@media(max-width:700px){
 .home-moments .moment-friends img{object-position:50% 58%}
 .home-moments .moment-behind-the-bar img{object-position:50% 49%}
}
