/* Mobile navigation: a compact brand scene and a clear route through the site. */
.mobile-drawer{display:none}
body.mobile-menu-open{position:fixed;inset-inline:0;overflow:hidden;width:100%}
@media(max-width:850px){
 .menu-toggle{display:grid;place-items:center;width:46px;height:46px;padding:10px;border:1px solid #d0b575a8;color:var(--gold-light);background:#123e32}
 .hamburger-lines{display:grid;gap:6px;width:22px}
 .hamburger-lines>span{display:block;height:1px;width:100%;background:currentColor}
 .hamburger-lines>span:nth-child(2){width:16px;justify-self:end}
 .mobile-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(92vw,400px);max-width:none;height:100%;height:100dvh;max-height:none;padding:0;border:0;border-left:1px solid #d5b979;background:#0b3229;color:#fff9e9;overflow-y:auto;overscroll-behavior:contain}
 .mobile-drawer[open]{display:flex;flex-direction:column;animation:drawer-enter .34s cubic-bezier(.2,.7,.2,1) both}
 .mobile-drawer::backdrop{background:#031b16b3;backdrop-filter:blur(5px);animation:drawer-backdrop-in .34s ease both}
 .mobile-drawer.is-closing{animation:drawer-exit .25s ease both}
 .mobile-drawer.is-closing::backdrop{animation:drawer-backdrop-out .25s ease both}
 .drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:14px 23px;background:#092f27}
 .drawer-heading .brand{gap:9px;font-size:17px}
 .drawer-heading .brand img{width:42px;height:42px}
 .drawer-heading .brand small{font-size:10px;letter-spacing:.16em}
 .drawer-close{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d0b57599;background:transparent;color:var(--gold-light);font-size:30px;line-height:1}
 .drawer-art{position:relative;flex:0 0 150px;overflow:hidden;border-block:1px solid #d5b97970;background:#113c30}
 .drawer-art img{width:100%;height:100%;object-fit:cover;object-position:62% 52%}
 .drawer-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092f27bb 0%,#092f2725 70%),linear-gradient(0deg,#092f27a0,transparent 70%);pointer-events:none}
 .drawer-art-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:14px;display:grid;gap:2px}
 .drawer-art-copy span{font-size:11px;color:#f0d7a6}
 .drawer-art-copy strong{font-size:17px;font-weight:500;line-height:1.4}
 .drawer-kicker{padding:22px 25px 5px;color:var(--gold-light);font-size:12px;letter-spacing:.03em}
 .drawer-links{display:grid;padding:0 17px 18px}
 .drawer-links a{position:relative;display:flex;align-items:center;min-height:57px;padding:10px 36px 10px 9px;font-size:19px;line-height:1.35;text-decoration:none;border-bottom:1px solid #bea16c52}
 .drawer-links a:after{content:'↗';position:absolute;right:8px;top:50%;transform:translateY(-50%);color:#dcc38e;font-size:17px;font-weight:400;opacity:.8}
 .drawer-links a[aria-current=page]{padding-left:17px;margin-inline:-8px;background:#a52934;color:#fff;border-bottom-color:#caaf77}
 .drawer-links a[aria-current=page]:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold-light)}
 .drawer-links a:hover{color:var(--gold-light)}
 .drawer-links a[aria-current=page]:hover{color:#fff}
 .drawer-contact{margin-top:auto;padding:18px 25px max(24px,env(safe-area-inset-bottom));background:#092f27;border-top:1px solid #bea16c80}
 .drawer-contact p{font-size:13px;color:#dce6dc;margin-bottom:12px}
 .drawer-contact .btn{width:100%;min-height:46px;padding:10px 14px}
 .drawer-phone{display:inline-block;margin-top:14px;font-size:14px;text-decoration:none;color:var(--gold-light)}
}
@media(max-width:360px){.drawer-art{flex-basis:128px}.drawer-kicker{padding-top:15px}.drawer-links a{min-height:51px;font-size:17px}.drawer-contact{padding-block:15px max(18px,env(safe-area-inset-bottom))}}
@media(max-height:650px) and (max-width:850px){.drawer-art{flex-basis:100px}.drawer-kicker{padding-top:12px}.drawer-links a{min-height:50px}.drawer-contact{margin-top:0}}
@keyframes drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes drawer-exit{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes drawer-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes drawer-backdrop-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.mobile-drawer[open],.mobile-drawer::backdrop{animation:none!important}}

/* The opener and the panel close icon trace the same three-line gesture. */
@media(max-width:850px){
 .menu-toggle{transition:transform .18s ease,background .2s ease,border-color .2s ease}
 .menu-toggle:active{transform:scale(.9);background:#1b503f}
 .hamburger-lines>span{transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .2s,width .25s}
 .menu-toggle[aria-expanded=true] .hamburger-lines>span:first-child{transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] .hamburger-lines>span:nth-child(2){opacity:0;transform:scaleX(0)}
 .menu-toggle[aria-expanded=true] .hamburger-lines>span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .drawer-close{position:relative;overflow:hidden;transition:background .2s ease,border-color .2s ease}
 .drawer-close:hover{background:#174538;border-color:var(--gold-light)}
 .drawer-close-lines{position:relative;display:block;width:21px;height:21px}
 .drawer-close-lines>span{position:absolute;left:0;top:10px;width:21px;height:1px;background:var(--gold-light);transform-origin:center}
 .drawer-close-lines>span:first-child{animation:line-top-in .28s .12s both}
 .drawer-close-lines>span:nth-child(2){animation:line-middle-in .2s .12s both}
 .drawer-close-lines>span:last-child{animation:line-bottom-in .28s .12s both}
 .mobile-drawer[open]:not(.is-closing) .drawer-art{animation:content-arrive .48s .06s both}
 .mobile-drawer[open]:not(.is-closing) .drawer-kicker{animation:content-arrive .35s .12s both}
 .mobile-drawer[open]:not(.is-closing) .drawer-links a{animation:content-arrive .38s both}
 .mobile-drawer[open]:not(.is-closing) .drawer-links a:nth-child(1){animation-delay:.13s}
 .mobile-drawer[open]:not(.is-closing) .drawer-links a:nth-child(2){animation-delay:.17s}
 .mobile-drawer[open]:not(.is-closing) .drawer-links a:nth-child(3){animation-delay:.21s}
 .mobile-drawer[open]:not(.is-closing) .drawer-links a:nth-child(4){animation-delay:.25s}
 .mobile-drawer[open]:not(.is-closing) .drawer-links a:nth-child(5){animation-delay:.29s}
 .mobile-drawer[open]:not(.is-closing) .drawer-contact{animation:content-arrive .42s .24s both}
}
@keyframes line-top-in{from{transform:translateY(-6px)}to{transform:rotate(45deg)}}
@keyframes line-middle-in{from{opacity:1}to{opacity:0}}
@keyframes line-bottom-in{from{transform:translateY(6px)}to{transform:rotate(-45deg)}}
@keyframes content-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.menu-toggle,.hamburger-lines>span{transition:none!important}.mobile-drawer[open] .drawer-close-lines>span,.mobile-drawer[open] .drawer-art,.mobile-drawer[open] .drawer-kicker,.mobile-drawer[open] .drawer-links a,.mobile-drawer[open] .drawer-contact{animation:none!important}.drawer-close-lines>span:first-child{transform:rotate(45deg)}.drawer-close-lines>span:nth-child(2){opacity:0}.drawer-close-lines>span:last-child{transform:rotate(-45deg)}}

/* Unframed controls retain their 44px+ touch targets. */
@media(max-width:850px){.menu-toggle,.drawer-close{border:0;background:transparent}.drawer-close:hover{border:0;background:#174538}}
