.mordome .photo-tour { position:fixed; inset:0; width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; border-radius:0; background:#fff; color:#223247; overflow:hidden; }
.mordome .photo-tour[open] { display:flex; flex-direction:column; }
.photo-tour::backdrop { background:#0009; }
.mordome .photo-tour__bar { display:flex; align-items:center; justify-content:space-between; flex:none; min-height:72px; padding:12px 32px; border-bottom:1px solid #ececea; background:#fff; }
.mordome .photo-tour__back { display:grid; place-items:center; width:42px; height:42px; min-width:42px; padding:0; border:1px solid #d9dedc; border-radius:50%; background:#fff; color:inherit; cursor:pointer; }
.photo-tour__back svg { width:22px; height:22px; }
.mordome .photo-tour__share button { border:0; background:none; padding:10px 12px; min-height:44px; color:inherit; font-size:14px; font-weight:600; text-decoration:underline; cursor:pointer; }
.photo-tour__share [role=status] { font-size:12px; }
.mordome .photo-tour__scroll { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scroll-behavior:smooth; }
.photo-tour__content { max-width:1280px; margin:0 auto; padding:32px 48px 80px; }
.mordome .photo-tour h2,.mordome .photo-tour h3 { font-family:Inter,system-ui,sans-serif; color:inherit; font-weight:600; letter-spacing:-.035em; line-height:1.25; }
.mordome .photo-tour h2 { font-size:28px; margin:0 0 28px; }
.photo-tour__index { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:20px 16px; margin:0 0 64px; }
.mordome .photo-tour__thumb { padding:0; border:0; background:transparent; color:inherit; text-align:left; text-decoration:none; font-size:14px; line-height:1.4; }
.photo-tour__thumb img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:9px; margin-bottom:8px; }
.photo-tour__thumb:hover img { filter:brightness(.92); }
.photo-tour__thumb:focus-visible,.photo-tour__photo:focus-visible,.photo-tour__back:focus-visible { outline:2px solid #31537f; outline-offset:4px; }
.photo-tour__group { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); gap:48px; align-items:start; margin-bottom:64px; scroll-margin-top:28px; }
.photo-tour__heading { position:sticky; top:28px; }
.mordome .photo-tour h3 { font-size:24px; margin:0; }
.photo-tour__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.photo-tour__figure { min-width:0; margin:0; }
.photo-tour__grid[data-odd=true] .photo-tour__figure:first-child { grid-column:1/-1; }
.mordome .photo-tour__photo { display:block; width:100%; padding:0; border:0; border-radius:10px; overflow:hidden; background:#f3f3f0; cursor:zoom-in; }
.photo-tour__photo img { display:block; width:100%; height:auto; }
.photo-tour__figure figcaption { margin-top:7px; font-size:12px; color:#6b747c; }
.mordome .directory__lightbox { width:min(1100px,96vw); max-height:96vh; max-height:96dvh; padding:16px; border-radius:14px; }
.mordome .directory__lightbox figure img { height:auto; max-height:68vh; max-height:68dvh; width:auto; max-width:100%; object-fit:contain; }
.mordome .directory__lightbox-controls button { min-width:42px; min-height:42px; padding:8px; border-radius:50%; }
@media(max-width:700px) {
 .mordome .photo-tour__bar { min-height:64px; padding:10px 20px; }
 .photo-tour__content { padding:24px 20px 48px; }
 .mordome .photo-tour h2 { font-size:24px; margin-bottom:22px; }
 .photo-tour__index { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; margin-bottom:40px; }
 .photo-tour__group { display:block; margin-bottom:40px; scroll-margin-top:20px; }
 .photo-tour__heading { position:static; margin-bottom:18px; }
 .mordome .photo-tour h3 { font-size:21px; }
 .photo-tour__grid { gap:10px; }
 .photo-tour__grid .photo-tour__figure { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) { .mordome .photo-tour__scroll { scroll-behavior:auto; } }

/* Keep photo groups reachable while the tour scrolls. */
.mordome .photo-tour__scroll { overflow-anchor:none; }
.mordome .photo-tour__index { position:sticky; top:0; z-index:3; display:flex; gap:16px; overflow-x:auto; overscroll-behavior-x:contain; background:#fff; padding:12px 0 16px; margin-bottom:44px; border-bottom:1px solid transparent; scrollbar-width:thin; transition:padding .3s ease,margin-bottom .3s ease,border-color .3s ease; }
.mordome .photo-tour__thumb { flex:0 0 clamp(132px,16vw,184px); min-width:0; display:flex; flex-direction:column; align-items:flex-start; padding:0 0 6px; border-bottom:2px solid transparent; transition:flex-basis .3s ease; }
.mordome .photo-tour__thumb img { width:100%; height:clamp(88px,10.6667vw,122.667px); margin-bottom:8px; flex:none; transition:width .3s ease,height .3s ease; }
.mordome .photo-tour__thumb span { white-space:nowrap; }
.mordome .photo-tour__thumb[aria-current=location] { border-bottom-color:#31537f; font-weight:600; }
.mordome .photo-tour--compact .photo-tour__index { padding:10px 0; margin-bottom:24px; border-bottom-color:#ececea; }
.mordome .photo-tour--compact .photo-tour__thumb { flex-basis:112px; }
.mordome .photo-tour--compact .photo-tour__thumb img { width:48px; height:32px; }
.photo-tour__group { scroll-margin-top:var(--photo-tour-nav-offset,28px); }
.photo-tour__heading { top:var(--photo-tour-nav-offset,28px); }
@media(max-width:700px) {
 .mordome .photo-tour__index { gap:14px; margin-bottom:32px; }
 .mordome .photo-tour--compact .photo-tour__thumb { flex-basis:100px; }
}
@media(prefers-reduced-motion:reduce) { .mordome .photo-tour__index,.mordome .photo-tour__thumb,.mordome .photo-tour__thumb img { transition:none; } }
