/* Full-screen navigation, retaining the site's fonts and links. */
body.final-direction .final-header{padding-inline:clamp(30px,5.5vw,100px)}
body.final-direction .final-menu-button{font-size:18px;margin-left:clamp(40px,4vw,76px);gap:15px;letter-spacing:.12em;min-height:44px}
body.final-direction .menu-lines{width:35px;height:14px;border-block-width:1.5px}
body.final-direction #final-menu{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;overflow:hidden;background:#f1eade;color:#39352f;box-shadow:none}
#final-menu::backdrop{background:#322b24a0;backdrop-filter:blur(5px)}
body.final-direction #final-menu[open]{animation:nav-shell-in .42s cubic-bezier(.2,.7,.2,1) both}
body.final-direction #final-menu.is-closing{animation:nav-shell-out .28s ease both;pointer-events:none}
body.final-direction #final-menu .menu-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);height:100%;min-height:100%;overflow:hidden}
body.final-direction #final-menu .menu-links{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(24px,4vh,48px) clamp(30px,5.5vw,90px);background:#f1eade}
body.final-direction #final-menu .final-menu-close{position:static;align-self:flex-start;margin:0 0 18px;padding:0;min-width:44px;min-height:44px;gap:14px;font:500 12px/1.4 var(--sans);letter-spacing:.1em;color:#655645}
#final-menu .final-menu-close>span{font:35px/1 Georgia,serif}
body.final-direction #final-menu .menu-caption{display:block;font-size:10px;letter-spacing:.2em;color:#8e7354}
body.final-direction #final-menu nav{display:flex;flex-direction:column;gap:10px;margin:24px 0 28px}
body.final-direction #final-menu nav a{display:flex;align-items:baseline;gap:17px;font-family:var(--serif);font-size:clamp(34px,4.2vw,66px);font-weight:400;line-height:1.14;letter-spacing:-.018em;color:#39352f;text-decoration:none;transition:color .25s,transform .3s}
body.final-direction #final-menu nav a:hover{color:#8e7354;transform:translateX(7px)}
body.final-direction #final-menu nav a>span{flex:none;font:400 10px/1 var(--sans);letter-spacing:.1em;color:#9a846a}
body.final-direction #final-menu .menu-room-links{gap:12px 23px;padding:18px 0;border-color:#cdbba3}
body.final-direction #final-menu .menu-room-links a{font-family:var(--sans);font-size:12px;color:#65574a}
#final-menu .menu-bottom{margin-top:auto;padding-top:24px;gap:10px}
#final-menu .menu-bottom a{font-size:11px;color:#65574a}
#final-menu .menu-languages a{border-color:#b5a18a}
body.final-direction #final-menu .menu-gallery{display:block;width:calc(100% - 8vw);height:76dvh;max-height:760px;min-height:0;margin:0;align-self:center;justify-self:center;background:#61574c;isolation:isolate}
#final-menu .menu-slide{opacity:0;transition:opacity .85s ease;pointer-events:none}
#final-menu .menu-slide.is-active{opacity:1}
#final-menu .menu-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
#final-menu .menu-slide figcaption{bottom:45px;left:35px;right:125px;font-family:var(--serif);font-size:clamp(20px,2vw,29px);line-height:1.35;color:#fffaf2;text-shadow:0 1px 16px #0006}
#final-menu .menu-gallery-controls{right:28px;bottom:35px;z-index:3}
#final-menu .menu-slides-toggle{min-width:44px;min-height:44px;background:#322b2455}
@keyframes nav-shell-in{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-shell-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}
@media(max-width:750px){
 body.final-direction .final-header{padding-inline:8%}
 body.final-direction .final-menu-button{font-size:16px;margin-left:20px;gap:9px;letter-spacing:.04em}
 body.final-direction .final-menu-button>span:last-child{display:block}
 body.final-direction .menu-lines{width:28px;height:13px}
 body.final-direction #final-menu .menu-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) clamp(210px,33dvh,320px)}
 body.final-direction #final-menu .menu-links{padding:16px 8% 18px}
 body.final-direction #final-menu .final-menu-close{margin-bottom:8px}
 body.final-direction #final-menu .menu-caption{font-size:9px;letter-spacing:.15em}
 body.final-direction #final-menu nav{gap:7px;margin:16px 0 18px}
 body.final-direction #final-menu nav a{font-size:clamp(25px,7.1vw,35px);gap:13px;line-height:1.12}
 body.final-direction #final-menu nav a>span{font-size:9px}
 body.final-direction #final-menu .menu-room-links{padding:13px 0;gap:9px 20px}
 body.final-direction #final-menu .menu-room-links a{font-size:11px}
 #final-menu .menu-bottom{padding-top:15px;gap:6px;margin-top:auto}
 #final-menu .menu-bottom a{font-size:10px}
 #final-menu .menu-languages{margin-bottom:0;gap:20px}
 body.final-direction #final-menu .menu-gallery{width:84%;height:calc(100% - 24px);margin:0 0 24px;align-self:end}
 #final-menu .menu-slide figcaption{left:8%;bottom:22px;right:120px;font-size:20px}
 #final-menu .menu-gallery-controls{right:7%;bottom:15px;gap:10px}
}
@media(max-height:620px) and (min-width:751px){body.final-direction #final-menu nav{gap:5px;margin:12px 0}body.final-direction #final-menu nav a{font-size:32px}body.final-direction #final-menu .menu-links{padding-block:16px}#final-menu .menu-bottom{padding-top:12px}}
@media(prefers-reduced-motion:reduce){body.final-direction #final-menu[open],body.final-direction #final-menu.is-closing{animation:none}#final-menu .menu-slide,#final-menu nav a{transition:none!important}}

html.menu-active{overflow:hidden}

@media(max-width:750px) and (max-height:740px){body.final-direction #final-menu .menu-layout{grid-template-rows:minmax(0,1fr) clamp(150px,26dvh,210px)}}

#final-menu .menu-slide figcaption{transition:opacity .2s ease}#final-menu .menu-slide:not(.is-active) figcaption{opacity:0}

/* Keep captions clear within the reduced photo area. */
#final-menu .menu-slide figcaption{left:20px;right:20px;bottom:100px;font-size:20px}
@media(max-width:750px){#final-menu .menu-slide figcaption{left:8%;right:120px;bottom:20px;font-size:17px}}

@media(max-width:360px){body.final-direction .final-menu-button{font-size:14px;margin-left:16px;gap:7px}body.final-direction .menu-lines{width:26px}}

/* Give the changing menu photographs a larger portrait frame without upscaling their 1200×1800 sources. */
@media(min-width:751px){body.final-direction #final-menu .menu-gallery{height:min(84dvh,810px);aspect-ratio:2/3}}

/* Mobile only: bring the menu control slightly closer to the left edge. */
@media(max-width:750px){body.final-direction .final-menu-button{margin-left:10px}}
@media(max-width:750px){
 body.final-direction #final-menu .menu-layout{grid-template-rows:minmax(0,1fr) clamp(290px,40dvh,340px)}
 body.final-direction #final-menu .menu-gallery{width:auto;height:min(38dvh,320px);max-width:84%;aspect-ratio:2/3;align-self:center;justify-self:center;margin:8px 0 18px}
 #final-menu .menu-slide figcaption{left:16px;right:16px;bottom:62px;font-size:14px;line-height:1.25}
 #final-menu .menu-gallery-controls{right:12px;bottom:10px}
}

/* Desktop only: stronger menu presence, leaving all mobile rules untouched. */
@media(min-width:751px){body.final-direction .final-menu-button{font-size:clamp(20px,2vw,24px);margin-left:clamp(56px,8vw,154px);gap:18px}body.final-direction .menu-lines{width:44px;height:18px;border-block-width:1.5px}}

/* Match the desktop language controls to the larger menu. */
@media(min-width:751px){body.final-direction .final-header .header-languages{font-size:16px;gap:12px;letter-spacing:.08em}body.final-direction .final-header .header-languages a{padding-block:5px}}

/* Align the portrait slideshow with the navigation, preserving its native proportions. */
@media(min-width:751px){
 body.final-direction #final-menu .menu-gallery{width:auto;height:min(76dvh,720px);max-width:calc(100% - 6vw);aspect-ratio:2/3;align-self:center;justify-self:center}
 body.final-direction .menu-lines{width:48px;height:20px;transform:translateY(-3px)}
}

/* Final desktop portrait sizing: scale within the original menu-photo resolution. */
@media(min-width:751px){body.final-direction #final-menu .menu-gallery{height:min(84dvh,810px);aspect-ratio:2/3}}
