/* v2.22 — visible, touch-friendly mobile navigation. No drawer, dropdown or JS dependency. */
.mobile-call-label{display:none}
.compact-header .utility-links .phone-full{color:inherit;margin-left:0}
@media(max-width:700px){
 .public-site .compact-header{background:#fcfcf8;box-shadow:none;border-bottom:1px solid #dce3da}
 .public-site .compact-header .site-utility{background:#163d33}
 .public-site .compact-header .site-utility>.shell-width{padding:0 18px;min-height:44px}
 .public-site .compact-header .utility-links{width:100%;display:flex;justify-content:space-between;gap:10px;font-size:11px;letter-spacing:.01em}
 .public-site .compact-header .utility-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:5px;color:#f2f3e8;font-weight:500}
 .public-site .compact-header .utility-links a>span{margin:0;color:inherit}
 .public-site .compact-header .utility-links .utility-arrow{color:#cbb586;font-size:12px}
 .public-site .compact-header .phone-full{display:none}
 .public-site .compact-header .mobile-call-label{display:inline}
 .public-site .compact-header .site-nav-row{height:auto;min-height:0;padding:16px 18px 14px;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:15px}
 .public-site .compact-header .premium-brand{gap:8px;min-width:0}
 .public-site .compact-header .premium-brand-icon{width:35px;height:38px;flex:none}
 .public-site .compact-header .premium-brand-type strong{font-size:23px;letter-spacing:.07em}
 .public-site .compact-header .premium-brand-type small{font-size:6px;letter-spacing:.12em;margin-top:5px}
 .public-site .compact-header .header-book{min-height:44px;padding:10px 12px;border-radius:9px;gap:8px;box-shadow:none}
 .public-site .compact-header .header-book .book-short{font-size:11px;font-weight:600}
 .public-site .compact-header .header-book .header-arrow{width:14px;font-size:16px}
 .public-site .compact-header .flat-navigation{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:6px;width:100%;max-width:none;margin:0;padding:7px;background:#edf1e9;border:1px solid #e1e7dc;border-radius:13px;overflow:visible;grid-column:1/-1;grid-row:2}
 .public-site .compact-header .flat-navigation>a{display:flex;align-items:center;justify-content:center;flex:1 1 calc((100% - 18px)/4);min-width:0;min-height:44px;padding:8px 2px;line-height:1.3;font-size:11px;font-weight:550;text-align:center;color:#41574a;white-space:normal;border:1px solid transparent;border-radius:8px;margin:0;transition:background .15s,color .15s}
 .public-site .compact-header .flat-navigation>a:nth-child(-n+3){flex-basis:calc((100% - 12px)/3);font-size:12px;background:#fcfdf9;border-color:#e0e6da;color:#274a3a}
 .public-site .compact-header .flat-navigation>a[aria-current=page]{color:#fff;background:#204c3a;border-color:#204c3a;box-shadow:0 2px 5px #18392c12}
 .public-site .compact-header .flat-navigation>a:after{display:none}
 .public-site .compact-header .flat-navigation>a:hover{background:#dfe7d8;color:#173e30}
 .public-site .compact-header .flat-navigation>a[aria-current=page]:hover{background:#204c3a;color:#fff}
 .public-site .compact-header :where(a):focus-visible{outline:2px solid #a27a32;outline-offset:2px}
}
@media(max-width:360px){
 .public-site .compact-header .site-utility>.shell-width{padding:0 14px}
 .public-site .compact-header .site-nav-row{padding:14px;column-gap:8px;row-gap:13px}
 .public-site .compact-header .premium-brand-icon{width:29px;height:34px}
 .public-site .compact-header .premium-brand-type strong{font-size:20px}
 .public-site .compact-header .premium-brand-type small{font-size:5.2px}
 .public-site .compact-header .header-book{padding:10px 9px;gap:4px}
 .public-site .compact-header .header-book .book-short{font-size:10px}
 .public-site .compact-header .flat-navigation{padding:6px;gap:5px}
 .public-site .compact-header .flat-navigation>a{flex-basis:calc((100% - 15px)/4);font-size:10.5px}
 .public-site .compact-header .flat-navigation>a:nth-child(-n+3){flex-basis:calc((100% - 10px)/3);font-size:12px}
}
@media(prefers-reduced-motion:reduce){.public-site .compact-header .flat-navigation>a{transition:none}}

/* v2.24: mobile side panel. The original inline menu remains the no-JS fallback. */
.mobile-menu-toggle{display:none}
.mobile-drawer:not([open]){display:none}
.mobile-drawer{position:fixed;inset:0 0 0 auto;margin:0;width:min(370px,calc(100% - 32px));max-width:none;height:100vh;height:100dvh;max-height:none;box-sizing:border-box;border:0;padding:28px 24px max(24px,env(safe-area-inset-bottom));background:#fbfcf7;color:#173e30;overflow-y:auto;overscroll-behavior:contain;box-shadow:-16px 0 60px #102d2926}
.mobile-drawer[open]{display:flex;flex-direction:column;animation:drawer-enter .2s ease-out}
.mobile-drawer::backdrop{background:#0b211bc2}
.mobile-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:26px;border-bottom:1px solid #dbe3d7}
.mobile-drawer-eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;color:#7a6b48}
.mobile-drawer-heading h2{font-size:27px;letter-spacing:-.04em;line-height:1.2;margin:9px 0 0}
.mobile-drawer-close,.mobile-menu-toggle{align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;min-height:46px;padding:0;border:1px solid #d5dfd0;border-radius:50%;background:transparent;color:#173e30;cursor:pointer}
.mobile-drawer-close{display:flex}
.mobile-drawer .flat-navigation{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:18px 0 24px;padding:0;width:100%;overflow:visible}
.mobile-drawer .flat-navigation>a{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin:0;padding:12px 10px;border-bottom:1px solid #e3e8de;font-size:17px;font-weight:500;line-height:1.4;text-decoration:none;white-space:normal;color:#2d483a}
.mobile-drawer .flat-navigation>a::after{content:'↗';position:static;display:block;transform:none;width:auto;height:auto;background:none;font-size:16px;color:#9c8556}
.mobile-drawer .flat-navigation>a[aria-current=page]{background:#eaf0e3;border-radius:7px;color:#173e30;font-weight:700}
.mobile-drawer-footer{margin-top:auto}
.mobile-drawer-book{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 16px;border-radius:9px;background:#204c3a;color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.mobile-drawer-book:hover{background:#173e30;color:#fff}
.mobile-drawer-account{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:15px}
.mobile-drawer-account a,.mobile-drawer-phone{display:inline-flex;align-items:center;min-height:44px;color:#365340;text-decoration:none;font-size:13px}
.mobile-drawer-footer p{font-size:11px;color:#788574;margin:8px 0 0}
.mobile-drawer :where(a,button):focus-visible,.mobile-menu-toggle:focus-visible{outline:3px solid #a5803f;outline-offset:3px}
@media(max-width:700px){
 .public-site .compact-header[data-drawer-ready] .site-utility,.public-site .compact-header[data-drawer-ready] .flat-navigation,.public-site .compact-header[data-drawer-ready] .header-book{display:none}
 .public-site .compact-header[data-drawer-ready] .site-nav-row{min-height:78px;padding-top:14px;padding-bottom:14px;row-gap:0}
 .public-site .compact-header[data-drawer-ready] .header-actions{display:flex;align-items:center}
 .public-site .compact-header[data-drawer-ready] .mobile-menu-toggle{display:inline-flex}
}
@keyframes drawer-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.mobile-drawer[open]{animation:none}}
