/* Fairway Junction — logo + mobile navigation */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* logo: one mark, one colour (brand ink), same proportions everywhere */
.fj .brand.brand-logo{display:inline-flex;align-items:center;flex:none;line-height:0}
.fj .brand-img{display:block;width:auto!important;height:46px!important;object-fit:contain}
.fj .footer .brand-img{height:50px!important}
.fj .drawer-logo{display:block;width:auto!important;height:34px!important;object-fit:contain}
@media(max-width:1180px){.fj .header .brand-img{height:40px!important}}
@media(max-width:760px){.fj .header .brand-img{height:32px!important}.fj .footer .brand-img{height:42px!important}}
@media(max-width:380px){.fj .header .brand-img{height:28px!important}}

/* hamburger */
.fj .menu-toggle{position:relative;width:48px;height:48px;min-width:48px;padding:0;border:1px solid var(--line,#d6dcd3);background:#fff;color:var(--ink,#24382e);display:none;align-items:center;justify-content:center;border-radius:0;transition:background .2s,border-color .2s}
.fj .menu-toggle:hover{border-color:var(--ink,#24382e)}
.fj .burger{position:relative;display:block;width:20px;height:14px}
.fj .burger i{position:absolute;left:0;height:1.6px;background:currentColor;border-radius:2px;transition:transform .3s ease,opacity .2s ease,width .3s ease}
.fj .burger i:nth-child(1){top:0;width:20px}
.fj .burger i:nth-child(2){top:6.2px;width:14px}
.fj .burger i:nth-child(3){top:12.4px;width:20px}
.fj .menu-toggle:hover .burger i:nth-child(2){width:20px}
.fj .menu-toggle[aria-expanded=true] .burger i:nth-child(1){transform:translateY(6.2px) rotate(45deg)}
.fj .menu-toggle[aria-expanded=true] .burger i:nth-child(2){opacity:0}
.fj .menu-toggle[aria-expanded=true] .burger i:nth-child(3){transform:translateY(-6.2px) rotate(-45deg)}
@media(max-width:1000px){.fj .menu-toggle{display:inline-flex}}
@media(max-width:760px){.fj .menu-toggle{width:44px;height:44px;min-width:44px}}

/* drawer */
.fj .nav-drawer{display:none;flex-direction:column;padding:0;border:0;box-shadow:-24px 0 60px rgba(20,32,26,.18)}
.fj .nav-drawer[open]{display:flex;animation:fjDrawer .32s cubic-bezier(.2,.8,.2,1)}
.fj .nav-drawer::backdrop{background:rgba(22,34,28,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
@keyframes fjDrawer{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
.fj .drawer-head{padding:18px 20px;margin:0;border-bottom:1px solid var(--line,#d6dcd3)}
.fj #close-menu{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;position:relative;border:1px solid var(--line,#d6dcd3);background:#fff}
.fj .close-x:before,.fj .close-x:after{content:'';position:absolute;left:50%;top:50%;width:18px;height:1.6px;background:var(--ink,#24382e);border-radius:2px}
.fj .close-x:before{transform:translate(-50%,-50%) rotate(45deg)}
.fj .close-x:after{transform:translate(-50%,-50%) rotate(-45deg)}
.fj .nav-drawer nav{flex:1;padding:8px 20px;gap:0;max-height:none;overflow-y:auto}
.fj .nav-drawer nav a{display:flex;align-items:center;gap:14px;min-height:56px;padding:14px 4px;font-size:21px;letter-spacing:-.02em;border-bottom:1px solid #e7ebe2;color:var(--ink,#24382e)}
.fj .nav-drawer nav a small{font-size:10px;letter-spacing:.12em;color:#8a6538;width:20px;flex:none}
.fj .nav-drawer nav a>span{margin-left:auto;color:#9aa690;transition:transform .2s,color .2s}
.fj .nav-drawer nav a:hover>span{transform:translate(2px,-2px);color:var(--ink,#24382e)}
.fj .nav-drawer nav a[aria-current=page]{font-weight:600}
.fj .nav-drawer nav a[aria-current=page] small{color:var(--ink,#24382e)}
.fj .drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 20px 8px}
.fj .drawer-actions a{display:flex;align-items:center;justify-content:center;min-height:50px;font-size:14px;text-align:center}
.fj .drawer-actions .drawer-login{border:1px solid var(--ink,#24382e);color:var(--ink,#24382e)}
.fj .drawer-location{margin:0;padding:8px 20px 22px;font-size:12px;letter-spacing:.04em;color:var(--muted,#667168)}
.fj .drawer-location a{text-decoration:underline;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){.fj .nav-drawer[open]{animation:none}.fj .burger i{transition:none}}
/* Member Login stays visible in the closed mobile header (compact). */
@media(max-width:560px){.fj .header .header-login{display:inline-flex;align-items:center;min-height:44px;padding:0;font-size:13px;letter-spacing:.01em}}
@media(max-width:374px){.fj .header .header-login{font-size:12px}}
