/* Shared styles for every page. Page-specific layout lives in each page's <style>. */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#F7F3EC;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #44513D;outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:#2B2720;color:#F7F3EC;padding:12px 18px;z-index:100;font-family:'Montserrat',sans-serif}
.skip:focus{left:12px;top:12px}
/* Mobile menu panel (built by site.js) */
.mnav{position:fixed;inset:0;z-index:90;background:#F7F3EC;display:none;flex-direction:column;padding:24px 22px 40px;font-family:'Montserrat',sans-serif;overflow-y:auto}
.mnav.open{display:flex}
.mnav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.mnav-top img{height:54px}
.mnav-close{width:50px;height:50px;border:1px solid #2B2720;background:transparent;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.mnav a{display:block;padding:18px 0;border-bottom:1px solid #DDD4C4;font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:#2B2720;text-decoration:none}
.mnav a.mnav-book{margin-top:28px;border:0;background:#2B2720;color:#F7F3EC;text-align:center;font-weight:600;font-size:16px;letter-spacing:.12em;padding:20px}
body.menu-open{overflow:hidden}
/* Keep the desktop menu on one line; switch to the menu button on smaller laptops and tablets */
.nav{gap:26px !important;flex-wrap:nowrap !important}
.navlink{font-size:14px !important;white-space:nowrap}
@media (max-width:1180px){.nav .navlink{display:none !important}.nav .menu{display:inline-flex !important}.nav{gap:10px !important}}
