/* The gallery is intentionally scoped; existing realms and their tours are untouched. */
.realm-gates,.realm-gallery,.realm-preview-dialog{--rg-ink:#eee0c0;--rg-gold:#d3af6e;--rg-edge:#b1915559;color:var(--rg-ink);font-family:Georgia,'Times New Roman',serif}
.realm-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}
.realm-gate{position:relative;display:flex;min-height:440px;align-items:end;overflow:hidden;border:1px solid var(--rg-edge);border-radius:12px;color:var(--rg-ink);text-decoration:none;background:#111917;isolation:isolate;box-shadow:0 12px 32px #0005}
.realm-gate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .5s}
.realm-gate::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#080d1000 10%,#080d1044 32%,#080d10e6 67%,#080d10 100%)}
.realm-gate:hover>img{transform:scale(1.035)}
.realm-gate:focus-visible,.realm-gallery a:focus-visible,.realm-gallery button:focus-visible,.realm-preview-dialog button:focus-visible{outline:3px solid #f2cc80;outline-offset:4px}
.realm-gate-copy{padding:28px;width:100%;box-sizing:border-box}
/* Shared gallery heading treatment, including future gates and collections. */
.realm-overline{font-size:clamp(15px,1.35vw,18px);line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#e4bf7a;font-weight:bold}
.realm-gate h3{font-size:29px;line-height:1.1;margin:12px 0;color:#ffedc8}
.realm-gate p{font-size:15px;line-height:1.65;margin:14px 0 22px;color:#e2d7c2}
.realm-gate-action{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rg-edge);padding-top:17px;font-size:14px;font-weight:bold;color:#f2cf8c}
.realm-gallery{background:#0c1212;max-width:1500px;margin:0 auto;border:1px solid #8c774446;border-radius:14px;overflow:hidden;box-shadow:0 15px 60px #0005}
.realm-gallery-seasonal{background:#101b1b}.realm-gallery-exclusive{background:#181218}
.realm-gallery-nav{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 28px;background:#080e0ef5;border-bottom:1px solid var(--rg-edge)}
.realm-gallery-nav>div{display:flex;gap:6px;flex-wrap:wrap}
.realm-gallery-nav a{color:#decfaa;text-decoration:none;padding:10px 12px;font-size:14px;border-radius:5px}
.realm-gallery-nav a[aria-current]{color:#ffe1a1;background:#aa854123;box-shadow:inset 0 -2px #cba661}
.realm-gallery-back{white-space:nowrap}
.realm-gallery-hero{position:relative;min-height:390px;display:flex;align-items:end;isolation:isolate;padding:42px 6%;box-sizing:border-box}
.realm-gallery-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}
.realm-gallery-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080d11d9 0%,#080d1166 48%,#080d110a),linear-gradient(0deg,#0c1212,transparent 65%);z-index:-1}
.realm-gallery-hero h1{font-size:clamp(38px,5vw,70px);line-height:1.06;max-width:720px;color:#fff0cd;margin:12px 0 18px}
.realm-gallery-hero p:last-child{max-width:500px;font-size:18px;line-height:1.65;margin-bottom:0;color:#ecdfc5}
.realm-gallery-intro{display:flex;align-items:center;justify-content:center;gap:18px;text-align:center;padding:28px 24px;border-bottom:1px solid var(--rg-edge);color:#eedbb5}
.realm-gallery-intro>span{color:#d9b877;font-size:24px}.realm-gallery-intro p{font-size:20px;margin:0;line-height:1.5}.realm-gallery-intro small{font-size:14px;color:#b9b8ac}
.realm-collection{padding:38px 6% 46px}.realm-collection+.realm-collection{border-top:1px solid var(--rg-edge)}
.realm-collection>header{max-width:740px;margin:0 auto 24px;text-align:center}.realm-collection h2,.realm-gallery-note h2{font-size:30px;color:#f4e3c2;line-height:1.2;margin:10px 0}.realm-collection>header>p{color:#c3beae;font-size:16px;line-height:1.6}
.realm-exhibits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;justify-content:center}
.realm-exhibits:has(>.realm-exhibit:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,360px))}
.realm-exhibit{text-align:center;min-width:0;padding:0 8px 22px;border-bottom:1px solid var(--rg-edge)}
.realm-exhibit-preview{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding:0 12px;background:transparent;border:0;border-radius:12px;color:inherit;font:inherit;cursor:pointer;box-shadow:none}
.realm-medallion-stage{display:grid;place-items:center;width:100%;height:270px;background:radial-gradient(ellipse at center,#c0b18023,transparent 65%);transition:filter .3s}
.realm-medallion-stage img{object-fit:contain;max-width:100%;width:210px;height:240px;filter:drop-shadow(0 4px 18px #dec7911c);transition:transform .3s}
.realm-exhibit-preview:hover{background:#fff3dd05}.realm-exhibit-preview:hover img{transform:translateY(-5px)}
.realm-exhibit-title{display:block;font-size:26px;line-height:1.2;font-weight:bold;color:#f8e4bd}
.realm-exhibit-description{font-size:15px;line-height:1.6;color:#c9c3b6;max-width:290px;min-height:48px}
.realm-exhibit-open{font-size:14px;color:#e5bd74;padding:10px 0 8px}.realm-access-label{font-size:13px;line-height:1.6;color:#e7c37d;margin:10px 0 0}.realm-edition-label{font-size:12px;line-height:1.6;color:#adafa5;margin:5px 0 0}
.realm-gallery-note{max-width:790px;margin:12px auto 46px;padding:28px;text-align:center;border-top:1px solid var(--rg-edge)}
.realm-gallery-note h2{font-size:25px}.realm-gallery-note p{color:#c6beac;line-height:1.8;font-size:16px}.realm-gallery a{color:#e4c381}.realm-gallery-note a{display:inline-block;margin-top:10px}
.realm-gallery-footer{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:28px;border-top:1px solid var(--rg-edge)}.realm-gallery-footer a{text-decoration:none}
/* A definite height keeps Safari from collapsing the scroll body to a header bar
   when a phone rotates past the narrow-screen breakpoint, and on tablets. */
.realm-preview-dialog{box-sizing:border-box;padding:0;width:min(1100px,calc(100vw - 48px));max-width:1100px;height:min(900px,calc(100vh - 48px));height:min(900px,calc(100dvh - 48px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);background:#101515;color:#eee0c0;border:1px solid #c09c59;border-radius:12px;box-shadow:0 30px 100px #000b;overflow:hidden}
.realm-preview-dialog::backdrop{background:#030507db;backdrop-filter:blur(7px)}
.realm-preview-dialog[open]{display:flex;flex-direction:column}
.realm-preview-heading{flex-shrink:0}
.realm-preview-dialog .realm-preview-scroll{min-height:0;flex:1 1 auto;max-height:none;-webkit-overflow-scrolling:touch}
.realm-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 28px;background:#101515;border-bottom:1px solid #a082484d}
.realm-preview-heading h2{font-size:28px;line-height:1.2;margin:4px 0;color:#f7e7c7}.realm-preview-heading p{margin:0}
.realm-preview-dialog button{font:700 14px Georgia,serif;color:#f4dfb4;background:#252921;border:1px solid #a18a5966;border-radius:5px;padding:12px 16px;min-height:44px;cursor:pointer}
.realm-preview-dialog button:hover{background:#3a3a28}.realm-preview-close{flex:none}.realm-preview-close span{margin-left:12px;font-size:20px}
.realm-preview-scroll{max-height:calc(100dvh - 159px);overflow:auto;overscroll-behavior:contain}
.realm-preview-view-switch{display:flex;gap:10px;padding:18px 28px;flex-wrap:wrap}.realm-preview-view-switch button[aria-pressed=true]{background:#caa568;color:#20170c}
.realm-preview-scene{margin:0;padding:0 28px;text-align:center}.realm-preview-scene img{display:block;width:100%;height:auto;max-height:66dvh;object-fit:contain;background:#080c0d;border-radius:5px}.realm-preview-scene.is-portrait img{max-height:68dvh;width:auto;max-width:100%;margin:auto}.realm-preview-scene figcaption{font-size:12px;color:#b2b1a4;padding:12px}
.realm-preview-description{display:flex;gap:24px;align-items:center;padding:10px 28px 26px}.realm-preview-description>img{object-fit:contain;flex:none}.realm-preview-description p{margin:6px 0;line-height:1.6}.realm-preview-description small{color:#b6b6a7;font-size:12px;line-height:1.6}
.realm-preview-next{display:flex;justify-content:space-between;gap:16px;padding:0 28px 28px}
.realm-preview-room{padding:0 18px}.realm-preview-viewport{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid #96794766;border-radius:6px;background:#080c0d;box-sizing:border-box}.realm-preview-room iframe{position:absolute;inset:0;display:block;width:1920px;height:1080px;max-width:none;max-height:none;border:0;background:#080c0d;transform-origin:top left}.realm-preview-room p{font-size:12px;color:#c5c2b3;text-align:center;line-height:1.5}.realm-preview-dialog [hidden]{display:none!important}
.realm-review-list{display:grid;gap:12px}.realm-review-list article{display:flex;align-items:center;gap:20px;border-bottom:1px solid #a9955966;padding:20px 0}.realm-review-list img{width:80px;height:100px;object-fit:contain}.realm-review-list h3{margin:0}.realm-office-review p{line-height:1.7}.realm-office-review>section{margin-top:30px}
@media(max-width:1050px){.realm-gates{gap:16px}.realm-gate-copy{padding:22px}.realm-gate h3{font-size:25px}.realm-gallery-nav{flex-direction:column;align-items:start}.realm-exhibits{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.realm-exhibit-title{font-size:23px}}
@media(max-width:700px){.realm-gates{grid-template-columns:1fr;gap:22px}.realm-gate{min-height:380px}.realm-gate>img{object-position:center 40%}.realm-gate-copy{padding:26px}.realm-gate p{max-width:470px}.realm-gallery{border-radius:8px}.realm-gallery-nav{padding:14px;gap:8px}.realm-gallery-nav>div{gap:0}.realm-gallery-nav a{font-size:12px;padding:10px 8px}.realm-gallery-hero{min-height:360px;padding:34px 24px}.realm-gallery-hero h1{font-size:42px}.realm-gallery-hero p:last-child{font-size:16px}.realm-gallery-intro{padding:24px 18px}.realm-gallery-intro small{display:block;margin-top:6px}.realm-collection{padding:32px 20px}.realm-collection h2{font-size:28px}.realm-exhibits,.realm-exhibits:has(>.realm-exhibit:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 10px}.realm-exhibit{padding:0 0 20px}.realm-exhibit-preview{padding:0 2px}.realm-medallion-stage{height:205px}.realm-medallion-stage img{width:160px;height:190px}.realm-exhibit-title{font-size:21px}.realm-exhibit-description{font-size:14px}.realm-access-label{font-size:12px}.realm-gallery-note{margin:0 18px 24px;padding:24px 6px}.realm-gallery-footer{gap:18px;font-size:14px}.realm-preview-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0;border:0}.realm-preview-heading{padding:14px 16px}.realm-preview-heading h2{font-size:23px}.realm-preview-scroll{max-height:calc(100dvh - 94px)}.realm-preview-view-switch{padding:14px 16px;gap:8px}.realm-preview-dialog button{font-size:12px;padding:10px 12px}.realm-preview-scene{padding:0 12px}.realm-preview-scene img{max-height:none}.realm-preview-scene.is-portrait img{max-height:65dvh}.realm-preview-description{gap:14px;padding:10px 16px 22px}.realm-preview-description>img{width:58px;height:76px}.realm-preview-next{padding:0 16px 24px}.realm-review-list article{align-items:start}.realm-review-list img{width:50px;height:75px}}
/* Use the whole short screen in landscape, with the close button kept above
   the scrolling room. The vh declarations also support older iPad browsers. */
@media(max-width:700px),(max-width:1000px) and (max-height:600px){
 .realm-preview-dialog{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;border-radius:0;border:0}
 .realm-preview-heading{padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));gap:12px}
 .realm-preview-heading h2{font-size:23px}
}
@media(max-width:410px){.realm-exhibits,.realm-exhibits:has(>.realm-exhibit:nth-child(2):last-child){grid-template-columns:1fr}.realm-medallion-stage{height:225px}.realm-medallion-stage img{width:190px;height:220px}.realm-exhibit-description{min-height:0}.realm-exhibit-title{font-size:25px}}
@media(prefers-reduced-motion:reduce){.realm-gate>img,.realm-medallion-stage,.realm-medallion-stage img{transition:none}.realm-gate:hover>img,.realm-exhibit-preview:hover img{transform:none}}

/* Keep the purchase entrance visible before the artwork, without changing the room. */
.realm-purchase-entry{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;text-align:center}
.realm-purchase-entry button{max-width:100%;min-height:44px;white-space:normal;background:#caa568;color:#20170c;border:1px solid #d3af6e;border-radius:5px;padding:12px 16px;font:700 15px/1.4 Georgia,serif;cursor:pointer}
.realm-purchase-entry small{color:#d5c8aa;font:13px/1.5 Georgia,serif}
.realm-preview-scroll{max-height:none;flex:1;min-height:0}
.realm-preview-dialog[open]{display:flex;flex-direction:column}
.realm-preview-heading{flex:none}

@media(max-width:1100px){.realm-preview-viewport{aspect-ratio:auto;height:620px}.realm-preview-room iframe{width:100%;height:620px;transform:none}}

.membership-exclusive-shop{display:flex;flex-direction:column;align-items:center;gap:5px;width:fit-content;max-width:100%;box-sizing:border-box;margin:22px 0 0;padding:15px 24px;border:1px solid #f3d7a1;border-radius:6px;background:linear-gradient(#f1d99e,#c6a05c);color:#24190d!important;font:bold 20px/1.3 Georgia,serif;text-align:center;text-decoration:none;box-shadow:0 4px 14px #0004}.membership-exclusive-shop span{font:14px/1.4 Georgia,serif}.membership-exclusive-note{font-size:14px!important;line-height:1.5!important;margin:9px 0 18px!important;color:#e7d4ae}.membership-exclusive-shop:focus-visible{outline:3px solid #fff0c9;outline-offset:4px}
