/* Fixed navigation control and layered mobile curtain. */
@media(max-width:800px){
 .header{z-index:80}.header-contact{margin-right:64px}
 .menu-toggle{display:none;position:fixed;top:calc(18px + env(safe-area-inset-top,0px));right:max(var(--gutter),env(safe-area-inset-right,0px));z-index:90;width:44px;height:44px;margin:0;padding:0;background:var(--paper);border-color:var(--line);box-shadow:0 0 0 transparent;animation:none!important;transition:background .3s,border-color .3s,box-shadow .4s}
 .menu-ready .menu-toggle{display:block}.menu-toggle.has-scroll-shadow{box-shadow:0 7px 28px #0d2b2430}
 .menu-toggle span{position:absolute;left:12px;right:12px;top:50%;height:1px;margin:0;transform:translateY(-4px);transition:transform .55s cubic-bezier(.2,.75,.2,1),background .3s}
 .menu-toggle span+span{transform:translateY(4px)}
 .menu-toggle[aria-expanded="true"]{background:#143d33;border-color:#e7dab84d;color:var(--paper);box-shadow:none}
 .menu-toggle[aria-expanded="true"] span{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span+span{transform:rotate(-45deg)}
 html.menu-open,html.menu-open body{overflow:hidden;overscroll-behavior:none}
 html:not(.menu-ready) .header{height:auto;min-height:83px;flex-wrap:wrap;padding-block:23px}
 html:not(.menu-ready) .header-contact{margin-right:0}
 html:not(.menu-ready) .header .nav{position:static;display:flex;order:3;flex-basis:100%;flex-direction:row;flex-wrap:wrap;gap:4px 18px;padding:6px 0 0;border:0;box-shadow:none;font-size:13px}
 html:not(.menu-ready) .header .nav a{width:auto}
}
.mobile-menu{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;background:transparent;color:var(--paper);overflow:auto;overscroll-behavior:contain}
.mobile-menu:not([open]){display:none}.mobile-menu::backdrop{background:transparent;transition:background .42s ease}.mobile-menu.is-visible::backdrop{background:#0d2b24b8}
.menu-surface{position:relative;display:flex;flex-direction:column;min-height:100%;padding:110px var(--gutter) max(32px,env(safe-area-inset-bottom,0px));background:var(--dark);isolation:isolate;clip-path:inset(0 0 100% 0);transform:translate3d(0,-4%,0);transition:clip-path .42s cubic-bezier(.65,0,.35,1),transform .42s cubic-bezier(.65,0,.35,1)}
.menu-surface:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 95% 75%,#bca16b19,transparent 55%),linear-gradient(135deg,transparent 42%,#e7dab807 42.2%,transparent 42.4%);pointer-events:none}
.is-visible .menu-surface{clip-path:inset(0);transform:none;transition-duration:.68s;transition-timing-function:cubic-bezier(.16,.8,.2,1)}
.mobile-menu-brand{position:absolute;left:var(--gutter);top:calc(22px + env(safe-area-inset-top,0px));opacity:0;transform:translateY(-14px);transition:opacity .3s,transform .5s}
.mobile-menu-brand .brand{width:169px}.is-visible .mobile-menu-brand{opacity:1;transform:none;transition-delay:.15s}
.mobile-nav{width:100%;max-width:900px;margin-block:auto;display:flex;flex-direction:column;gap:7px;perspective:1100px}
.mobile-nav a{display:grid;grid-template-columns:24px 1fr 24px;gap:17px;align-items:center;padding:12px 0;border-bottom:1px solid #d5dcd32c;opacity:0;transform:translate3d(0,34px,-85px) rotateX(16deg);transform-origin:50% 100%;transition:opacity .24s,transform .24s,border-color .3s}
.mobile-nav .menu-label{font:500 clamp(40px,10.5vw,72px)/1.14 var(--serif);letter-spacing:-.035em;transition:transform .4s cubic-bezier(.2,.75,.2,1),color .3s}
.menu-index{font-size:10px;color:#d2ba84;letter-spacing:.1em}.menu-arrow{font-size:23px;color:#d2ba84;transition:transform .4s}
.is-visible .mobile-nav a{opacity:1;transform:none;transition-duration:.72s,.72s,.3s;transition-timing-function:cubic-bezier(.16,.8,.2,1)}
.is-visible .mobile-nav a:nth-child(1){transition-delay:.1s}.is-visible .mobile-nav a:nth-child(2){transition-delay:.18s}.is-visible .mobile-nav a:nth-child(3){transition-delay:.26s}.is-visible .mobile-nav a:nth-child(4){transition-delay:.34s}
.mobile-nav a:hover,.mobile-nav a[aria-current="page"]{border-color:#d2ba8480}.mobile-nav a:hover .menu-label,.mobile-nav a:focus-visible .menu-label{color:#e7dab8;transform:translateX(9px)}.mobile-nav a:hover .menu-arrow{transform:translate(3px,-3px)}
.mobile-menu-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:900px;width:100%;margin-top:40px;opacity:0;transform:translate3d(0,25px,-30px);transition:opacity .2s,transform .2s}
.is-visible .mobile-menu-footer{opacity:1;transform:none;transition-duration:.6s;transition-delay:.4s}
.menu-phone{font-size:clamp(22px,4vw,30px);color:#e7dab8;white-space:nowrap}.mobile-menu-footer p{margin:0;color:#ccd7cb;font-size:12px;line-height:1.7}
@media(max-width:540px){.mobile-menu-footer{flex-direction:column;align-items:flex-start;gap:10px;margin-top:28px}.menu-surface{padding-top:100px}.mobile-nav a{padding:10px 0;gap:12px;grid-template-columns:22px 1fr 22px}}
@media(max-width:800px) and (max-height:500px) and (orientation:landscape){.menu-surface{padding-top:70px;padding-bottom:18px}.mobile-menu-brand{top:21px}.mobile-menu-brand .brand{width:145px}.mobile-nav{gap:0}.mobile-nav a{padding:5px 0}.mobile-nav .menu-label{font-size:32px}.mobile-menu-footer{margin-top:16px}.menu-phone{font-size:22px}.mobile-menu-footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu::backdrop,.mobile-menu *,.menu-toggle,.menu-toggle span{animation:none!important;transition:none!important}.mobile-menu[open] .menu-surface{clip-path:none;transform:none}.mobile-menu[open] .mobile-menu-brand,.mobile-menu[open] .mobile-nav a,.mobile-menu[open] .mobile-menu-footer{opacity:1;transform:none}}
@media print{.menu-toggle,.mobile-menu{display:none!important}}
