/* Same original patio image twice: full context plus a larger, reversible CSS crop. */
.vibe-immersive .patio-pair { padding: 45px 5vw 55px; overflow: hidden; }
.vibe-immersive .patio-pair-layout { position: relative; display: grid; grid-template-columns: 53% 47%; align-items: start; max-width: 860px; margin: 0 auto; }
.vibe-immersive .patio-pair .patio { width: 100%; margin: 0; transform: rotate(-2deg); }
.vibe-immersive .patio-pair .patio > .offset-photo > img { width: 100%; height: auto; max-height: none; object-fit: contain; }
.vibe-immersive .patio-pair .patio > figcaption { padding-right: 18px; }
.vibe-immersive .patio-detail { position: relative; z-index: 1; width: 100%; align-self: center; margin: 0 0 0 -18px; transform: rotate(2deg); background: transparent; border: 0; box-shadow: none; }
.vibe-immersive .patio-detail-crop { position: relative; overflow: hidden; aspect-ratio: 290 / 360; }
.vibe-immersive .patio-detail-crop img { position: absolute; display: block; width: 243.448276%; max-width: none; height: auto; max-height: none; left: -131.034483%; top: -141.666667%; object-fit: initial; filter: none; mix-blend-mode: normal; }
.vibe-immersive .patio-detail > figcaption { margin: 0; padding: 12px 15px; background: #ffea00; color: #101010; font: 800 clamp(18px, 2.2vw, 30px)/1 MadhouseBlock, Impact, sans-serif; letter-spacing: .02em; }
.vibe-immersive #mural-film-title { text-align: center; }
.vibe-immersive .patio-link-arrow { position: absolute; z-index: 2; left: 0; top: 0; width: 53%; height: auto; aspect-ratio: 706 / 1120; transform: rotate(-2deg); overflow: visible; pointer-events: none; fill: none; stroke: #ff00b8; }
.vibe-immersive .patio-link-arrow path { stroke-width: 3px; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.vibe-immersive .patio-link-arrow .arrow-underprint { stroke: #101010; stroke-width: 6px; }
@media (max-width: 700px) {
  .vibe-immersive .patio-pair { padding: 30px 20px 40px; }
  .vibe-immersive .patio-detail { width: 100%; margin: 0 0 0 -8px; border: 0; box-shadow: none; }
  .vibe-immersive .patio-pair .patio > figcaption { padding-right: 10px; font-size: 9px; }
  .vibe-immersive .patio-detail > figcaption { padding: 10px 8px; font-size: clamp(11px, 3.2vw, 18px); }
}

/* Owner's exact crown artwork, CSS-cropped; only the enlarged inset receives it. */
.vibe-immersive .patio-crown { position: absolute; left: 20.5%; top: 9.5%; width: 21%; aspect-ratio: 744 / 590; overflow: hidden; transform: rotate(-48deg); z-index: 3; pointer-events: none; }
.vibe-immersive .patio-detail-crop .patio-crown-image { position: absolute; display: block; width: 172.17742%; height: auto; max-width: none; max-height: none; left: -31.72043%; top: -21.01695%; object-fit: contain; filter: none; mix-blend-mode: normal; clip-path: polygon(20.84% 17.96%,23.34% 16.11%,36.85% 35.57%,51.29% 14.37%,60.89% 40.44%,74.24% 31.17%,76.35% 37.54%,70.18% 82.62%,19.20% 74.74%,18.42% 67.56%); }
/* Restored painter, cups with the counter crowd, quote, then chocolate pair. */
.vibe-immersive .opening-grid { grid-template-columns: minmax(0,1fr); }
.vibe-immersive .opening-grid .window-scene { display: block; grid-column: 1; grid-row: 1; width: 100%; max-width: none; opacity: 1; visibility: visible; }
.vibe-immersive .opening-grid .window-scene img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
.vibe-immersive .counter-people-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.45fr); align-items: center; }
.vibe-immersive .counter-people-grid .counter { grid-column: 1; grid-row: 1; width: 100%; max-width: none; }
.vibe-immersive .counter-people-grid .room-scene { grid-column: 2; grid-row: 1; }
.vibe-immersive .counter-people-grid .vibe-quote-strip { grid-column: 1 / -1; grid-row: 2; }
.vibe-immersive .chocolate-pair { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; }
.counter-people-grid img, .chocolate-pair img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
/* Both bathroom photographs remain whole and unobstructed, side-by-side. */
.vibe-immersive .wall-grid .bathroom-scene { width: 100%; max-width: 620px; }
.bathroom-layered { position: static; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; align-items: center; aspect-ratio: auto; }
.bathroom-layered .bathroom-under, .bathroom-layered .bathroom-main { position: static; width: 100%; margin: 0; z-index: auto; transform: none; }
.bathroom-layered img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
.bathroom-scene > figcaption { margin-top: 12px; }
@media (max-width: 700px) { .vibe-immersive .counter-people-grid, .vibe-immersive .chocolate-pair { gap: 18px 14px; } }

/* Saturated color belongs to the photo groups, never to individual backing panels. */
.vibe-immersive .counter-people-grid { padding-top: clamp(20px,3vw,36px); background: #ffea00; color: #101010; }
.vibe-immersive .chocolate-pair { padding-top: clamp(24px,3vw,36px); padding-bottom: clamp(24px,3vw,36px); background: #1648ff; color: #fff; }

/* A single yellow chapter: indoor crowd, verified hookah patio, chocolates, then the existing quote. */
.vibe-immersive .inside-outside-grid { grid-template-columns: minmax(0,1fr); gap: 32px; padding-top: clamp(24px,3vw,36px); background: #ffea00; color: #101010; }
.vibe-immersive .inside-outside-grid > figure { width: 100%; max-width: 1000px; justify-self: center; }
.vibe-immersive .inside-outside-grid > .chocolate-scene { max-width: 680px; }
.vibe-immersive .inside-outside-grid img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; object-fit: contain; }
.vibe-immersive .inside-outside-grid .vibe-quote-strip { grid-column: 1; grid-row: auto; }
@media (max-width: 700px) { .vibe-immersive .inside-outside-grid { gap: 24px; } }

/* Supplied poster, unchanged: crop only y0–155 browser/source bar and bottom 11px UI. */
.vibe-immersive .inside-outside-grid > .chaos-poster { max-width: 760px; }
.vibe-immersive .chaos-poster-crop { position: relative; overflow: hidden; aspect-ratio: 1206 / 1322; }
.vibe-immersive .inside-outside-grid .chaos-poster-crop > img { position: absolute; top: -11.800302572%; left: 0; display: block; width: 100%; height: auto; max-width: none; max-height: none; aspect-ratio: auto; object-fit: initial; transform: none; filter: none; mix-blend-mode: normal; }
