/* Safe page scenes preserve full viewport layout inside independent visual clips. */
.dels-menu { position:fixed; inset:0; width:100%; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; overflow:hidden; color:var(--dels-ink); background:#93907b; }
.dels-menu::backdrop { background:#93907b; }
.dels-menu::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.13; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.6' d='M0 0h120v120H0z'/%3E%3C/svg%3E"); }
.dels-menu-rail { position:absolute; inset:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; touch-action:pan-x; overscroll-behavior:contain; }
.dels-menu-card { position:absolute; display:block; padding:0; margin:0; overflow:hidden; background:var(--dels-bg); color:var(--dels-ink); text-decoration:none; transform:translateX(var(--menu-pointer,0px)); }
.dels-menu-card:focus-visible { outline:2px solid #111; outline-offset:6px; }
.dels-scene { position:absolute; top:0; left:0; width:100vw; height:100dvh; transform-origin:0 0; overflow:hidden; background:var(--dels-bg); color:var(--dels-ink); pointer-events:none; }
.dels-scene .site-shell { position:relative; width:100%; height:100%; overflow:hidden; }
.dels-scene .site-header { position:absolute; }
.dels-scene.about-body .site-header { position:relative; }
.dels-scene-scroll { position:relative; }
.dels-scene .about-opening-media { position:relative; }
.dels-scene:not(.dels-editorial-menu-scene) .detail-line > span,.dels-scene:not(.dels-editorial-menu-scene) .about-line { transform:none!important; }
.dels-scene .detail-media-frame,.dels-scene .project-media { clip-path:none!important; }
.dels-scene [data-about-reveal],.dels-scene .project-label,.dels-scene:not(.dels-editorial-menu-scene) .site-header > *,.dels-scene .nav-control { opacity:1!important; }
.dels-scene .brand-wordmark { clip-path:none!important; }
.dels-scene-label { position:absolute; top:100px; left:16px; font-size:90px; letter-spacing:-.04em; line-height:1; }
.dels-scene.is-route-preview .about-headline,.dels-scene.is-route-preview .archive-intro h1 { visibility:hidden; }
.dels-menu-actions { position:fixed; top:16px; right:16px; display:flex; gap:24px; }
.dels-menu-actions button { border:0; padding:8px; background:transparent; color:#111; text-transform:uppercase; cursor:pointer; }
.menu-open { overflow:hidden; }
.menu-open > .site-shell { visibility:hidden; }
@media(max-width:700px){ .dels-menu-actions{top:8px;right:8px;} .dels-scene-label{top:80px;left:8px;font-size:54px;} }
@media(prefers-reduced-motion:reduce){ .dels-menu-card { transform:none; } }

@media(min-width:701px){.dels-scene.is-route-preview .about-opening-media{position:absolute;top:calc(100dvh - 25.75vw - 16px);bottom:auto;}}
.dels-scene.is-expanding .dels-scene-label{animation:scene-label-out 300ms ease-in forwards;}
.dels-scene.is-expanding .about-headline,.dels-scene.is-expanding .archive-intro h1{visibility:visible;animation:scene-heading-in 800ms 350ms cubic-bezier(.22,1,.36,1) both;}
@keyframes scene-label-out{to{clip-path:inset(0 0 100%);transform:translateY(-20px);}}
@keyframes scene-heading-in{from{clip-path:inset(100% 0 0);transform:translateY(20px);}to{clip-path:inset(0);transform:none;}}

.dels-menu-card { cursor:pointer; }

.dels-scene .site-header { inset:0 0 auto; width:100%; }
.dels-scene.about-body .site-header { inset:auto; }
.dels-scene.is-route-preview .site-header { color:var(--dels-ink); }
.dels-scene.is-route-preview .brand-wordmark { background:var(--dels-ink); }

.dels-menu-rail::after{content:'';position:absolute;left:var(--menu-end,100%);top:0;width:1px;height:1px;}
@media(max-width:700px){.dels-menu-rail{scroll-snap-type:x mandatory;scroll-padding-left:20vw;}.dels-menu-card{scroll-snap-align:start;}.dels-menu-rail.is-dragging{scroll-snap-type:none;}}

.dels-home-return .dels-menu-card{transform:none;pointer-events:none;}
.dels-return-rail{position:absolute;inset:0;overflow:hidden;}

/* About photograph for the simplified Menu scene; editorial content stays in the real page. */
.dels-scene.dels-about-menu-preview { background:var(--dels-bg); }
.dels-about-menu-preview > img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }

/* Transition scenes retain a full viewport layout; only the enclosing card clips them. */
.dels-live-menu-scene { z-index:2; width:100vw; height:100dvh; }
.dels-live-menu-scene *, .dels-live-menu-scene *::before, .dels-live-menu-scene *::after { animation:none!important; transition:none!important; }
.dels-live-menu-scene .dels-scene-label { display:none; }
.dels-menu[data-phase="selecting"] .dels-menu-card, .dels-menu[data-phase="closing"] .dels-menu-card { pointer-events:none; }
.dels-menu[data-opening="true"] .dels-menu-rail { overflow:hidden; touch-action:none; }

/* Simplified Menu identity and editorial phase masks. */
.dels-preview-header { position:absolute;z-index:3;top:16px;left:16px;width:calc(var(--dels-preview-width) - 32px);display:flex;justify-content:space-between;align-items:flex-start;color:var(--dels-ink); }
.dels-preview-name { display:flex;flex-direction:column;font-size:12px;line-height:12px; }
.dels-preview-signature { display:block;width:80px;height:38px;background:currentColor;mask:url('dels-signature.png') center/contain no-repeat;-webkit-mask:url('dels-signature.png') center/contain no-repeat; }
.dels-simple-menu-preview .archive-intro h1 { visibility:hidden; }
.dels-about-menu-preview > img { position:absolute;left:16px;bottom:16px;width:55%;height:auto;aspect-ratio:.8;object-fit:cover; }
.dels-editorial-title-mask { overflow:hidden; }
.dels-editorial-menu-scene .about-line-mask { overflow:hidden; }
@media(max-width:700px){
  .dels-preview-header{top:8px;left:8px;width:calc(var(--dels-preview-width) - 16px);}
  .dels-preview-signature{width:70px;height:35px;}
  .dels-about-menu-preview > img{left:auto;right:8px;bottom:8px;width:63.3%;}
}

.dels-menu-photo-layer { z-index:5;background:transparent; }
.dels-menu-shared-photo { position:absolute;overflow:hidden; }
.dels-menu-shared-photo > img { display:block;width:100%;height:100%;object-fit:cover; }

/* Destination previews use the global palette even when opened from a Case. */
.dels-menu:not(.dels-home-return) { --dels-bg:var(--dels-global-bg); --dels-ink:var(--dels-global-ink); --dels-muted:var(--dels-global-ink); }

/* Animated scene rectangles own positioning until the mobile rail is at rest. */
@media(max-width:700px){.dels-menu:not([data-phase="menu-rest"]) .dels-menu-rail{scroll-snap-type:none;overflow-anchor:none;}}

/* Tablet presents full-page previews on the existing Menu rail. */
@media (min-width:768px) and (max-width:1024px) {
  .dels-menu-rail { scroll-snap-type:x mandatory; scroll-padding-left:20vw; }
  .dels-menu-card { scroll-snap-align:start; }
  .dels-menu-rail.is-dragging, .dels-menu:not([data-phase="menu-rest"]) .dels-menu-rail { scroll-snap-type:none; }
}
