.site-header .nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;position:relative;padding-top:14px;padding-bottom:14px}
.site-header .brand{flex:0 1 205px;margin:0}
.site-header .brand img{width:205px;max-width:100%;height:auto}
.site-header .anniversary-badge{flex:0 0 65px;margin:0}
.site-header .anniversary-badge img{width:65px;height:auto}
.site-header .balanced-nav{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex:1;gap:5px;margin:0;max-width:none;flex-wrap:nowrap}
.balanced-nav>a,.balanced-nav summary{color:#102f3f;font:600 18px/1.35 'DM Sans',Arial,sans-serif;padding:12px 9px;white-space:nowrap;border-radius:5px;text-decoration:none}
.balanced-nav summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
.balanced-nav summary::-webkit-details-marker{display:none}
.balanced-nav summary span{font-size:17px}
.balanced-nav>a:hover,.balanced-nav summary:hover,.balanced-nav details[open]>summary{background:#eaf4f5;color:#053c5a}
.balanced-nav a[aria-current=page]{color:#053c5a;text-decoration:underline;text-underline-offset:5px}
.balanced-nav .contact-us-button{background:#123d66;color:#fff!important;font-size:17px;padding:12px 14px;margin-left:6px}
.balanced-nav .nav-dropdown{position:relative}
.balanced-nav .nav-dropdown-panel{position:absolute;top:100%;left:0;min-width:250px;max-width:330px;padding:8px;background:#fff;border:1px solid #c8d8dc;border-top:3px solid #d6b454;border-radius:0 0 8px 8px;box-shadow:0 12px 30px #092b4a24;z-index:1000}
.balanced-nav .nav-dropdown-panel a{display:block;padding:12px 14px;font-size:18px;line-height:1.4;font-weight:600;color:#102f3f;border-radius:4px}
.balanced-nav .nav-dropdown-panel a:hover,.balanced-nav .nav-dropdown-panel a:focus-visible{background:#eaf4f5;color:#053c5a}
.balanced-nav a:focus-visible,.balanced-nav summary:focus-visible{outline:3px solid #d6b454;outline-offset:2px}
.site-header .nav-toggle{display:none}
@media(max-width:1150px){
 .site-header .nav-toggle{display:block;margin-left:auto}
 .site-header .balanced-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:16px;flex-direction:column;align-items:stretch;box-shadow:0 15px 25px #092b4a24;max-height:80vh;overflow-y:auto;z-index:1000}
 .site-header .balanced-nav.open{display:flex}
 .balanced-nav>a,.balanced-nav summary{font-size:20px;text-align:left;padding:14px}
 .balanced-nav .nav-dropdown-panel{position:static;min-width:0;max-width:none;box-shadow:none;border-top:0;margin-left:12px;border-left:3px solid #d6b454}
 .balanced-nav .contact-us-button{margin-left:0;text-align:center}
}
@media(prefers-reduced-motion:reduce){.balanced-nav *{transition:none!important}}

/* Vivid Shores navigation fitting, 2026-10-22.
   site.js remains the sole hamburger click owner and the source of brand colors.
   The compact marker is measured from the final runtime links, including Favorite. */
.site-header .nav-wrap{width:min(1440px,calc(100% - 32px));height:auto}
.site-header .nav-wrap.balanced-compact .nav-toggle{
 display:block;flex:0 0 auto;margin-left:auto;position:relative;z-index:10001;background:#fff;
}
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav:not(.open){display:none}
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav.open{
 display:flex;position:fixed;top:var(--balanced-menu-top,120px);bottom:auto;
 left:var(--balanced-menu-left,0px);right:auto;width:var(--balanced-menu-width,100%);
 max-width:none;max-height:var(--balanced-menu-height,60vh);min-height:0;margin:0;
 padding:6px;flex:none;flex-direction:column;flex-wrap:nowrap;align-items:stretch;
 justify-content:flex-start;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
 box-sizing:border-box;z-index:10000;scroll-padding:8px;
}
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav>a,
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav>.nav-dropdown{
 flex:none;min-width:0;width:100%;margin-left:0;margin-right:0;
}
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav>a,
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav>.nav-dropdown>summary{
 min-height:44px;white-space:normal;text-align:center;overflow-wrap:anywhere;
}
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav .nav-dropdown-panel{
 position:static;min-width:0;max-width:none;margin-left:12px;box-shadow:none;
 border-top:0;border-left:3px solid #d6b454;
}
.site-header .nav-wrap.balanced-compact #site-nav.balanced-nav .nav-dropdown-panel a{
 white-space:normal;overflow-wrap:anywhere;
}
/* Safe closed state while the deferred fitting script is starting. */
@media(max-width:1150px){
 .site-header #site-nav.balanced-nav:not(.open){display:none}
}
/* Keep all three brand controls, with a readable URL and a 44px toggle target. */
@media(max-width:420px){
 .site-header .nav-wrap{gap:8px}
 .site-header .nav-wrap .brand.swfhomes-brand{flex:1 1 auto;min-width:0;max-width:220px}
 .site-header .nav-wrap .vivid-brand-url{font-size:clamp(14px,4.44vw,16px)}
 .site-header .nav-wrap .anniversary-badge{flex:0 0 48px}
 .site-header .nav-wrap .anniversary-badge img{width:48px;height:auto}
 .site-header .nav-wrap .nav-toggle{flex:0 0 44px;min-width:44px;min-height:44px;padding:4px}
 .site-header .nav-wrap .nav-toggle span:not(.sr-only){margin:5px auto}
}
/* Synchronous, hidden measurement of this very menu, not a duplicate header.
   At measurement time the compact marker is temporarily removed. */
.site-header .nav-wrap.balanced-measuring #site-nav.balanced-nav{
 display:flex!important;position:absolute!important;visibility:hidden!important;
 width:max-content!important;max-width:none!important;max-height:none!important;
 flex:none!important;flex-direction:row!important;flex-wrap:nowrap!important;
 overflow:visible!important;pointer-events:none!important;
}
