@charset "UTF-8";

/* Topic links belong to their parent menu; the whole sidebar may scroll. */
.sidebar.context-sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sidebar.context-sidebar>.side-nav{flex:0 0 auto;margin-top:24px;gap:6px}
.context-sidebar .context-menu-group{min-width:0}
.context-sidebar .context-menu-group>.nav-item{width:100%;min-width:0;font-size:13px;gap:9px;letter-spacing:-.045em}
.context-submenu{display:grid;gap:3px;min-width:0;margin:5px 3px 10px 22px;padding:5px 0 5px 12px;border-left:1px solid #e7edf5;overflow:visible}
.context-submenu[hidden]{display:none!important}
.context-submenu .context-subitem,.context-submenu .side-category{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-height:38px;padding:8px 9px;border:0;border-radius:9px;background:transparent;text-align:left;font-family:inherit;font-size:12px;font-weight:500;line-height:1.65;color:#758092;text-decoration:none;word-break:keep-all;overflow-wrap:anywhere;cursor:pointer}
.context-submenu .context-subitem>span:first-child,.context-submenu .side-category>span:first-child{min-width:0;white-space:normal;overflow:visible;text-overflow:clip}
.context-submenu .context-subitem>small,.context-submenu .context-count,.context-submenu .side-category>span:last-child{flex-shrink:0;font-size:10px;font-weight:500;color:#a2adbd}
.context-submenu .context-subitem:hover,.context-submenu .side-category:hover{background:#f3f7fd;color:#1b64da}
.context-submenu .context-subitem.active,.context-submenu .context-subitem[aria-current="page"],.context-submenu .context-subitem[aria-pressed="true"],.context-submenu .side-category.active{background:#edf5ff;color:#1b64da;font-weight:700}
.context-submenu .context-subitem:focus-visible,.context-submenu .side-category:focus-visible,[data-context-toggle]:focus-visible{outline:3px solid #90bcf8;outline-offset:2px}
.nav-item[data-context-toggle]{position:relative;padding-right:32px;cursor:pointer}
.nav-item[data-context-toggle]::after{content:"";position:absolute;right:14px;top:calc(50% - 4px);width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .18s;opacity:.65;pointer-events:none}
.nav-item[data-context-toggle][aria-expanded="true"]::after{transform:rotate(225deg);top:calc(50% - 1px)}
.nav-item[data-context-toggle]>.nav-arrow{display:none}
.context-sidebar>.side-topics{flex:0 0 auto;min-height:auto;overflow:visible;margin-top:0;padding:0}
.context-submenu.side-topics{flex:none;min-height:auto;overflow:visible}
.context-submenu .context-subitem .icon{width:16px;height:16px;flex-shrink:0}
.context-submenu .context-subitem[data-upcoming-open]{color:#8065c6}

/* Mobile primary navigation stays beside its own children, above the content. */
.mobile-context-navigation{position:relative;z-index:40;display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;min-width:0;padding:7px 20px;background:#fff;border-bottom:1px solid #edf1f6}
.mobile-context-navigation.header-menu-row{display:grid}
.mobile-context-navigation>.context-menu-group{position:static;min-width:0}
.mobile-context-navigation .context-menu-group>.nav-item{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;width:100%;min-height:46px;padding:9px 18px 9px 8px;border-radius:10px;font-size:12px;line-height:1.45;text-align:center;text-decoration:none}
.mobile-context-navigation .nav-item>.icon{width:19px;height:19px;flex-shrink:0}
.mobile-context-navigation .nav-item>span{min-width:0;overflow-wrap:anywhere}
.mobile-context-navigation .context-submenu{position:absolute;top:100%;left:12px;right:12px;z-index:42;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0;padding:12px;max-height:min(60dvh,480px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #e1e9f4;border-radius:0 0 16px 16px;background:#fff;box-shadow:0 14px 28px #263e601c}
.mobile-context-navigation .context-submenu .context-subitem,.mobile-context-navigation .context-submenu .side-category{min-height:44px;font-size:12px;padding:10px 12px;border-radius:10px;background:#f6f8fb}
.mobile-context-navigation .context-submenu .context-subitem:hover,.mobile-context-navigation .context-submenu .side-category:hover{background:#edf5ff}
.mobile-context-navigation .context-submenu .context-subitem.active,.mobile-context-navigation .context-submenu .context-subitem[aria-current="page"],.mobile-context-navigation .context-submenu .context-subitem[aria-pressed="true"]{background:#edf5ff;color:#1b64da}
@media(max-width:1000px){.mobile-context-navigation{display:grid}}
@media(max-width:600px){.mobile-context-navigation{gap:2px;padding:5px 10px}.mobile-context-navigation .context-menu-group>.nav-item{flex-direction:column;gap:4px;padding:8px 4px;min-height:65px;font-size:10px;letter-spacing:-.025em}.mobile-context-navigation .nav-item>.icon{width:21px;height:21px}.mobile-context-navigation .nav-item[data-context-toggle]::after{right:6px;top:12px;width:5px;height:5px}.mobile-context-navigation .nav-item[data-context-toggle][aria-expanded="true"]::after{top:15px}.mobile-context-navigation .context-submenu{left:8px;right:8px;padding:8px;gap:4px;border-radius:0 0 14px 14px}.mobile-context-navigation .context-submenu .context-subitem,.mobile-context-navigation .context-submenu .side-category{font-size:11px;padding:10px;word-break:normal}}
@media(prefers-reduced-motion:reduce){.nav-item[data-context-toggle]::after{transition:none}}

/* Mobile app navigation: fixed primary tabs and upward contextual sheets. */
@media(max-width:1000px){
 body.mobile-app-navigation{padding-bottom:calc(82px + env(safe-area-inset-bottom));overscroll-behavior-y:none}
 body.mobile-app-navigation .bottom-nav{display:none!important}
 body.mobile-app-navigation>.mobile-context-navigation{position:fixed!important;inset:auto 0 0;z-index:90;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px 7px calc(6px + env(safe-area-inset-bottom));min-height:70px;border:0;border-top:1px solid #e6ebf2;background:#fffffff5;backdrop-filter:blur(18px);box-shadow:0 -4px 20px #15294a08}
 body.mobile-app-navigation>.mobile-context-navigation .context-menu-group>.nav-item{flex-direction:column;gap:5px;padding:7px 2px;min-height:58px;font-size:10px;line-height:1.35;letter-spacing:-.03em}
 body.mobile-app-navigation>.mobile-context-navigation .nav-item>.icon{width:22px;height:22px}
 body.mobile-app-navigation>.mobile-context-navigation .context-submenu{top:auto;bottom:100%;left:8px;right:8px;border-radius:18px 18px 0 0;max-height:min(65dvh,520px);padding:14px;box-shadow:0 -10px 30px #263e6018}
 body.mobile-app-navigation>.mobile-context-navigation .nav-item.active{background:#edf4ff;color:#2363cb;font-weight:750}
}

/* Resident marketing occupies one primary tab; price comparison belongs to services. */
[data-context-nav] .marketing-nav-icon{color:#3182f6}
.context-commerce-categories{display:grid;gap:3px;min-width:0;margin:2px 0 5px 10px;padding:5px 0 2px 10px;border-left:1px solid #e2eaf4}
.context-commerce-categories .context-subitem{font-size:11px;min-height:34px}
.context-subitem[data-context-price-link]{justify-content:flex-start;gap:7px}
.mobile-context-navigation .context-subitem[data-context-price-link],.mobile-context-navigation .context-commerce-categories{grid-column:1/-1}
.mobile-context-navigation .context-commerce-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:0;padding:0 0 0 9px;border-left:2px solid #e2eaf4}
.mobile-context-navigation .context-commerce-categories .context-subitem{min-height:42px;font-size:11px}