/* One continuous navigation layer across the customer-facing screens. */
:root{--ffnav-height:88px;--ffnav-gold:#d4ad7c;--ffnav-paper:#f0ede3}
body.ffs-site{padding-top:0}
body.ffs-site:has(.ffq-page),body.ffp-site{padding-top:var(--ffnav-height)}
body.ffp-site .ffp-jumps{top:var(--ffnav-height)}
.ffnav{position:fixed;inset:0 0 auto;z-index:10000;height:var(--ffnav-height);background:rgba(0,0,0,.7);border-bottom:1px solid #ffffff19;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ffnav-paper);font:400 13px/1.4 'Helvetica Neue',Arial,sans-serif;view-transition-name:none}
.ffnav *{box-sizing:border-box}.ffnav a,.ffnav summary{color:var(--ffnav-paper);text-decoration:none;cursor:pointer}.ffnav summary{list-style:none}.ffnav summary::-webkit-details-marker{display:none}.ffnav :is(a,summary):focus-visible{outline:2px solid var(--ffnav-gold);outline-offset:5px;border-radius:2px}
.ffnav-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;height:100%;max-width:1840px;margin:auto;padding:6px clamp(24px,4vw,76px)}
.ffnav-logo{display:block;width:86px;flex:none}
/* Keep navigation geometry fixed from arrival; the film/Home surfaces fade in. */
:is(.ffnav--home,.ffnav--intro){background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate;pointer-events:none}
:is(.ffnav--home,.ffnav--intro):before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.7);border-bottom:1px solid #ffffff19;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:var(--fft-nav-surface,0);pointer-events:none}
:is(.ffnav--home,.ffnav--intro) :is(.ffnav-desktop,.ffnav-mobile,.ffnav-mobile-quote){pointer-events:auto}
:is(.ffnav--home,.ffnav--intro) .ffnav-logo{opacity:0;visibility:hidden;pointer-events:none;transition:none}
.fft-docked :is(.ffnav--home,.ffnav--intro) .ffnav-logo{opacity:var(--fft-nav-logo,1);visibility:visible;pointer-events:auto}
.ffnav-is-open :is(.ffnav--home,.ffnav--intro) .ffnav-logo{opacity:1;visibility:visible;pointer-events:auto}
.ffnav-is-open :is(.ffnav--home,.ffnav--intro):before{opacity:1}
.ffnav-is-open .fft-identity{visibility:hidden!important}
.ffnav-logo img{display:block;width:86px;height:68px!important;object-fit:contain}
.ffnav-desktop{display:flex;position:relative;align-items:center;gap:10px;margin-left:auto;isolation:isolate}
.ffnav-desktop>.ffnav-item,.ffnav-desktop>.ffnav-spaces>summary{display:flex;align-items:center;gap:9px;white-space:nowrap;padding:14px 18px;position:relative}
.ffnav-indicator{position:absolute;z-index:-1;left:0;top:0;pointer-events:none;width:var(--ffnav-width,0px);height:var(--ffnav-item-height,0px);transform:translate(var(--ffnav-left,0px),var(--ffnav-top,0px));opacity:0;border-radius:999px;background:#ffffff10;border:1px solid #ffffff13}
.ffnav-desktop.is-ready .ffnav-indicator{transition:transform .4s cubic-bezier(.22,.8,.2,1),width .4s cubic-bezier(.22,.8,.2,1),height .4s cubic-bezier(.22,.8,.2,1),opacity .2s}
.ffnav-desktop.is-ready.has-indicator .ffnav-indicator{opacity:1}.ffnav-desktop>.ffnav-item[aria-current],.ffnav-spaces.is-current>summary{color:var(--ffnav-gold)}
.ffnav-desktop>.ffnav-quote{border:1px solid var(--ff-action-fill);border-radius:999px;margin-left:13px;padding:13px 24px;min-height:50px;gap:25px}.ffnav-desktop>.ffnav-quote:after{content:'↗';font-size:19px;color:inherit}
.ffnav-spaces{position:relative}.ffnav-spaces summary svg{fill:none;stroke:currentColor;stroke-width:1.3;transition:transform .24s}.ffnav-spaces[open] summary svg{transform:rotate(180deg)}
.ffnav-spaces-list{position:absolute;top:calc(100% + 12px);left:0;min-width:230px;padding:12px;background:#111617f5;border:1px solid #ffffff20;border-radius:12px;box-shadow:0 18px 45px #0005;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:ffnav-reveal .22s ease both}
.ffnav-spaces-list:before{content:'';position:absolute;bottom:100%;left:0;right:0;height:16px}.ffnav-spaces-list a{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:13px 15px;border-radius:6px;font-size:13px;line-height:1.4;transition:background .2s,color .2s}.ffnav-spaces-list a:after{content:'↗';color:var(--ffnav-gold);opacity:.7}.ffnav-spaces-list a:hover,.ffnav-spaces-list a[aria-current]{background:#ffffff08;color:var(--ffnav-gold)}
.ffnav-mobile,.ffnav-mobile-quote{display:none}
.fft-skip,.ffp-skip{z-index:10020}
@keyframes ffnav-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:ffnav-page-out .2s ease both}
 ::view-transition-new(root){animation:ffnav-page-in .4s ease both}
}
@keyframes ffnav-page-out{to{opacity:0}}
@keyframes ffnav-page-in{from{opacity:0}to{opacity:1}}
@media(min-width:901px) and (max-width:1100px){.ffnav-inner{gap:22px;padding-inline:28px}.ffnav-desktop{gap:2px;font-size:12px}.ffnav-desktop>.ffnav-item,.ffnav-desktop>.ffnav-spaces>summary{padding-inline:13px}.ffnav-desktop>.ffnav-quote{margin-left:8px;padding-inline:18px}}
@media(max-width:900px){
 :root{--ffnav-height:78px}
 .ffnav-inner{padding:6px 24px;gap:20px}.ffnav-logo,.ffnav-logo img{width:70px}.ffnav-logo img{height:56px!important}.ffnav-desktop{display:none}
 .ffnav-mobile-quote{display:inline-flex;align-items:center;gap:10px;margin-left:auto;font-size:11px;white-space:nowrap;min-height:44px;border:1px solid var(--ff-action-fill);border-radius:30px;padding:10px 14px}.ffnav-mobile-quote span{color:inherit}
 .ffnav-mobile{display:block;flex:none}.ffnav-mobile>summary{display:flex;align-items:center;gap:12px;padding:14px 0 14px 6px;font-size:11px;min-height:44px}
 .ffnav-menu-icon{display:block;width:20px;height:14px;position:relative}.ffnav-menu-icon i{position:absolute;display:block;height:1px;width:20px;background:var(--ffnav-paper);left:0;top:4px;transition:transform .24s,top .24s}.ffnav-menu-icon i+i{top:10px;width:14px;left:6px}.ffnav-mobile[open] .ffnav-menu-icon i{top:7px;transform:rotate(45deg)}.ffnav-mobile[open] .ffnav-menu-icon i+i{width:20px;left:0;transform:rotate(-45deg)}
 .ffnav-sheet{position:fixed;inset:var(--ffnav-height) 0 auto;height:calc(100dvh - var(--ffnav-height));overflow-y:auto;overscroll-behavior:contain;padding:25px 30px 35px;background:#0a1011f7;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);max-height:calc(100dvh - var(--ffnav-height));animation:ffnav-reveal .3s ease both;transition:opacity .18s,transform .18s}
 .ffnav-mobile.is-closing .ffnav-sheet{opacity:0;transform:translateY(-8px)}.ffnav-sheet>nav{display:grid}.ffnav-sheet .ffnav-item{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #ffffff18;font-size:clamp(25px,5vw,34px);line-height:1.2;font-weight:400;letter-spacing:-.025em}.ffnav-sheet .ffnav-item[aria-current],.ffnav-sheet .ffnav-spaces.is-current>summary{color:var(--ffnav-gold)}
 .ffnav-sheet .ffnav-spaces-list{position:static;min-width:0;padding:8px 0 15px;border:none;border-bottom:1px solid #ffffff18;background:none;box-shadow:none;backdrop-filter:none}.ffnav-sheet .ffnav-spaces-list:before{display:none}.ffnav-sheet .ffnav-spaces-list a{font-size:17px;padding:14px 0 14px 18px;color:#cccfc8;border-radius:0}.ffnav-sheet .ffnav-spaces-list a:after{font-size:20px}.ffnav-sheet .ffnav-spaces summary svg{width:17px;height:17px;margin-right:4px}
 .ffnav-sheet .ffnav-quote{margin-top:26px;padding:16px 24px;border:1px solid var(--ff-action-fill);border-radius:30px;min-height:50px;font-size:15px;letter-spacing:0}.ffnav-sheet .ffnav-quote:after{content:'↗';font-size:24px}.ffnav-sheet>p{margin:36px 0 0;font-size:11px;line-height:1.8;color:#d9d8cd;letter-spacing:.035em}.ffnav-sheet>p span{color:#969e99}
 html.ffnav-is-open{overflow:hidden}.ffnav-is-open body{overflow:hidden}
}
@media(max-width:360px){.ffnav-inner{padding-inline:18px;gap:16px}.ffnav-mobile-quote{font-size:10px;gap:8px;padding-inline:12px}.ffnav-mobile>summary{gap:9px}.ffnav-sheet{padding-inline:24px}.ffnav-sheet .ffnav-item:not(.ffnav-quote){padding-block:16px;font-size:27px}}
@media(prefers-reduced-motion:reduce){.ffnav *{transition:none!important;animation:none!important}.ffnav{view-transition-name:none}}

/* The quote action retains the same cream fill in every navigation state. */
.ffnav :is(.ffnav-quote,.ffnav-mobile-quote){background:var(--ff-action-fill);color:var(--ff-action-ink)!important;border-color:var(--ff-action-fill);transition:background .2s,color .2s}
.ffnav :is(.ffnav-quote,.ffnav-mobile-quote):hover{background:var(--ff-action-hover)}

/* The opening badge stays full size, fading before the compact badge appears. */
.ffs-opening-brand{position:fixed;top:20px;left:clamp(24px,4vw,76px);z-index:10001;pointer-events:none}
.ffs-opening-brand .fft-opening-logo{pointer-events:auto}
/* White follows the badge interior; the open wordmark ends taper to clear. */
.fft-opening-logo img{background:url("/wp-content/themes/floor-fusion-child/assets/opening-logo-fill.svg?v=3") center/contain no-repeat}
@media(max-width:900px){.ffs-opening-brand{top:16px;left:24px}.ffs-opening-brand .fft-opening-logo,.ffs-opening-brand .fft-opening-logo img{width:118px}.ffs-opening-brand .fft-opening-logo img{height:94px}}
@media(max-width:360px){.ffs-opening-brand{left:18px}.ffs-opening-brand .fft-opening-logo,.ffs-opening-brand .fft-opening-logo img{width:102px}.ffs-opening-brand .fft-opening-logo img{height:82px}}

/* Keep the mobile Menu label legible over the moving film before docking. */
@media(max-width:900px){
 .ffnav--intro .ffnav-mobile>summary{position:relative;isolation:isolate}
 .ffnav--intro .ffnav-mobile>summary:before{content:"";position:absolute;inset:4px -8px;z-index:-1;border-radius:999px;background:#faf9f6ed;opacity:calc(1 - var(--fft-nav-surface,0));pointer-events:none}
 .ffnav-is-open .ffnav--intro .ffnav-mobile>summary:before{opacity:0}
}

/* Anchor the opening fade to the actual menu rail, including centred wide-screen layouts. */
@media(min-width:901px){
 :is(.ffnav--home,.ffnav--intro):after{content:"";position:absolute;inset:0 0 -24px max(0px,calc(var(--ffnav-menu-left,96px) - 96px));z-index:-2;background:linear-gradient(90deg,transparent,#faf9f6f2 96px);mask-image:linear-gradient(#000 80%,transparent);-webkit-mask-image:linear-gradient(#000 80%,transparent);opacity:calc(1 - var(--fft-nav-surface,0));pointer-events:none}
}

/* Keep Safari's desktop top-edge pull from cropping the fixed navigation. */
@media(min-width:901px){
 html:is([data-design="two-surfaces"],[data-design="screens"],[data-design="palette"]){overscroll-behavior-y:none}
 .ffnav,.ffnav-inner,.ffnav-desktop{overflow:visible}
 .ffnav-desktop .ffnav-spaces-list{max-height:calc(100dvh - var(--ffnav-height) - 20px);overflow-y:auto;overscroll-behavior:contain}
}
