.bnb-teaser{border-top:1px solid var(--line);padding:90px 0;background:#0d120f}.bnb-teaser-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:9%}.bnb-teaser-image{display:block;max-height:500px;overflow:hidden}.bnb-teaser-image img{width:100%;height:500px;object-fit:cover;object-position:center 55%;display:block}.bnb-teaser h2{font-size:clamp(40px,5vw,70px);line-height:1.1}.bnb-teaser p:not(.eyebrow){max-width:420px;color:var(--muted);line-height:1.8}.bnb-page{max-width:1180px;margin:0 auto;padding:48px 28px 90px}.bnb-heading{text-align:center}.bnb-back{color:var(--gold);font:inherit;background:none;border:0;text-decoration:none;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:8px 0}.bnb-heading .eyebrow{margin:34px 0 18px}.bnb-heading h1{font-size:clamp(64px,9vw,110px);line-height:1;margin:0}.bnb-heading>p:last-child{color:var(--muted);margin:20px 0 30px}.bnb-tools{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:30px}.bnb-tools button,.bnb-return{border:1px solid #d0ad7455;background:transparent;color:var(--gold);padding:12px 18px;min-height:44px;font:inherit;cursor:pointer}.bnb-outside{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.bnb-house{position:relative;overflow:hidden;background:#101813}.bnb-house video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.bnb-door{position:absolute;left:40%;top:48%;width:31%;height:27%;background:transparent;border:1px solid #eac78070;box-shadow:0 0 25px #d0ad7433;border-radius:45% 45% 0 0;cursor:pointer;color:var(--paper)}.bnb-door span{position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#111714eb;border:1px solid var(--gold);padding:13px 17px;font:15px var(--sans)}.bnb-door span span{position:static;transform:none;background:none;border:none;padding:0}.bnb-invitation h2,.bnb-room-heading h2{font:clamp(36px,5vw,66px)/1.12 var(--serif);margin:18px 0 28px}.bnb-invitation>p:not(.eyebrow){line-height:1.85;color:var(--muted)}.bnb-page .bnb-note{font:14px/1.7 var(--sans);color:var(--muted);margin-top:26px}.bnb-room-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.bnb-room-heading h2{margin-bottom:14px}.bnb-instruction{color:var(--muted);line-height:1.7}.bnb-room{position:relative;margin-top:24px}.bnb-room>img{width:100%;height:auto;display:block}.bnb-hotspot{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;border:1px solid #f5d7a8;color:#fff2d7;background:#181a15d9;box-shadow:0 0 0 7px #e0ba7725;font:20px var(--serif);cursor:pointer;transition:box-shadow .3s,background .3s}.bnb-hotspot:hover,.bnb-hotspot:focus-visible{background:#886133;box-shadow:0 0 0 12px #e0ba7733}.bnb-hotspot[data-seen]{border-color:#d0ad74;background:#705735}.bnb-choices{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.bnb-choices button{font:18px/1.5 var(--serif);text-align:left;color:var(--paper);border:0;border-right:1px solid var(--line);background:#171e19;padding:22px;cursor:pointer}.bnb-choices button:last-child{border:0}.bnb-choices span{display:block;color:var(--gold);font:11px/1.5 var(--sans);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:9px}.bnb-choices b{color:var(--gold);float:right;font-weight:400}.bnb-page [hidden]{display:none!important}.bnb-page button:focus-visible,.bnb-page a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.bnb-page dialog{background:#151c17;color:var(--text);border:1px solid #d0ad7466;width:min(740px,calc(100% - 30px));max-height:88dvh;padding:35px 45px 40px;overscroll-behavior:contain}.bnb-page dialog::backdrop{background:#050a07db;backdrop-filter:blur(5px)}.bnb-close{display:block;margin-left:auto;background:none;color:var(--gold);border:0;font:15px var(--sans);padding:10px;min-height:44px;cursor:pointer}.bnb-page dialog h2{font:clamp(34px,5vw,56px)/1.12 var(--serif);margin:18px 0 26px}.bnb-page dialog p:not(.eyebrow):not(.bnb-note){font:19px/1.85 var(--sans);margin:25px 0}.bnb-story-image{width:100%;height:auto;max-height:340px;object-fit:cover;margin:12px 0}.bnb-return{display:block;margin-top:35px}.bnb-page dialog .eyebrow{margin-top:18px;font-size:11px}.bnb-hall{animation:bnb-reveal .8s ease both}.bnb-fallback{padding:30px 0}.bnb-fallback a{color:var(--gold)}@keyframes bnb-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:650px){.bnb-page{padding:30px 18px 60px}.bnb-outside{grid-template-columns:1fr;gap:25px}.bnb-house{max-width:440px;width:100%;margin:auto}.bnb-invitation{padding:4px 12px}.bnb-invitation h2{font-size:44px}.bnb-room-heading{display:block}.bnb-room-heading h2{font-size:38px}.bnb-choices{grid-template-columns:1fr}.bnb-choices button{border-right:0;border-bottom:1px solid var(--line);padding:17px 20px}.bnb-hotspot{width:44px;height:44px;font-size:18px}.bnb-page dialog{padding:18px 23px 28px}.bnb-page dialog p:not(.eyebrow):not(.bnb-note){font-size:17px;line-height:1.8}.bnb-teaser{padding:55px 0}.bnb-teaser-grid{grid-template-columns:1fr;gap:30px}.bnb-teaser-image img{height:360px}.bnb-teaser h2{font-size:44px}.bnb-tools button{font-size:13px;padding:10px 13px}}@media(prefers-reduced-motion:reduce){.bnb-hall{animation:none}.bnb-hotspot{transition:none}}

/* Feather the invitation image into its surrounding section. */
.bnb-teaser-image{position:relative}
.bnb-teaser-image::after{content:"";position:absolute;inset:-1px;pointer-events:none;background:linear-gradient(90deg,#0d120f 0%,#0d120f00 12%,#0d120f00 84%,#0d120f 100%),linear-gradient(180deg,#0d120f 0%,#0d120f00 12%,#0d120f00 84%,#0d120f 100%)}

/* Show the photograph only, without the text printed below it. */
.bnb-archive-photo{aspect-ratio:1215/690;overflow:hidden;margin:20px 0 28px;border-radius:3px}
.bnb-archive-photo .bnb-story-image{display:block;width:100%;height:auto;max-height:none;margin:0;object-fit:initial}

.bnb-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.bnb-choices button{border-bottom:1px solid var(--line)}.bnb-kitchen-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:20px 0}.bnb-kitchen-actions .button{margin-top:0}.bnb-kitchen-excerpt{max-width:640px;padding:15px 0;font:21px/1.8 var(--serif)}.bnb-letter{margin:25px 0;padding:4px 0 4px 24px;border-left:1px solid var(--gold)}.bnb-jar{background:#181a1599}@media(max-width:650px){.bnb-choices{grid-template-columns:1fr}.bnb-kitchen-actions{gap:20px}.bnb-letter{padding-left:16px}}

.bnb-upstairs-image{max-width:650px;margin:25px auto 0}.bnb-upstairs-image+.button{display:table;margin:25px auto}.bnb-choices button:last-child:nth-child(odd){grid-column:1/-1}.bnb-upstairs-image .bnb-hotspot{width:60px;height:60px}

.bnb-bathroom-excerpt{max-width:690px;margin:45px auto 0;font:20px/1.85 var(--sans)}.bnb-bathroom-excerpt p{margin:0 0 25px}#bathroom-enter-text{display:flex;margin:16px auto 0}@media(max-width:650px){.bnb-bathroom-excerpt{font-size:18px;margin-top:30px}}

/* Drawer reveal uses two matching photographs; controls stay above both. */
.bnb-drawer-scene .bnb-drawer-layer{position:absolute;inset:0;width:100%;height:100%;clip-path:polygon(0 55%,27% 55%,27% 89%,0 89%);opacity:0;transform:translateY(-1.2%);transition:opacity .55s ease,transform .65s ease;pointer-events:none}
.bnb-drawer-scene.is-open .bnb-drawer-layer{opacity:1;transform:none}
.bnb-drawer-scene .bnb-hotspot{z-index:2}.bnb-key-status{color:var(--gold);font:16px/1.6 var(--sans);min-height:26px}.bnb-key-action{padding:18px 0;border-block:1px solid var(--line);margin:20px 0}.bnb-key-action .button{margin:0;min-height:48px;font-size:16px}.bnb-key-action p{font-size:16px!important}.bnb-page button:disabled{opacity:.7;cursor:default}
@media(prefers-reduced-motion:reduce){.bnb-drawer-scene .bnb-drawer-layer{transition:none;transform:none}}

.bnb-page .bnb-tour-dialog{width:min(1120px,calc(100% - 16px));max-width:none;max-height:96dvh;padding:18px;overflow:auto}.bnb-tour-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.bnb-page .bnb-tour-dialog h2{font-size:28px;margin:0}.bnb-tour-dialog button{font:16px/1.4 var(--sans);min-height:44px;padding:10px 15px;background:#1b251e;border:1px solid #d0ad7466;color:#f3e8d4;cursor:pointer}.bnb-tour-dialog button:focus-visible,.bnb-tour-dialog canvas:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.bnb-tour-nav{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.bnb-tour-nav [aria-pressed="true"]{background:#785b32}.bnb-tour-stage{position:relative;height:58dvh;min-height:240px;background:#0a100c;overflow:hidden}.bnb-tour-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.bnb-tour-stage canvas:active{cursor:grabbing}.bnb-tour-pins{position:absolute;inset:0;pointer-events:none}.bnb-tour-dialog .bnb-tour-pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;max-width:170px;border-radius:5px;background:#111a15eb;font-size:14px;box-shadow:0 2px 14px #0008}.bnb-tour-dialog .bnb-tour-door{border-color:#edd4a9;background:#654b27ed}.bnb-page .bnb-tour-dialog .bnb-tour-hint{font:14px/1.6 var(--sans);color:var(--muted);margin:12px 0}.bnb-tour-controls{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.bnb-tour-controls button{min-width:44px}.bnb-tour-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.bnb-tour-actions button{flex:1 1 155px}.bnb-tour-stage[aria-busy="true"]{cursor:progress}@media(max-width:650px){.bnb-page .bnb-tour-dialog{padding:12px}.bnb-page .bnb-tour-dialog h2{font-size:22px}.bnb-tour-header button{max-width:130px;font-size:14px}.bnb-tour-stage{height:52dvh}.bnb-tour-dialog .bnb-tour-pin{max-width:135px;padding:8px;font-size:14px}.bnb-tour-nav{gap:6px}.bnb-tour-nav button{flex:1;padding:9px 8px}}

.bnb-places{margin-top:22px}.bnb-places summary{color:var(--gold);font:16px/1.6 var(--sans);padding:12px 0;min-height:44px;cursor:pointer;width:fit-content}.bnb-places summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.bnb-places[open] summary{margin-bottom:12px}

.bnb-war-cta{margin:25px 0 12px;padding:24px 0 4px;border-top:1px solid #92b7cf44}.bnb-war-cta p{font:23px/1.5 var(--serif)!important;margin:0 0 18px!important}.bnb-war-cta strong{font-weight:400;color:var(--gold)}.bnb-war-cta>div{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.bnb-war-cta .button{margin:0;font-size:15px;min-height:44px}.bnb-war-cta .text-link{font-size:15px;line-height:1.6}.bnb-screen{width:auto;min-width:44px;height:44px;font:12px var(--sans);padding:8px;border-radius:4px;background:#091f31df;border-color:#91cdeb;box-shadow:0 0 15px #6fbce755}.bnb-war-screen-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.bnb-war-screen-list button{background:#112532;border:1px solid #91cdeb77;color:#e3f5ff;font:14px var(--sans);min-height:44px;padding:12px 20px;cursor:pointer}@media(max-width:650px){.bnb-war-image .bnb-screen{display:none}.bnb-war-screen-list button{flex:1}.bnb-war-cta>div{align-items:flex-start;flex-direction:column}}

.bnb-tour-article{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;background:#1b251e;border:1px solid #d0ad7466;color:#f3e8d4;font:16px/1.4 var(--sans);text-decoration:none;text-align:center;box-sizing:border-box}.bnb-tour-actions .bnb-tour-article{flex:1 1 155px}.bnb-dossier{display:flex;align-items:center;justify-content:center;text-decoration:none}.bnb-tour-article:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Quiet navigation with a visible way back on small screens. */
.bnb-tour-header{position:sticky;top:-18px;z-index:10;background:#151c17;padding:12px 0;box-shadow:0 5px 12px #151c17}
.bnb-tour-header [data-tour-close]{flex-shrink:0}
.bnb-tour-overview{margin:12px 0}.bnb-tour-overview summary{color:var(--gold);font:16px/1.5 var(--sans);padding:12px 0;min-height:44px;cursor:pointer}
.bnb-tour-overview summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.bnb-overview-label{font:14px/1.5 var(--sans)!important;margin:16px 0 6px!important;color:var(--muted)}
.bnb-tour-progress{display:flex;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;font:13px/1.5 var(--sans);color:var(--gold);margin:12px 0}
.bnb-tour-dialog .bnb-tour-pin{box-sizing:border-box;overflow-wrap:anywhere;min-height:44px}
.bnb-close{position:sticky;top:0;background:#151c17;z-index:5}
@media(max-width:650px){.bnb-tour-header{top:-12px}.bnb-tour-header [data-tour-close]{max-width:105px}#podcast .bnb-hotspot{display:none}#podcast>.button,#podcast>.bnb-back{display:flex;width:100%;justify-content:center;min-height:48px;margin-top:16px}.bnb-tour-progress{font-size:12px}.bnb-tour-nav button{flex:1 1 42%}}

.bnb-reading-next{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #d2ad7033}.bnb-reading-next .button{max-width:100%;white-space:normal}.bnb-reading-next p{color:#b3b8af}

/* The panorama fills the browser viewport; controls float over the room. */
.bnb-page #tour-dialog{position:fixed;inset:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;box-sizing:border-box;padding:0;border:0;overflow:hidden;background:#0a100c}
#tour-dialog .bnb-tour-stage{position:absolute;inset:0;height:100%;width:100%;min-height:0;z-index:0}
#tour-dialog .bnb-tour-header{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));z-index:10;padding:0;background:none;box-shadow:none;pointer-events:none;align-items:flex-start}
#tour-dialog .bnb-tour-header h2{font-size:clamp(20px,3vw,28px);line-height:1.3;padding:10px 12px;background:#101a14df;border-radius:4px;max-width:calc(100% - 125px);pointer-events:auto}
#tour-dialog .bnb-tour-header button{pointer-events:auto;background:#101a14ed;max-width:120px;border-radius:4px;min-height:44px}
#tour-dialog .bnb-tour-overview{position:absolute;top:calc(max(12px,env(safe-area-inset-top)) + 70px);left:max(14px,env(safe-area-inset-left));z-index:12;margin:0;max-width:calc(100% - 28px);box-sizing:border-box;background:#101a14ed;border:1px solid #d0ad7455;border-radius:4px;max-height:calc(100dvh - 180px);overflow:auto;overscroll-behavior:contain}
#tour-dialog .bnb-tour-overview[open]{width:420px;padding:0 16px 16px}
#tour-dialog .bnb-tour-overview summary{padding:12px 16px;min-height:44px;box-sizing:border-box;font-size:16px}
#tour-dialog .bnb-tour-overview[open] summary{padding-inline:0}
#tour-dialog .bnb-tour-nav{margin:4px 0 16px}
#tour-dialog .bnb-tour-progress{font-size:14px;margin:18px 0}
#tour-dialog .reader-invitation{margin-top:1rem}
#tour-dialog .bnb-tour-controls{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);z-index:5;margin:0;padding:6px;background:#101a14dd;border-radius:6px;gap:5px}
#tour-dialog .bnb-tour-controls button{background:#101a14eb;padding:8px 10px;min-width:44px}
#tour-dialog .bnb-tour-hint{position:absolute;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 68px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(650px,calc(100% - 32px));box-sizing:border-box;z-index:4;margin:0;padding:8px 12px;background:#101a14db;color:#e4e9df;border-radius:4px;text-align:center;font-size:14px;line-height:1.5;pointer-events:none}
@media(max-width:650px){#tour-dialog .bnb-tour-header button{font-size:14px;max-width:102px}#tour-dialog .bnb-tour-header h2{max-width:calc(100% - 110px)}#tour-dialog .bnb-tour-overview summary{font-size:14px}#tour-dialog .bnb-tour-pin{font-size:14px}#tour-dialog .bnb-tour-hint{font-size:14px}}
@media(max-height:500px){#tour-dialog .bnb-tour-hint{display:none}#tour-dialog .bnb-tour-overview{max-height:calc(100dvh - 105px)}#tour-dialog .bnb-tour-controls{left:auto;right:12px;transform:none}}
/* Small markers keep the objects visible; the full 48px target remains tappable. */
#tour-dialog .bnb-tour-pin,.bnb-page .bnb-quiet-marker{width:48px!important;height:48px!important;min-width:48px;min-height:48px;padding:0!important;display:flex;align-items:center;justify-content:center;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:50%;text-decoration:none;color:#f1cf91;cursor:pointer}
#tour-dialog .bnb-tour-pin[hidden]{display:none!important}
.bnb-marker-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;box-sizing:border-box;background:#182018dd;border:2px solid #e0bb78;border-radius:50%;box-shadow:0 1px 5px #0009;pointer-events:none}
.bnb-marker-icon:has(svg){width:28px;height:28px;border-width:1px}
#tour-dialog .bnb-tour-pin:focus-visible,.bnb-page .bnb-quiet-marker:focus-visible{outline:2px solid #f1cf91;outline-offset:0;background:#101a1466!important}
#tour-dialog .bnb-tour-pin:hover .bnb-marker-icon,.bnb-quiet-marker:hover .bnb-marker-icon{background:#795c32}
#tour-dialog .bnb-tour-help{position:absolute;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 68px);left:16px;z-index:8;background:#101a14ed;border:1px solid #d0ad7455;border-radius:4px;max-width:calc(100% - 32px);box-sizing:border-box;max-height:45dvh;overflow:auto}
#tour-dialog .bnb-tour-help summary{padding:10px 16px;min-height:44px;box-sizing:border-box;cursor:pointer;font:1rem/1.5 var(--sans);color:var(--gold)}
#tour-dialog .bnb-tour-help[open]{width:420px}
#tour-dialog .bnb-tour-help p,#tour-dialog .bnb-tour-help .bnb-tour-hint{display:block;position:static;transform:none;width:auto;max-width:none;margin:0;padding:0 16px 14px;background:none;text-align:left;pointer-events:auto;font:1rem/1.6 var(--sans);color:#e4e9df}
#tour-dialog .bnb-tour-help summary:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
@media(max-height:500px){#tour-dialog .bnb-tour-help{bottom:16px;max-width:calc(100% - 340px);min-width:74px}#tour-dialog .bnb-tour-help[open]{max-width:calc(100% - 32px);bottom:78px}}
.bnb-page #bnb-farewell{width:min(620px,calc(100% - 32px));box-sizing:border-box;padding:clamp(24px,5vw,48px);max-height:90dvh;border:1px solid #d0ad7455;background:#111a14}
#bnb-farewell h2{font:clamp(2.2rem,6vw,3.4rem)/1.15 var(--serif);margin:20px 0}
#bnb-farewell p{font:1.1rem/1.75 var(--sans);color:#d8ded3}
#bnb-farewell .farewell-note{font-size:.95rem;color:#aeb7a9}
#bnb-farewell .farewell-close{display:block;margin-left:auto;min-height:44px;padding:8px 12px;background:none;border:0;color:var(--gold);font:1rem var(--sans);cursor:pointer}
#bnb-farewell .button{margin:12px 0;white-space:normal}
#bnb-farewell .farewell-options{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:24px;border-top:1px solid #d0ad7433;padding-top:16px}
#bnb-farewell .farewell-options a,#bnb-farewell .farewell-options button{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:none;border:0;color:var(--gold);font:1rem/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
/* Align all three actions below the upstairs image on phones. */
@media(max-width:650px){
 .bnb-page #upstairs > .button,.bnb-page #upstairs > .bnb-back{display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.5;min-height:48px;padding:12px 16px}
 .bnb-page #upstairs > .button{margin-top:24px;margin-bottom:16px}
 .bnb-page #upstairs > .bnb-back{margin-top:8px;margin-bottom:8px}
}
#tour-dialog .bnb-tour-pin.bnb-present-door{width:180px!important;height:auto!important;min-height:48px;padding:9px 12px!important;gap:8px;background:#101a14e8!important;border:1px solid #d0ad7480!important;border-radius:5px;flex-direction:column;color:#f0dfbf}
#tour-dialog .bnb-present-door .bnb-door-caption{font:1rem/1.4 var(--sans);text-align:center;white-space:normal}

/* Switch the view without leaving the current room. */
.bnb-room-view{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 20px;color:var(--muted);font:14px/1.5 var(--sans)}
.bnb-room-view button{min-height:44px;padding:10px 16px;background:#1b251e;border:1px solid #d0ad7466;border-radius:4px;color:var(--gold);font:inherit;cursor:pointer}
#tour-dialog .bnb-tour-pins{z-index:2}

/* A named community entrance is recognisable without learning an icon. */
#tour-dialog .bnb-tour-pin.bnb-reader-computer,.bnb-page .bnb-quiet-marker.bnb-reader-computer{width:112px!important;height:64px!important;flex-direction:column;gap:5px;border-radius:5px}
.bnb-reader-caption{display:block;padding:5px 9px;border:1px solid #d0ad7480;border-radius:4px;background:#101a14ed;color:#f1cf91;font:13px/1.3 var(--sans);white-space:nowrap;text-align:center}

#tour-dialog .bnb-tour-stage[aria-busy="true"]::after{content:"De kamer wordt geopend…";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 18px;max-width:calc(100% - 32px);background:#101a14ed;color:#eee7da;font:1rem/1.5 var(--sans);text-align:center;pointer-events:none}
#tour-dialog .bnb-tour-controls{box-sizing:border-box;width:min(350px,calc(100% - 24px));display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
#tour-dialog .bnb-tour-controls button{min-width:0;padding-left:2px;padding-right:2px;-webkit-user-select:none;user-select:none}
#tour-dialog .bnb-tour-header h2{box-sizing:border-box;overflow-wrap:anywhere}
/* Two names emerge in the condensation; the mirror frame stays still. */
.bath-mirror-mist{position:absolute;left:75.7%;top:2.5%;width:16.6%;height:37.2%;clip-path:polygon(0 25%,100% 0,100% 100%,0 91%);padding-top:3%;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5%;isolation:isolate;overflow:hidden;pointer-events:none}
.bath-mirror-mist:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#bbc2bdd9,#b2b9b5ed 50%,#c1c5bfd9);opacity:0;z-index:-1}
.bath-mirror-mist button{font:italic clamp(14px,4vw,45px)/1 Georgia,serif;background:transparent;border:0;color:#293b38;min-height:44px;width:100%;padding:0;cursor:pointer;opacity:0;pointer-events:auto}
.bath-mirror-mist.is-visible:before{animation:bath-condense 2.8s .8s linear both}.bath-mirror-mist.is-visible button{animation:bath-condense 1.7s 2.8s linear both}
@keyframes bath-condense{to{opacity:1}}
.bnb-tour-pin.bath-name-target{width:76px;height:44px;background:transparent;border:0;box-shadow:none;border-radius:3px}
.bnb-tour-pin.bath-name-target:hover,.bnb-tour-pin.bath-name-target:focus-visible{background:#fff2d72b;outline:2px solid var(--gold)}
#mortuary-dialog{position:fixed;inset:0;margin:auto;padding:0;border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#080e13;color:#eee9de;overflow:hidden}
#mortuary-dialog::backdrop{background:#080e13}
.mortuary-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.mortuary-shade{position:absolute;inset:0;background:linear-gradient(180deg,#060c1355,transparent 30%,#050b1388 72%,#050b13e8)}
#mortuary-title{position:absolute;left:7%;right:7%;bottom:12%;margin:0;text-align:center;font:clamp(32px,5.5vw,76px)/1.22 var(--serif);text-wrap:balance;text-shadow:0 2px 20px #000}
[data-mortuary-close]{position:absolute;top:max(22px,env(safe-area-inset-top));right:22px;max-width:calc(100% - 44px);min-height:48px;padding:12px 18px;border:1px solid #cdb58388;background:#0e171edb;color:var(--gold);font:inherit;cursor:pointer}
[data-mortuary-close]:focus-visible,.bath-mirror-mist button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.bath-mirror-mist.is-visible:before,.bath-mirror-mist.is-visible button{animation:none;opacity:1}}

@media(max-width:650px){#tour-dialog[data-room="bathroom"] .bnb-tour-stage{top:22%;bottom:auto;height:calc(100vw / 1.1);max-height:60dvh;}#tour-dialog[data-room="bathroom"]{background:#0a100c;}}

.bath-tub-steam{position:absolute;left:15%;top:32%;width:29%;height:29%;pointer-events:none;overflow:visible;opacity:0}
#bathroom:not([hidden]) .bath-tub-steam{opacity:1}
.bath-tub-steam i{position:absolute;bottom:0;width:26%;height:72%;border-radius:50%;background:radial-gradient(ellipse,#f4eee0bb,transparent 74%);filter:blur(6px);opacity:0;animation:bath-steam-rise 10s linear infinite;animation-play-state:paused}
#bathroom:not([hidden]) .bath-tub-steam i{animation-play-state:running}
.bath-tub-steam i:nth-child(1){left:6%;animation-delay:-2s}.bath-tub-steam i:nth-child(2){left:30%;animation-delay:-7s}.bath-tub-steam i:nth-child(3){left:52%;animation-delay:-4.5s}.bath-tub-steam i:nth-child(4){left:72%;animation-delay:-9s}
@keyframes bath-steam-rise{0%{transform:translate(0,15%) scale(.7);opacity:0}20%{opacity:1}70%{opacity:.75}100%{transform:translate(12%,-100%) scale(1.6);opacity:0}}
@media(prefers-reduced-motion:reduce){.bath-tub-steam i{animation:none;opacity:.75;transform:translateY(-25%)}}

.bath-tub-steam:before{content:"";position:absolute;left:4%;right:0;bottom:0;height:45%;background:radial-gradient(ellipse,#f4eee035,transparent 72%);filter:blur(8px);pointer-events:none}

.bath-condensation{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:2}
.bath-mirror-mist.is-visible .bath-condensation{animation:bath-condense 2s 1.3s linear both}
.bath-condensation i{position:absolute;border-radius:45% 40% 55% 50%;background:radial-gradient(ellipse at 30% 25%,#f4f4de70,transparent 65%);box-shadow:1px 1px 1px #263c343d;backdrop-filter:blur(.35px);animation:mirror-drip var(--drip-duration) var(--drip-delay) linear infinite;animation-play-state:paused}
.bath-mirror-mist.is-visible .bath-condensation i{animation-play-state:running}
.bath-condensation i:after{content:"";position:absolute;bottom:70%;left:45%;width:1px;height:var(--trail-length);background:linear-gradient(transparent,#687c6933)}
.bath-mirror-mist button{position:relative;z-index:1}
@keyframes mirror-drip{0%{top:-8%;opacity:0;transform:translateX(0)}8%{opacity:.75}45%{transform:translateX(1px)}75%{transform:translateX(-1px)}92%{opacity:.65}100%{top:108%;opacity:0;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.bath-mirror-mist.is-visible .bath-condensation{animation:none;opacity:1}.bath-condensation i{animation:none;opacity:.55}}

.bath-mirror-mist.has-rivulets:before{display:none}
.bath-rivulet-fog{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0}
.bath-mirror-mist.is-visible .bath-rivulet-fog{animation:bath-condense 2.8s .8s linear both}
.bath-condensation i:after{height:var(--trail-length);opacity:.45}
@media(prefers-reduced-motion:reduce){.bath-mirror-mist.is-visible .bath-rivulet-fog{animation:none;opacity:1}}
