/* Scoped gallery styles. The original homepage post cards remain untouched. */
body.home.blog #content .ajax-container > .mgart-room { grid-column:1/-1; min-width:0; width:100%; margin:clamp(18px,3vw,50px) 0; }
.mgart-room { --gold:#c6a58d; --ink:#342b26; color:var(--ink); }

    .mgart-room * { box-sizing:border-box; }
    .mgart-room .mgart-room-stage { padding:clamp(6px,.8vw,12px); border:1px solid #d4bfa9; background:#faf8f5; box-shadow:0 22px 60px rgba(61,42,26,.12); }
    .mgart-room .mgart-room-image-wrap { position:relative; aspect-ratio:1.93; overflow:hidden; isolation:isolate; background:#e8dfd6; }
    .mgart-room .mgart-room-scene { position:absolute; inset:0; opacity:0; transform:translateX(3%) scale(1.03); transition:opacity 2.6s ease,transform 3s cubic-bezier(.2,.6,.2,1); pointer-events:none; }
    .mgart-room .mgart-room-scene.active { opacity:1; transform:translateX(0) scale(1); z-index:1; }
    .mgart-room .mgart-room-scene img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
    .mgart-room .mgart-room-scene.active img { animation:mg-film-camera 15s ease-in-out infinite alternate; }
    @keyframes mg-film-camera { from { transform:scale(1.035) translate3d(calc(-.7% + var(--film-x,0px)),calc(.3% + var(--film-y,0px)),0); } to { transform:scale(1.105) translate3d(calc(.6% + var(--film-x,0px)),calc(-.5% + var(--film-y,0px)),0); } }
    .mgart-room .mgart-room-light { position:absolute; z-index:2; inset:0; pointer-events:none; opacity:.58; background:linear-gradient(115deg,transparent 17%,rgba(255,253,244,.12) 45%,transparent 70%); animation:mg-film-sun 16s ease-in-out infinite alternate; }
    @keyframes mg-film-sun { from { transform:translateX(-48%); } to { transform:translateX(56%); } }
    .mgart-room .mgart-room-dissolve { position:absolute; z-index:3; inset:0; pointer-events:none; opacity:0; background:linear-gradient(104deg,transparent 15%,rgba(255,250,238,.05) 30%,rgba(255,253,246,.48) 50%,rgba(255,250,238,.08) 70%,transparent 88%); transform:translateX(-100%); }
    .mgart-room .mgart-room-image-wrap.changing .mgart-room-dissolve { animation:mg-film-dissolve 2.6s ease-in-out both; }
    @keyframes mg-film-dissolve { 0% { opacity:0; transform:translateX(-85%); } 45% { opacity:.78; } 100% { opacity:0; transform:translateX(85%); } }
    .mgart-room .mgart-room-corner { position:absolute; z-index:4; top:clamp(16px,2.2vw,31px); left:clamp(16px,2.2vw,31px); padding:9px 13px; background:rgba(255,253,249,.88); color:#6b543f; font:10px/1.3 Arial,sans-serif; letter-spacing:.16em; backdrop-filter:blur(8px); }
    .mgart-room .mgart-room-scene-name { position:absolute; z-index:4; left:clamp(18px,2.5vw,35px); bottom:clamp(70px,6.5vw,93px); padding:9px 13px; background:rgba(255,253,249,.9); color:#55402e; font:normal clamp(19px,2.4vw,32px)/1.1 Georgia,serif; }
    .mgart-room .mgart-room-enter { position:absolute; z-index:4; right:clamp(18px,2.5vw,35px); bottom:clamp(70px,6.5vw,93px); display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border:1px solid var(--gold); border-radius:0; background:rgba(255,253,249,.94); color:#503c2e; font:10px/1.2 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; cursor:pointer; -webkit-tap-highlight-color:transparent; }
    .mgart-room .mgart-room-enter::before,.mgart-room .mgart-room-enter::after { content:none !important; }
    .mgart-room .mgart-room-enter-icon { display:block; flex:none; width:18px; height:18px; color:#a57e60; }
    .mgart-room .mgart-room-controls { position:absolute; z-index:5; left:0; right:0; bottom:0; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px clamp(18px,2.5vw,35px); border-top:1px solid rgba(202,177,154,.8); background:rgba(250,248,245,.94); color:#755c49; font:10px/1 Arial,sans-serif; letter-spacing:.14em; }
    .mgart-room .mgart-room-middle { display:flex; align-items:center; gap:13px; }
    .mgart-room .mgart-room-controls button { border:0; border-radius:0; background:none; color:#5a4435; cursor:pointer; }
    .mgart-room .mgart-room-arrow { padding:2px 8px; font:25px/1 Georgia,serif; }
    .mgart-room .mgart-room-dot { width:8px; height:8px; padding:0; border:1px solid #a98a72 !important; border-radius:50% !important; }
    .mgart-room .mgart-room-dot.current { background:#a47c60; }
    .mgart-room .mgart-room-play { padding:7px 0; font:10px/1 Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
    .mgart-room .mgart-room-shop { min-width:0; }
    .mgart-room .mgart-room-invitation { position:relative; isolation:isolate; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:214px; overflow:hidden; padding:24px 20px 29px; border:1px solid #d4bda6; border-top:0; background:#fbf8f4; }
    .mgart-room .mgart-room-shop-echo { position:absolute; z-index:0; inset:-8%; display:block; width:116%; height:116%; object-fit:cover; object-position:center 76%; filter:blur(12px); opacity:.25; pointer-events:none; transition:transform .7s ease,opacity .7s ease; }
    .mgart-room .mgart-room-invitation::before { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(100deg,rgba(255,253,250,.84),rgba(255,250,245,.84)); pointer-events:none; }
    .mgart-room .mgart-room-rule { z-index:2; order:2; display:block; width:72px; height:1px; margin-top:15px; background:linear-gradient(90deg,transparent,#ac8365,transparent); }
    .mgart-room .mgart-room-heading { z-index:2; order:1; width:100%; min-width:0; text-align:center; }
    .mgart-room .mgart-room-shop .mgart-room-heading > p { margin:0 0 1px; color:#a27e61; font:500 10px/1.4 Arial,sans-serif; letter-spacing:.2em; }
    .mgart-room .mgart-room-shop-row { display:block; }
    .mgart-room .mgart-room-shop .mgart-room-heading h2 { min-width:0; margin:0; color:#a77e61; font:400 clamp(44px,4.2vw,58px)/1 'Cormorant Garamond',Georgia,serif; letter-spacing:-.035em; }
    .mgart-room .mgart-room-shop .mgart-room-heading h2 a { display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; max-width:100%; color:inherit; text-decoration:none; overflow-wrap:anywhere; }
    .mgart-room .mgart-room-shop .mgart-room-heading h2 a::after { content:''; position:absolute; z-index:3; inset:0; }
    .mgart-room .mgart-room-shop .mgart-room-heading h2 a:focus-visible { outline:none; }
    .mgart-room .mgart-room-shop .mgart-room-heading h2 a:focus-visible::after { outline:2px solid #80634e; outline-offset:-4px; }
    .mgart-room .mgart-room-shop-arrow { display:inline-flex; flex:none; align-items:center; justify-content:center; width:31px; height:31px; border:1px solid #c4a081; border-radius:50%; color:#9d7859; transition:transform .35s ease,background .35s ease; }
    .mgart-room .mgart-room-shop-arrow svg { display:block; width:18px; height:18px; }
    .mgart-room .mgart-room-coming-soon { margin:4px 0 0; color:#746558; font:400 clamp(19px,2.1vw,24px)/1.25 'Cormorant Garamond',Georgia,serif; }
    .mgart-room .mgart-room-coming-soon span { display:block; }
    .mgart-room .mgart-room-invitation:hover .mgart-room-shop-arrow { transform:translate(3px,-3px); background:rgba(198,165,141,.12); }
    .mgart-room .mgart-room-invitation:hover .mgart-room-heading h2 { color:#947359; }
    .mgart-room .mgart-room-invitation:hover .mgart-room-shop-echo { transform:scale(1.025); opacity:.3; }
    .mgart-room .mgart-room-shop-content { padding:24px clamp(5px,2vw,30px) 0; }
    .mgart-room .mgart-room-viewer { position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; overflow:hidden; background:#e7ded4; color:#fff; }
    .mgart-room .mgart-room-viewer::backdrop { background:rgba(25,20,17,.9); }
    .mgart-room .mgart-room-viewer[open] { animation:mg-film-open .8s cubic-bezier(.2,.7,.2,1) both; }
    @keyframes mg-film-open { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }
    .mgart-room .mgart-room-viewer-stage { position:absolute; inset:0; overflow:hidden; touch-action:none; cursor:grab; }
    .mgart-room .mgart-room-viewer-stage:active { cursor:grabbing; }
    .mgart-room .mgart-room-viewer-stage img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:var(--look-x,50%) var(--look-y,50%); user-select:none; pointer-events:none; transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),object-position .7s ease; }
    .mgart-room .mgart-room-viewer-stage .mgart-room-viewer-wide { transform:scale(1.04); animation:mg-film-walk 14s ease-in-out infinite alternate; }
    @keyframes mg-film-walk { from { transform:scale(1.035); } to { transform:scale(1.13); } }
    .mgart-room .mgart-room-viewer-stage .mgart-room-viewer-close-photo { opacity:0; transform:scale(1.1); }
    .mgart-room .mgart-room-viewer.is-close .mgart-room-viewer-stage .mgart-room-viewer-wide { transform:scale(1.17); animation:none; }
    .mgart-room .mgart-room-viewer.is-close .mgart-room-viewer-stage .mgart-room-viewer-close-photo { opacity:1; transform:scale(1.03); }
    .mgart-room .mgart-room-viewer.changing .mgart-room-viewer-stage { filter:brightness(1.2); }
    .mgart-room .mgart-room-viewer .mgart-room-viewer-stage { transition:filter .35s ease; }
    .mgart-room .mgart-room-viewer-top,.mgart-room .mgart-room-viewer-bottom { position:absolute; z-index:2; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:clamp(18px,3vw,40px); pointer-events:none; }
    .mgart-room .mgart-room-viewer-top { top:0; background:linear-gradient(rgba(23,18,14,.48),transparent); font:10px/1.4 Arial,sans-serif; letter-spacing:.17em; }
    .mgart-room .mgart-room-viewer-bottom { bottom:0; background:linear-gradient(transparent,rgba(23,18,14,.6)); font:normal clamp(20px,2.6vw,36px)/1.1 Georgia,serif; }
    .mgart-room .mgart-room-viewer-bottom .mgart-room-viewer-actions { display:flex; gap:8px; pointer-events:auto; }
    .mgart-room .mgart-room-viewer-bottom button { padding:12px 15px; border:1px solid #d1bba4; border-radius:0; background:rgba(255,253,249,.94); color:#4e3b2d; font:10px/1.2 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
    .mgart-room .mgart-room-close { width:45px; height:45px; border:1px solid #d1bba4; border-radius:0; background:rgba(255,253,249,.94); color:#4e3b2d; font:32px/1 Georgia,serif; cursor:pointer; pointer-events:auto; }
    .mgart-room button:focus-visible { outline:2px solid #80634e; outline-offset:3px; }
    @media(max-width:650px) {
      .mgart-room .mgart-room-image-wrap { aspect-ratio:1.55; }
      .mgart-room .mgart-room-scene img { object-position:48% center; }
      .mgart-room .mgart-room-corner { top:12px; left:12px; padding:7px; font-size:8px; letter-spacing:.06em; }
      .mgart-room .mgart-room-scene-name { left:12px; bottom:66px; max-width:54%; padding:6px 7px; font-size:clamp(14px,3.8vw,16px); }
      .mgart-room .mgart-room-enter { right:12px; bottom:66px; gap:5px; padding:8px 9px; font-size:9px; letter-spacing:.04em; }
      .mgart-room .mgart-room-enter-icon { width:15px; height:15px; }
      .mgart-room .mgart-room-controls { padding:9px; }
      .mgart-room .mgart-room-middle { gap:7px; }
      .mgart-room .mgart-room-play { font-size:8px; }
      .mgart-room .mgart-room-invitation { min-height:210px; padding:27px 14px 29px; }
      .mgart-room .mgart-room-rule { width:64px; margin-top:13px; }
      .mgart-room .mgart-room-shop .mgart-room-heading > p { font-size:9px; letter-spacing:.14em; }
      .mgart-room .mgart-room-shop .mgart-room-heading h2 { font-size:clamp(32px,9.6vw,42px); }
      .mgart-room .mgart-room-shop .mgart-room-heading h2 a { gap:6px; }
      .mgart-room .mgart-room-shop-arrow { width:29px; height:29px; }
      .mgart-room .mgart-room-shop-arrow svg { width:16px; height:16px; }
      .mgart-room .mgart-room-coming-soon { margin-top:8px; font-size:19px; line-height:1.25; }
      .mgart-room .mgart-room-coming-soon span { display:inline; }
      .mgart-room .mgart-room-viewer-top,.mgart-room .mgart-room-viewer-bottom { padding:14px; }
      .mgart-room .mgart-room-viewer-top { font-size:8px; }
      .mgart-room .mgart-room-viewer-bottom { display:block; font-size:19px; }
      .mgart-room .mgart-room-viewer-bottom .mgart-room-viewer-actions { margin-top:10px; }
      .mgart-room .mgart-room-viewer-bottom button { flex:1; padding:9px; font-size:9px; }
    }
    /* The room photographs are panoramic. On a portrait phone, keep the whole
       room and the original artwork visible instead of cropping either to fill. */
    @media(max-width:650px) and (orientation:portrait) {
      .mgart-room .mgart-room-viewer { background:#f5f0e9; color:#4e3b2d; }
      .mgart-room .mgart-room-viewer-top { top:0; min-height:74px; padding:calc(14px + env(safe-area-inset-top, 0px)) 16px 12px; background:#f5f0e9; color:#6b543f; font-size:9px; line-height:1.5; letter-spacing:.09em; }
      .mgart-room .mgart-room-viewer-top > span { max-width:calc(100% - 64px); }
      .mgart-room .mgart-room-close { width:42px; height:42px; flex:none; }
      .mgart-room .mgart-room-viewer-stage { inset:calc(74px + env(safe-area-inset-top, 0px)) 0 calc(113px + env(safe-area-inset-bottom, 0px)); display:grid; grid-template-rows:46% 54%; align-items:stretch; overflow:hidden; padding:8px 12px; gap:0; background:#f5f0e9; touch-action:auto; cursor:default; }
      .mgart-room .mgart-room-viewer-stage img,
      .mgart-room .mgart-room-viewer-stage .mgart-room-viewer-wide,
      .mgart-room .mgart-room-viewer-stage .mgart-room-viewer-close-photo,
      .mgart-room .mgart-room-viewer.is-close .mgart-room-viewer-stage .mgart-room-viewer-wide,
      .mgart-room .mgart-room-viewer.is-close .mgart-room-viewer-stage .mgart-room-viewer-close-photo { position:relative; inset:auto; display:block; width:100%; height:100%; min-height:0; object-fit:contain; object-position:center; opacity:1; transform:none; animation:none; transition:none; }
      .mgart-room .mgart-room-viewer-stage .mgart-room-viewer-wide { grid-row:1; grid-column:1; padding-bottom:6px; border-bottom:1px solid #d4bfa9; }
      .mgart-room .mgart-room-viewer-stage .mgart-room-viewer-close-photo { grid-row:2; grid-column:1; padding-top:6px; }
      .mgart-room .mgart-room-viewer.is-close .mgart-room-viewer-stage { grid-template-rows:35% 65%; }
      .mgart-room .mgart-room-viewer.is-close .mgart-room-viewer-stage .mgart-room-viewer-close-photo { grid-row:2; }
      .mgart-room .mgart-room-viewer-bottom { bottom:0; min-height:113px; padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top:1px solid #d4bfa9; background:#f5f0e9; color:#4e3b2d; font-size:19px; }
      .mgart-room .mgart-room-viewer-bottom .mgart-room-viewer-actions { display:flex; margin-top:9px; gap:8px; }
      .mgart-room .mgart-room-viewer-bottom button { min-height:40px; padding:8px 10px; font-size:9px; }
    }
    /* On the first mobile homepage page, the gallery is the final content block. */
    @media(max-width:650px) {
      body.home.blog.mgart-room-mounted #content .ajax-container > .mgart-room ~ .ajax-post-wrapper,
      body.home.blog.mgart-room-mounted #content .pagination__posts { display:none !important; }
    }
    @media(prefers-reduced-motion:reduce) { .mgart-room .mgart-room-scene,.mgart-room .mgart-room-scene.active img,.mgart-room .mgart-room-light,.mgart-room .mgart-room-dissolve,.mgart-room .mgart-room-viewer[open],.mgart-room .mgart-room-viewer-stage img,.mgart-room .mgart-room-shop-echo,.mgart-room .mgart-room-shop-arrow { animation:none !important; transition:none !important; } }
  
