{"id":3783,"date":"2026-08-10T16:04:19","date_gmt":"2026-08-10T16:04:19","guid":{"rendered":"https:\/\/www.molrev.com\/?page_id=3783"},"modified":"2026-08-10T16:04:19","modified_gmt":"2026-08-10T16:04:19","slug":"brokerage","status":"publish","type":"page","link":"https:\/\/www.molrev.com\/zh\/brokerage\/","title":{"rendered":"\u8239\u8247\u7d93\u7d00"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3783\" class=\"elementor elementor-3783\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-688576e e-flex e-con-boxed e-con e-parent\" data-id=\"688576e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a1355a9 elementor-widget elementor-widget-heading\" data-id=\"a1355a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Yacht Sales &amp; Brokerage<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6fd641 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"f6fd641\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center; max-width: 780px; margin: 0 auto; color: #666; line-height: 1.7;\">With extensive industry knowledge and strong technical resources, our brokerage team provides professional consultation across every aspect of yacht selection, specification and ownership. We collaborate exclusively with reputable, carefully selected shipyards and industry experts.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2e11104 e-flex e-con-boxed e-con e-parent\" data-id=\"2e11104\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1eab2df e-con-full yb-bar-left e-flex e-con e-child\" data-id=\"1eab2df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-318241c elementor-widget elementor-widget-yacht-filter-sidebar\" data-id=\"318241c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"yacht-filter-sidebar.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                                    <button class=\"yf-trigger\" data-target=\"yfs-318241c\">FILTERS<\/button>\n                    <div class=\"yf-overlay\" data-target=\"yfs-318241c\"><\/div>\n                                <aside class=\"yf-sidebar yf-drawer-mode\" id=\"yfs-318241c\">\n                    <div class=\"yf-header\">\n                        <span class=\"yf-title\">FILTERS<\/span>\n                        <span style=\"display:flex;align-items:center;\">\n                            <button class=\"yf-toggle-all\" data-state=\"expand\">COLLAPSE ALL<\/button>\n                            <button class=\"yf-close\" aria-label=\"Close\">&times;<\/button>\n                        <\/span>\n                    <\/div>\n\n                                        <button class=\"yf-clear\">CLEAR FILTERS<\/button>\n                    \n                                        <div class=\"yf-section \" data-key=\"type\">\n                        <div class=\"yf-section-header\"><span class=\"yf-section-header-left\">TYPE<span class=\"yf-badge\"><\/span><\/span><span class=\"yf-chevron\"><\/span><\/div>\n                        <div class=\"yf-section-body\">\n                            <label><input type=\"checkbox\" value=\"motor\"> Motor<\/label>\n                            <label><input type=\"checkbox\" value=\"sailing\"> Sail<\/label>\n                        <\/div>\n                    <\/div>\n                    \n                                        <div class=\"yf-section \" data-key=\"length\" data-min=\"9\" data-max=\"27\">\n                        <div class=\"yf-section-header\">\n                            <span class=\"yf-section-header-left\">LENGTH (M)<span class=\"yf-badge\"><\/span><\/span>\n                            <span class=\"yf-chevron\"><\/span>\n                        <\/div>\n                        <div class=\"yf-section-body\">\n                            <div class=\"yf-range\">\n                                <div class=\"yf-range-track\">\n                                    <div class=\"yf-range-fill\"><\/div>\n                                    <input type=\"range\" class=\"yf-range-min\" min=\"9\" max=\"27\" value=\"9\" step=\"1\">\n                                    <input type=\"range\" class=\"yf-range-max\" min=\"9\" max=\"27\" value=\"27\" step=\"1\">\n                                <\/div>\n                            <\/div>\n                            <div class=\"yf-range-display\"><div class=\"yf-range-value yf-input-min\">9<\/div><span>\u2014<\/span><div class=\"yf-range-value yf-input-max\">27<\/div><\/div>\n                        <\/div>\n                    <\/div>\n                    \n                                        <div class=\"yf-section \" data-key=\"builder\">\n                        <div class=\"yf-section-header\"><span class=\"yf-section-header-left\">BUILDER<span class=\"yf-badge\"><\/span><\/span><span class=\"yf-chevron\"><\/span><\/div>\n                        <div class=\"yf-section-body\">\n                            <select class=\"yf-builder-select\"><option value=\"\">Any<\/option><option value=\"Custom\">Custom<\/option><option value=\"Hsing Hang Marine\">Hsing Hang Marine<\/option><option value=\"Hylas Yachts\">Hylas Yachts<\/option><option value=\"Sunreef Yachts\">Sunreef Yachts<\/option><option value=\"ZEX Yachts\">ZEX Yachts<\/option><\/select>\n                        <\/div>\n                    <\/div>\n                    \n                                        <div class=\"yf-section \" data-key=\"price\" data-min=\"640000\" data-max=\"8275862\">\n                        <div class=\"yf-section-header\">\n                            <span class=\"yf-section-header-left\">PRICE (US$)<span class=\"yf-badge\"><\/span><\/span>\n                            <span class=\"yf-chevron\"><\/span>\n                        <\/div>\n                        <div class=\"yf-section-body\">\n                            <div class=\"yf-range\">\n                                <div class=\"yf-range-track\">\n                                    <div class=\"yf-range-fill\"><\/div>\n                                    <input type=\"range\" class=\"yf-range-min\" min=\"640000\" max=\"8275862\" value=\"640000\" step=\"10000\">\n                                    <input type=\"range\" class=\"yf-range-max\" min=\"640000\" max=\"8275862\" value=\"8275862\" step=\"10000\">\n                                <\/div>\n                            <\/div>\n                            <div class=\"yf-range-display\"><div class=\"yf-range-value yf-input-min\">640,000<\/div><span>\u2014<\/span><div class=\"yf-range-value yf-input-max\">8,275,862<\/div><\/div>\n                        <\/div>\n                    <\/div>\n                                                            <div class=\"yf-section \" data-key=\"guests\" data-min=\"0\" data-max=\"10\">\n                        <div class=\"yf-section-header\">\n                            <span class=\"yf-section-header-left\">GUESTS<span class=\"yf-badge\"><\/span><\/span>\n                            <span class=\"yf-chevron\"><\/span>\n                        <\/div>\n                        <div class=\"yf-section-body\">\n                            <div class=\"yf-range\">\n                                <div class=\"yf-range-track\">\n                                    <div class=\"yf-range-fill\"><\/div>\n                                    <input type=\"range\" class=\"yf-range-min\" min=\"0\" max=\"10\" value=\"0\" step=\"1\">\n                                    <input type=\"range\" class=\"yf-range-max\" min=\"0\" max=\"10\" value=\"10\" step=\"1\">\n                                <\/div>\n                            <\/div>\n                            <div class=\"yf-range-display\"><div class=\"yf-range-value yf-input-min\">0<\/div><span>\u2014<\/span><div class=\"yf-range-value yf-input-max\">10<\/div><\/div>\n                        <\/div>\n                    <\/div>\n                                                            <div class=\"yf-section \" data-key=\"year\" data-min=\"2021\" data-max=\"2027\">\n                        <div class=\"yf-section-header\">\n                            <span class=\"yf-section-header-left\">YEAR BUILT<span class=\"yf-badge\"><\/span><\/span>\n                            <span class=\"yf-chevron\"><\/span>\n                        <\/div>\n                        <div class=\"yf-section-body\">\n                            <div class=\"yf-range\">\n                                <div class=\"yf-range-track\">\n                                    <div class=\"yf-range-fill\"><\/div>\n                                    <input type=\"range\" class=\"yf-range-min\" min=\"2021\" max=\"2027\" value=\"2021\" step=\"1\">\n                                    <input type=\"range\" class=\"yf-range-max\" min=\"2021\" max=\"2027\" value=\"2027\" step=\"1\">\n                                <\/div>\n                            <\/div>\n                            <div class=\"yf-range-display\"><div class=\"yf-range-value yf-input-min\">2,021<\/div><span>\u2014<\/span><div class=\"yf-range-value yf-input-max\">2,027<\/div><\/div>\n                        <\/div>\n                    <\/div>\n                    \n                                        <div class=\"yf-section \" data-key=\"amenities\">\n                        <div class=\"yf-section-header\"><span class=\"yf-section-header-left\">AMENITIES<span class=\"yf-badge\"><\/span><\/span><span class=\"yf-chevron\"><\/span><\/div>\n                        <div class=\"yf-section-body\">\n                            <label><input type=\"checkbox\" value=\"pool\"> Pool<\/label><label><input type=\"checkbox\" value=\"jacuzzi\"> Hot Tub<\/label><label><input type=\"checkbox\" value=\"sauna\"> Sauna<\/label><label><input type=\"checkbox\" value=\"spa\"> Spa<\/label><label><input type=\"checkbox\" value=\"gym\"> Gym<\/label><label><input type=\"checkbox\" value=\"cinema\"> Cinema<\/label><label><input type=\"checkbox\" value=\"beach_club\"> Beach Club<\/label><label><input type=\"checkbox\" value=\"helipad\"> Helipad<\/label><label><input type=\"checkbox\" value=\"elevator\"> Elevator<\/label><label><input type=\"checkbox\" value=\"aircon\"> Air Conditioning<\/label><label><input type=\"checkbox\" value=\"wifi\"> WiFi<\/label><label><input type=\"checkbox\" value=\"wheelchair\"> Wheelchair<\/label><label><input type=\"checkbox\" value=\"master_main\"> Master on Main<\/label>                        <\/div>\n                    <\/div>\n                                    <\/aside>\n\n                <script>\n                (function(){\n                    var sidebar = document.getElementById('yfs-318241c');\n                    if (!sidebar || sidebar.dataset.yfInit) return;\n                    sidebar.dataset.yfInit = '1';\n\n                    var trigger = document.querySelector('.yf-trigger[data-target=\"yfs-318241c\"]');\n                    var mobileBtn = document.querySelector('.yf-mobile-btn[data-target=\"yfs-318241c\"]');\n                    var overlay = document.querySelector('.yf-overlay[data-target=\"yfs-318241c\"]');\n                    var closeBtn = sidebar.querySelector('.yf-close');\n                    function openSidebar(){ sidebar.classList.add('open'); if (overlay) overlay.classList.add('visible'); }\n                    function closeSidebar(){ sidebar.classList.remove('open'); if (overlay) overlay.classList.remove('visible'); }\n                    function openSidebarWithActive(){ openSidebar(); if (trigger) trigger.classList.add('is-active'); if (mobileBtn) mobileBtn.classList.add('is-active'); }\n                    function closeSidebarWithActive(){ closeSidebar(); if (trigger) trigger.classList.remove('is-active'); if (mobileBtn) mobileBtn.classList.remove('is-active'); }\n                    if (trigger) trigger.addEventListener('click', openSidebarWithActive);\n                    if (mobileBtn) mobileBtn.addEventListener('click', openSidebarWithActive);\n                    if (overlay) overlay.addEventListener('click', closeSidebarWithActive);\n                    if (closeBtn) closeBtn.addEventListener('click', closeSidebarWithActive);\n                    \/\/ Also listen for external open events (e.g. from toolbar widget)\n                    document.addEventListener('yacht-filter-open', openSidebar);\n\n                    sidebar.querySelectorAll('.yf-section-header').forEach(function(h){\n                        h.addEventListener('click', function(){ h.parentElement.classList.toggle('collapsed'); });\n                    });\n\n                    \/\/ Toggle all expand\/collapse\n                    var toggleAll = sidebar.querySelector('.yf-toggle-all');\n                    if (toggleAll) {\n                        function syncToggleLabel() {\n                            var allCollapsed = Array.prototype.every.call(\n                                sidebar.querySelectorAll('.yf-section'),\n                                function(s){ return s.classList.contains('collapsed'); }\n                            );\n                            toggleAll.textContent = allCollapsed ? 'EXPAND ALL' : 'COLLAPSE ALL';\n                            toggleAll.dataset.state = allCollapsed ? 'collapse' : 'expand';\n                        }\n                        syncToggleLabel();\n                        toggleAll.addEventListener('click', function(){\n                            var collapse = toggleAll.dataset.state === 'expand';\n                            sidebar.querySelectorAll('.yf-section').forEach(function(s){\n                                if (collapse) s.classList.add('collapsed'); else s.classList.remove('collapsed');\n                            });\n                            syncToggleLabel();\n                        });\n                        sidebar.addEventListener('click', function(e){\n                            if (e.target.closest('.yf-section-header')) setTimeout(syncToggleLabel, 0);\n                        });\n                    }\n\n                    \/\/ Dual-range setup\n                    function setupRange(section) {\n                        var min = parseFloat(section.dataset.min);\n                        var max = parseFloat(section.dataset.max);\n                        var rMin = section.querySelector('.yf-range-min');\n                        var rMax = section.querySelector('.yf-range-max');\n                        var iMin = section.querySelector('.yf-input-min');\n                        var iMax = section.querySelector('.yf-input-max');\n                        var fill = section.querySelector('.yf-range-fill');\n                        var badge = section.querySelector('.yf-badge');\n                        if (!rMin || !rMax) return null;\n                        function updateFill() {\n                            var lo = parseFloat(rMin.value); var hi = parseFloat(rMax.value);\n                            var leftPct = ((lo - min) \/ (max - min)) * 100;\n                            var rightPct = ((hi - min) \/ (max - min)) * 100;\n                            fill.style.left = leftPct + '%'; fill.style.width = (rightPct - leftPct) + '%';\n                            if (badge) {\n                                if (lo > min || hi < max) {\n                                    badge.textContent = '\u2022'; badge.classList.add('visible');\n                                } else { badge.classList.remove('visible'); }\n                            }\n                        }\n                        function fmt(n){ return Number(n).toLocaleString(); }\n                        function sync() {\n                            var lo = parseFloat(rMin.value); var hi = parseFloat(rMax.value);\n                            if (lo > hi - 1) rMin.value = (hi - 1);\n                            if (hi < lo + 1) rMax.value = (lo + 1);\n                            if (iMin) iMin.textContent = fmt(rMin.value);\n                            if (iMax) iMax.textContent = fmt(rMax.value);\n                            updateFill(); emit();\n                        }\n                        rMin.addEventListener('input', sync);\n                        rMax.addEventListener('input', sync);\n                        \/\/ Initialize displayed values\n                        if (iMin) iMin.textContent = fmt(rMin.value);\n                        if (iMax) iMax.textContent = fmt(rMax.value);\n                        updateFill();\n                        return { rMin: rMin, rMax: rMax, defaultMin: min, defaultMax: max, badge: badge };\n                    }\n\n                    var ranges = {};\n                    sidebar.querySelectorAll('.yf-section[data-min]').forEach(function(sec){\n                        ranges[sec.dataset.key] = setupRange(sec);\n                    });\n\n                    var typeSection = sidebar.querySelector('.yf-section[data-key=\"type\"]');\n                    var typeBoxes = typeSection ? typeSection.querySelectorAll('input[type=\"checkbox\"]') : [];\n                    var typeBadge = typeSection ? typeSection.querySelector('.yf-badge') : null;\n                    typeBoxes.forEach(function(c){ c.addEventListener('change', function(){ updateTypeBadge(); emit(); }); });\n                    function updateTypeBadge() {\n                        if (!typeBadge) return;\n                        var n = 0; typeBoxes.forEach(function(c){ if (c.checked) n++; });\n                        if (n) { typeBadge.textContent = n; typeBadge.classList.add('visible'); }\n                        else typeBadge.classList.remove('visible');\n                    }\n\n                    var amSection = sidebar.querySelector('.yf-section[data-key=\"amenities\"]');\n                    var amBoxes = amSection ? amSection.querySelectorAll('input[type=\"checkbox\"]') : [];\n                    var amBadge = amSection ? amSection.querySelector('.yf-badge') : null;\n                    amBoxes.forEach(function(c){ c.addEventListener('change', function(){ updateAmBadge(); emit(); }); });\n                    function updateAmBadge() {\n                        if (!amBadge) return;\n                        var n = 0; amBoxes.forEach(function(c){ if (c.checked) n++; });\n                        if (n) { amBadge.textContent = n; amBadge.classList.add('visible'); }\n                        else amBadge.classList.remove('visible');\n                    }\n\n                    var builderSel = sidebar.querySelector('.yf-builder-select');\n                    var builderSection = sidebar.querySelector('.yf-section[data-key=\"builder\"]');\n                    var builderBadge = builderSection ? builderSection.querySelector('.yf-badge') : null;\n                    if (builderSel) {\n                        builderSel.addEventListener('change', function(){\n                            if (builderBadge) {\n                                if (builderSel.value) { builderBadge.textContent = '\u2022'; builderBadge.classList.add('visible'); }\n                                else builderBadge.classList.remove('visible');\n                            }\n                            emit();\n                        });\n                    }\n\n                    \/\/ Clear all\n                    var clearBtn = sidebar.querySelector('.yf-clear');\n                    if (clearBtn) {\n                        clearBtn.addEventListener('click', function(){\n                            typeBoxes.forEach(function(c){ c.checked = false; });\n                            amBoxes.forEach(function(c){ c.checked = false; });\n                            if (builderSel) builderSel.value = '';\n                            Object.keys(ranges).forEach(function(k){\n                                var r = ranges[k]; if (!r) return;\n                                r.rMin.value = r.defaultMin; r.rMax.value = r.defaultMax;\n                                var sec = r.rMin.closest('.yf-section'); var ev = new Event('input');\n                                r.rMin.dispatchEvent(ev); r.rMax.dispatchEvent(ev);\n                            });\n                            updateTypeBadge(); updateAmBadge();\n                            if (builderBadge) builderBadge.classList.remove('visible');\n                            emit();\n                        });\n                    }\n\n                    function emit() {\n                        var detail = {};\n                        var types = []; typeBoxes.forEach(function(c){ if (c.checked) types.push(c.value); });\n                        detail.types = types;\n                        var ams = []; amBoxes.forEach(function(c){ if (c.checked) ams.push(c.value); });\n                        detail.amenities = ams;\n                        detail.builder = builderSel ? builderSel.value : '';\n                        Object.keys(ranges).forEach(function(key){\n                            var r = ranges[key]; if (!r) return;\n                            var lo = parseFloat(r.rMin.value); var hi = parseFloat(r.rMax.value);\n                            var minK, maxK;\n                            if (key === 'price')  { minK='priceMin';  maxK='priceMax'; }\n                            if (key === 'length') { minK='lengthMin'; maxK='lengthMax'; }\n                            if (key === 'year')   { minK='yearMin';   maxK='yearMax'; }\n                            if (key === 'guests') { minK='guestsMin'; maxK='guestsMax'; }\n                            if (!minK) return;\n                            detail[minK] = (lo > r.defaultMin) ? lo : null;\n                            detail[maxK] = (hi < r.defaultMax) ? hi : null;\n                        });\n                        document.dispatchEvent(new CustomEvent('yacht-filter-update', { detail: detail }));\n                    }\n                })();\n                <\/script>\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-05ab4bb e-con-full yb-bar-right e-flex e-con e-child\" data-id=\"05ab4bb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1343c9a elementor-widget elementor-widget-yacht-toolbar\" data-id=\"1343c9a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"yacht-toolbar.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                <div class=\"yt-toolbar\" id=\"yt-1343c9a\">\n                                        <div class=\"yt-found\">FOUND <span class=\"yt-found-count\">11<\/span><\/div>\n                                        <div class=\"yt-controls\">\n                                                <div class=\"yt-group\" data-control=\"units\">\n                            <span class=\"yt-label\">UNITS:<\/span>\n                            <span class=\"yt-value\">M<\/span>\n                            <div class=\"yt-dropdown\">\n                                <label><input type=\"radio\" name=\"yt-units-yt-1343c9a\" value=\"m\" checked> METER (M)<\/label>\n                                <label><input type=\"radio\" name=\"yt-units-yt-1343c9a\" value=\"ft\"> FEET (FT)<\/label>\n                            <\/div>\n                        <\/div>\n                                                                        <div class=\"yt-group\" data-control=\"currency\">\n                            <span class=\"yt-label\">CURRENCY:<\/span>\n                            <span class=\"yt-value\">DEFAULT<\/span>\n                            <div class=\"yt-dropdown\">\n                                <label><input type=\"radio\" name=\"yt-curr-yt-1343c9a\" value=\"USD\" checked> DEFAULT (US$)<\/label>\n                                <label><input type=\"radio\" name=\"yt-curr-yt-1343c9a\" value=\"TWD\"> TWD (NT$)<\/label>\n                                <label><input type=\"radio\" name=\"yt-curr-yt-1343c9a\" value=\"EUR\"> EUR (\u20ac)<\/label>\n                            <\/div>\n                        <\/div>\n                                                                        <div class=\"yt-group\" data-control=\"sort\">\n                            <span class=\"yt-label\">SORT BY:<\/span>\n                            <span class=\"yt-value\">DEFAULT<\/span>\n                            <div class=\"yt-dropdown\">\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"\" checked> DEFAULT<\/label>\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"price-asc\"> PRICE (LOW-HIGH)<\/label>\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"price-desc\"> PRICE (HIGH-LOW)<\/label>\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"length-asc\"> LENGTH (LOW-HIGH)<\/label>\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"length-desc\"> LENGTH (HIGH-LOW)<\/label>\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"year-desc\"> YEAR (NEWEST)<\/label>\n                                <label><input type=\"radio\" name=\"yt-sort-yt-1343c9a\" value=\"year-asc\"> YEAR (OLDEST)<\/label>\n                            <\/div>\n                        <\/div>\n                                            <\/div>\n                <\/div>\n\n                <script>\n                (function(){\n                    var toolbar = document.getElementById('yt-1343c9a');\n                    if (!toolbar || toolbar.dataset.ytInit) return;\n                    toolbar.dataset.ytInit = '1';\n                    var rates = {\"USD\":{\"rate\":1,\"symbol\":\"US$\"},\"TWD\":{\"rate\":31.25,\"symbol\":\"NT$\"},\"EUR\":{\"rate\":0.906,\"symbol\":\"\\u20ac\"}};\n                    window.YachtRates = rates;\n\n                    toolbar.querySelectorAll('.yt-group').forEach(function(grp){\n                        var value = grp.querySelector('.yt-value');\n                        if (value) {\n                            value.addEventListener('click', function(e){\n                                e.stopPropagation();\n                                document.querySelectorAll('.yt-group.open').forEach(function(g){ if (g !== grp) g.classList.remove('open'); });\n                                grp.classList.toggle('open');\n                            });\n                        }\n                        grp.querySelectorAll('input[type=\"radio\"]').forEach(function(r){\n                            r.addEventListener('change', function(){\n                                var ctrl = grp.dataset.control;\n                                var label = r.parentElement.textContent.trim();\n                                if (ctrl === 'units') label = (r.value === 'ft') ? 'FT' : 'M';\n                                if (ctrl === 'currency') {\n                                    var rinfo = rates[r.value];\n                                    label = (r.value === 'USD') ? 'DEFAULT' : (rinfo ? r.value : 'DEFAULT');\n                                }\n                                value.textContent = label;\n                                grp.classList.remove('open');\n                                var detail = {};\n                                if (ctrl === 'sort') detail.sort = r.value;\n                                if (ctrl === 'units') detail.units = r.value;\n                                if (ctrl === 'currency') detail.currency = r.value;\n                                document.dispatchEvent(new CustomEvent('yacht-toolbar-update', { detail: detail }));\n                            });\n                        });\n                    });\n                    document.addEventListener('click', function(){\n                        toolbar.querySelectorAll('.yt-group.open').forEach(function(g){ g.classList.remove('open'); });\n                    });\n\n                    document.addEventListener('yacht-grid-filtered', function(e){\n                        var fc = toolbar.querySelector('.yt-found-count');\n                        if (fc && e.detail && typeof e.detail.visible === 'number') fc.textContent = e.detail.visible;\n                    });\n                })();\n                <\/script>\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3e18fb7 e-flex e-con-boxed e-con e-parent\" data-id=\"3e18fb7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ea80980 elementor-widget elementor-widget-yacht-brokerage-grid\" data-id=\"ea80980\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"yacht-brokerage-grid.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t                <div class=\"yacht-brokerage\" id=\"ybg-ea80980\" data-yacht-grid=\"1\">\n                    \n                    \n                    \n                    <div class=\"yb-grid\">\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/hylas-h48\/\"\n                               data-yacht-id=\"3981\"\n                               data-title=\"Hylas H48\"\n                               data-types=\"sailing\"\n                               data-builder=\"hylas yachts\"\n                               data-price=\"0\"\n                               data-year=\"2027\"\n                               data-year-refit=\"0\"\n                               data-length=\"14.63\"\n                               data-guests=\"6\"\n                               data-staterooms=\"3\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"hylas h48 hylas yachts h48\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3981\" data-yacht-title=\"Hylas H48\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/hylas-h48-cover-00.jpg?fit=800%2C533&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/hylas-h48\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/hylas-h48-cover-00.jpg?fit=800%2C533&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Hylas H48<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2027<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"0\"><span class=\"yb-card-price-val\">On Request<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/hylas-h57\/\"\n                               data-yacht-id=\"3944\"\n                               data-title=\"Hylas H57\"\n                               data-types=\"sailing\"\n                               data-builder=\"hylas yachts\"\n                               data-price=\"0\"\n                               data-year=\"2027\"\n                               data-year-refit=\"0\"\n                               data-length=\"18.125\"\n                               data-guests=\"6\"\n                               data-staterooms=\"3\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"hylas h57 hylas yachts h57\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3944\" data-yacht-title=\"Hylas H57\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/hylas-h57-cover-00.jpg?fit=800%2C599&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/hylas-h57\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/hylas-h57-cover-00.jpg?fit=800%2C599&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Hylas H57<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2027<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"0\"><span class=\"yb-card-price-val\">On Request<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/zex-yachts-tx-30c\/\"\n                               data-yacht-id=\"3853\"\n                               data-title=\"ZEX Yachts TX-30C\"\n                               data-types=\"motor\"\n                               data-builder=\"zex yachts\"\n                               data-price=\"0\"\n                               data-year=\"2026\"\n                               data-year-refit=\"0\"\n                               data-length=\"9.5\"\n                               data-guests=\"0\"\n                               data-staterooms=\"0\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"zex yachts tx-30c zex yachts tx-30c\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3853\" data-yacht-title=\"ZEX Yachts TX-30C\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/zex-tx-30c-cover.jpg?fit=800%2C450&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/zex-yachts-tx-30c\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/zex-tx-30c-cover.jpg?fit=800%2C450&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">ZEX Yachts TX-30C<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2026<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"0\"><span class=\"yb-card-price-val\">On Request<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-60-sail\/\"\n                               data-yacht-id=\"3914\"\n                               data-title=\"Sunreef 60 Sail\"\n                               data-types=\"sailing\"\n                               data-builder=\"sunreef yachts\"\n                               data-price=\"2950000\"\n                               data-year=\"2021\"\n                               data-year-refit=\"0\"\n                               data-length=\"18.29\"\n                               data-guests=\"8\"\n                               data-staterooms=\"4\"\n                               data-crew=\"2\"\n                               data-amenities=\"\"\n                               data-search=\"sunreef 60 sail sunreef yachts sunreef 60 sail\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3914\" data-yacht-title=\"Sunreef 60 Sail\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-60-sail-01.jpg?fit=800%2C449&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-60-sail\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-60-sail-01.jpg?fit=800%2C449&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Sunreef 60 Sail<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2021<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"2950000\">US$ <span class=\"yb-card-price-val\">2,950,000<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-80-eco-sail\/\"\n                               data-yacht-id=\"3869\"\n                               data-title=\"Sunreef 80 Eco Sail\"\n                               data-types=\"sailing\"\n                               data-builder=\"sunreef yachts\"\n                               data-price=\"8275862\"\n                               data-year=\"2021\"\n                               data-year-refit=\"0\"\n                               data-length=\"23.99\"\n                               data-guests=\"8\"\n                               data-staterooms=\"4\"\n                               data-crew=\"3\"\n                               data-amenities=\"\"\n                               data-search=\"sunreef 80 eco sail sunreef yachts sunreef 80 eco sail\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3869\" data-yacht-title=\"Sunreef 80 Eco Sail\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-80-eco-sail-01.jpg?fit=800%2C450&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-80-eco-sail\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-80-eco-sail-01.jpg?fit=800%2C450&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Sunreef 80 Eco Sail<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2021<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"8275862\">US$ <span class=\"yb-card-price-val\">8,275,862<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-ultima-88\/\"\n                               data-yacht-id=\"4123\"\n                               data-title=\"Sunreef Ultima 88\"\n                               data-types=\"motor\"\n                               data-builder=\"sunreef yachts\"\n                               data-price=\"0\"\n                               data-year=\"2027\"\n                               data-year-refit=\"0\"\n                               data-length=\"26.8\"\n                               data-guests=\"10\"\n                               data-staterooms=\"5\"\n                               data-crew=\"5\"\n                               data-amenities=\"jacuzzi beach_club\"\n                               data-search=\"sunreef ultima 88 sunreef yachts ultima 88\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"4123\" data-yacht-title=\"Sunreef Ultima 88\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-ultima-88-01.jpg?fit=800%2C534&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-ultima-88\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-ultima-88-01.jpg?fit=800%2C534&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Sunreef Ultima 88<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2027<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"0\"><span class=\"yb-card-price-val\">On Request<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-ultima-55\/\"\n                               data-yacht-id=\"3809\"\n                               data-title=\"Sunreef Ultima 55 ECO\"\n                               data-types=\"motor\"\n                               data-builder=\"sunreef yachts\"\n                               data-price=\"3200000\"\n                               data-year=\"2025\"\n                               data-year-refit=\"0\"\n                               data-length=\"16.6\"\n                               data-guests=\"4\"\n                               data-staterooms=\"2\"\n                               data-crew=\"0\"\n                               data-amenities=\"beach_club\"\n                               data-search=\"sunreef ultima 55 eco sunreef yachts ultima 55 eco\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3809\" data-yacht-title=\"Sunreef Ultima 55 ECO\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-ultima-55-01.jpg?fit=800%2C450&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/sunreef-ultima-55\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/sunreef-ultima-55-01.jpg?fit=800%2C450&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Sunreef Ultima 55 ECO<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2025<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"3200000\">US$ <span class=\"yb-card-price-val\">3,200,000<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/h-yachts-ex400-coupe\/\"\n                               data-yacht-id=\"3776\"\n                               data-title=\"H-Yachts EX400 Coupe\"\n                               data-types=\"motor\"\n                               data-builder=\"hsing hang marine\"\n                               data-price=\"640000\"\n                               data-year=\"2026\"\n                               data-year-refit=\"0\"\n                               data-length=\"12.77\"\n                               data-guests=\"0\"\n                               data-staterooms=\"0\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"h-yachts ex400 coupe hsing hang marine ex400 coupe\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3776\" data-yacht-title=\"H-Yachts EX400 Coupe\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/h-yachts-ex400-coupe-01-scaled.jpg?fit=800%2C404&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/h-yachts-ex400-coupe\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/h-yachts-ex400-coupe-01-scaled.jpg?fit=800%2C404&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">H-Yachts EX400 Coupe<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2026<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"640000\">US$ <span class=\"yb-card-price-val\">640,000<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/h-yachts-ex400-flybridge\/\"\n                               data-yacht-id=\"3781\"\n                               data-title=\"H-Yachts EX400 Flybridge\"\n                               data-types=\"motor\"\n                               data-builder=\"hsing hang marine\"\n                               data-price=\"736000\"\n                               data-year=\"2026\"\n                               data-year-refit=\"0\"\n                               data-length=\"12.77\"\n                               data-guests=\"0\"\n                               data-staterooms=\"0\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"h-yachts ex400 flybridge hsing hang marine ex400 flybridge\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3781\" data-yacht-title=\"H-Yachts EX400 Flybridge\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/h-yachts-ex400-flybridge-02-scaled.jpg?fit=800%2C266&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/h-yachts-ex400-flybridge\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/h-yachts-ex400-flybridge-02-scaled.jpg?fit=800%2C266&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">H-Yachts EX400 Flybridge<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2026<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"736000\">US$ <span class=\"yb-card-price-val\">736,000<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/custom-nx65\/\"\n                               data-yacht-id=\"3790\"\n                               data-title=\"Custom NX65\"\n                               data-types=\"motor\"\n                               data-builder=\"custom\"\n                               data-price=\"3200000\"\n                               data-year=\"2027\"\n                               data-year-refit=\"0\"\n                               data-length=\"19.9\"\n                               data-guests=\"8\"\n                               data-staterooms=\"4\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"custom nx65 custom nx65\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"3790\" data-yacht-title=\"Custom NX65\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/custom-nx65-01-scaled.jpg?fit=800%2C450&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/custom-nx65\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/custom-nx65-01-scaled.jpg?fit=800%2C450&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Custom NX65<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2027<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"3200000\">US$ <span class=\"yb-card-price-val\">3,200,000<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                                    <a class=\"yb-card\"\n                               href=\"https:\/\/www.molrev.com\/zh\/brokerage\/hylas-m49\/\"\n                               data-yacht-id=\"4043\"\n                               data-title=\"Hylas M49\"\n                               data-types=\"motor\"\n                               data-builder=\"hylas yachts\"\n                               data-price=\"1450000\"\n                               data-year=\"2027\"\n                               data-year-refit=\"0\"\n                               data-length=\"15\"\n                               data-guests=\"7\"\n                               data-staterooms=\"2\"\n                               data-crew=\"0\"\n                               data-amenities=\"\"\n                               data-search=\"hylas m49 hylas yachts m49\">\n                                                                <button class=\"yb-card-heart\" onclick=\"event.preventDefault();event.stopPropagation();window.YachtCompare&&window.YachtCompare.toggle(this);\" data-yacht-id=\"4043\" data-yacht-title=\"Hylas M49\" data-yacht-thumb=\"https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/hylas-m49-cover-00.jpg?fit=800%2C533&amp;ssl=1\" data-yacht-url=\"https:\/\/www.molrev.com\/zh\/brokerage\/hylas-m49\/\" aria-label=\"Add to compare\">\n                                    <svg viewBox=\"0 0 24 24\"><path d=\"M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 8-2.83A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z\"\/><\/svg>\n                                <\/button>\n                                                                <div class=\"yb-card-img\" style=\"background-image:url('https:\/\/i0.wp.com\/www.molrev.com\/wp-content\/uploads\/2026\/08\/hylas-m49-cover-00.jpg?fit=800%2C533&#038;ssl=1')\"><\/div>\n                                <div class=\"yb-card-overlay\">\n                                    <div class=\"yb-card-left\">\n                                        <div class=\"yb-card-title\">Hylas M49<\/div>\n                                        <div class=\"yb-card-year\"><span class=\"yb-card-year-val\">2027<\/span><\/div>\n                                    <\/div>\n                                    <div class=\"yb-card-right\">\n                                        <div class=\"yb-card-price\" data-currency=\"US$\" data-price=\"1450000\">US$ <span class=\"yb-card-price-val\">1,450,000<\/span><\/div>\n                                                                            <\/div>\n                                <\/div>\n                            <\/a>\n                                            <\/div>\n                    <div class=\"yb-cnav-row\"><div class=\"yb-cbar\"><div class=\"yb-cbar-thumb\"><\/div><\/div><\/div>\n                    <div class=\"yb-empty\" style=\"display:none;\">No yachts match your filters.<\/div>\n                <\/div>\n\n                <script>\n                (function(){\n                    var container = document.getElementById('ybg-ea80980');\n                    if (!container || container.dataset.ybInit) return;\n                    container.dataset.ybInit = '1';\n\n                    var state = {\n                        filter: 'all', sortKey: null, sortDir: null, q: '',\n                        types: [], builder: '', amenities: [],\n                        priceMin: null, priceMax: null,\n                        lengthMin: null, lengthMax: null,\n                        yearMin: null, yearMax: null,\n                        guestsMin: null, guestsMax: null,\n                        units: 'm', currency: 'US$',\n                    };\n                    var grid = container.querySelector('.yb-grid');\n                    var empty = container.querySelector('.yb-empty');\n                    var countEl = container.querySelector('.yb-count-visible');\n\n                    function inRange(val, min, max) {\n                        val = parseFloat(val) || 0;\n                        if (min !== null && val < min) return false;\n                        if (max !== null && val > max) return false;\n                        return true;\n                    }\n\n                    function apply() {\n                        var cards = [].slice.call(container.querySelectorAll('.yb-card'));\n                        var visible = cards.filter(function(c){\n                            var d = c.dataset;\n                            var types = (d.types || '').split(\/\\s+\/);\n                            \/\/ Inline filter (legacy)\n                            if (state.filter !== 'all' && types.indexOf(state.filter) === -1) return false;\n                            \/\/ External type filter\n                            if (state.types.length && !state.types.some(function(t){return types.indexOf(t)!==-1;})) return false;\n                            \/\/ Builder\n                            if (state.builder && (d.builder || '').indexOf(state.builder.toLowerCase()) === -1) return false;\n                            \/\/ Amenities (must have ALL)\n                            if (state.amenities.length) {\n                                var has = (d.amenities || '').split(\/\\s+\/);\n                                if (!state.amenities.every(function(a){return has.indexOf(a)!==-1;})) return false;\n                            }\n                            if (!inRange(d.price, state.priceMin, state.priceMax)) return false;\n                            if (!inRange(d.length, state.lengthMin, state.lengthMax)) return false;\n                            if (!inRange(d.year, state.yearMin, state.yearMax)) return false;\n                            if (!inRange(d.guests, state.guestsMin, state.guestsMax)) return false;\n                            \/\/ Search\n                            if (state.q && (d.search || '').indexOf(state.q) === -1) return false;\n                            return true;\n                        });\n                        cards.forEach(function(c){ c.style.display = 'none'; });\n                        if (state.sortKey) {\n                            visible.sort(function(a,b){\n                                var av = parseFloat(a.dataset[state.sortKey]) || 0;\n                                var bv = parseFloat(b.dataset[state.sortKey]) || 0;\n                                return state.sortDir === 'asc' ? av - bv : bv - av;\n                            });\n                        }\n                        visible.forEach(function(c){ c.style.display = ''; grid.appendChild(c); });\n                        if (empty) empty.style.display = visible.length ? 'none' : '';\n                        if (countEl) countEl.textContent = visible.length;\n                        applyUnits();\n                    }\n\n                    function applyUnits() {\n                        \/\/ Toggle between meters and feet display on card year\/length if present elsewhere\n                        \/\/ (cards only show year + price currently; this is a hook for future)\n                    }\n\n                    \/\/ Inline filter buttons\n                    container.querySelectorAll('.yb-filter-btn').forEach(function(btn){\n                        btn.addEventListener('click', function(e){\n                            e.preventDefault();\n                            container.querySelectorAll('.yb-filter-btn').forEach(function(b){b.classList.remove('active');});\n                            btn.classList.add('active');\n                            state.filter = btn.dataset.filter;\n                            apply();\n                        });\n                    });\n                    var sortSel = container.querySelector('.yb-sort-select');\n                    if (sortSel) {\n                        sortSel.addEventListener('change', function(){\n                            var v = sortSel.value;\n                            if (!v) { state.sortKey = null; state.sortDir = null; }\n                            else { var p = v.split('-'); state.sortKey = p[0]; state.sortDir = p[1]; }\n                            apply();\n                        });\n                    }\n                    var input = container.querySelector('.yb-search-input');\n                    var sbtn = container.querySelector('.yb-search-btn');\n                    function runSearch(){ state.q = (input.value||'').toLowerCase().trim(); apply(); }\n                    if (sbtn) sbtn.addEventListener('click', runSearch);\n                    if (input) {\n                        input.addEventListener('keydown', function(e){ if(e.key==='Enter') runSearch(); });\n                        input.addEventListener('input', function(){ state.q = (input.value||'').toLowerCase().trim(); apply(); });\n                    }\n\n                    \/\/ External events from Filter Sidebar \/ Toolbar widgets\n                    document.addEventListener('yacht-filter-update', function(e){\n                        var d = e.detail || {};\n                        if ('types' in d) state.types = d.types || [];\n                        if ('builder' in d) state.builder = d.builder || '';\n                        if ('amenities' in d) state.amenities = d.amenities || [];\n                        if ('priceMin' in d) state.priceMin = d.priceMin;\n                        if ('priceMax' in d) state.priceMax = d.priceMax;\n                        if ('lengthMin' in d) state.lengthMin = d.lengthMin;\n                        if ('lengthMax' in d) state.lengthMax = d.lengthMax;\n                        if ('yearMin' in d) state.yearMin = d.yearMin;\n                        if ('yearMax' in d) state.yearMax = d.yearMax;\n                        if ('guestsMin' in d) state.guestsMin = d.guestsMin;\n                        if ('guestsMax' in d) state.guestsMax = d.guestsMax;\n                        apply();\n                    });\n                    function applyCurrency(currency) {\n                        var rates = window.YachtRates || {};\n                        var info = rates[currency] || rates.USD;\n                        if (!info) return;\n                        container.querySelectorAll('.yb-card-price').forEach(function(priceEl){\n                            var card = priceEl.closest('.yb-card');\n                            if (!card) return;\n                            var raw = parseFloat(card.dataset.price) || 0;\n                            if (raw <= 0) { priceEl.innerHTML = '<span class=\"yb-card-price-val\">On Request<\/span>'; return; }\n                            var converted = raw * info.rate;\n                            var formatted;\n                            if (info.rate >= 1) formatted = Math.round(converted).toLocaleString();\n                            else if (converted >= 1000) formatted = Math.round(converted).toLocaleString();\n                            else formatted = converted.toFixed(2).toLocaleString();\n                            priceEl.innerHTML = info.symbol + ' <span class=\"yb-card-price-val\">' + formatted + '<\/span>';\n                        });\n                    }\n\n                    document.addEventListener('yacht-toolbar-update', function(e){\n                        var d = e.detail || {};\n                        if ('sort' in d) {\n                            if (!d.sort) { state.sortKey = null; state.sortDir = null; }\n                            else { var p = d.sort.split('-'); state.sortKey = p[0]; state.sortDir = p[1]; }\n                        }\n                        if ('units' in d) state.units = d.units;\n                        if ('currency' in d) { state.currency = d.currency; applyCurrency(d.currency); }\n                        apply();\n                    });\n\n                    \/\/ Expose card data for filter widget to auto-populate ranges\n                    container.yachtCardsData = function() {\n                        return [].slice.call(container.querySelectorAll('.yb-card')).map(function(c){\n                            return {\n                                builder: c.dataset.builder,\n                                price: parseFloat(c.dataset.price)||0,\n                                length: parseFloat(c.dataset.length)||0,\n                                year: parseInt(c.dataset.year)||0,\n                                guests: parseInt(c.dataset.guests)||0,\n                            };\n                        });\n                    };\n                    \/\/ Prevent native link\/image drag (would drag the card out of the browser)\n                    grid.addEventListener('dragstart', function(e){ e.preventDefault(); });\n                    \/\/ Carousel nav: prev\/next buttons + position bar (mobile only)\n                    (function(){\n                        var nav = container.querySelector('.yb-cnav-row');\n                        if (!nav) return;\n                        var prev = nav.querySelector('.yb-cnav-prev');\n                        var next = nav.querySelector('.yb-cnav-next');\n                        var thumb = nav.querySelector('.yb-cbar-thumb');\n                        function step(){\n                            var card = grid.querySelector('.yb-card:not([style*=\"display: none\"])');\n                            return (card ? card.offsetWidth : grid.clientWidth * 0.85) + 10;\n                        }\n                        if (prev) prev.addEventListener('click', function(){ grid.scrollBy({left:-step(), behavior:'smooth'}); });\n                        if (next) next.addEventListener('click', function(){ grid.scrollBy({left:step(), behavior:'smooth'}); });\n                        function upd(){\n                            var max = grid.scrollWidth - grid.clientWidth;\n                            var frac = max > 0 ? grid.clientWidth \/ grid.scrollWidth : 1;\n                            var t = Math.max(0.15, Math.min(1, frac));\n                            thumb.style.width = (t * 100) + '%';\n                            var p = max > 0 ? grid.scrollLeft \/ max : 0;\n                            thumb.style.left = (p * (1 - t) * 100) + '%';\n                            if (prev) prev.style.opacity = grid.scrollLeft <= 2 ? '.35' : '1';\n                            if (next) next.style.opacity = grid.scrollLeft >= max - 2 ? '.35' : '1';\n                        }\n                        grid.addEventListener('scroll', upd, {passive:true});\n                        window.addEventListener('resize', upd);\n                        upd();\n                    })();\n                    \/\/ Mouse drag-to-scroll for the mobile carousel\n                    (function(){\n                        var drag=null;\n                        function snapNearest(){\n                            var center = grid.scrollLeft + grid.clientWidth\/2, gb = grid.getBoundingClientRect().left, best=null, bd=Infinity;\n                            grid.querySelectorAll('.yb-card').forEach(function(it){ var rr=it.getBoundingClientRect(); if(!rr.width) return; var cc=rr.left-gb+grid.scrollLeft+rr.width\/2; var dd=Math.abs(cc-center); if(dd<bd){bd=dd;best=cc;} });\n                            if(best!==null) grid.scrollTo({left:best-grid.clientWidth\/2, behavior:'smooth'});\n                            setTimeout(function(){ grid.style.scrollSnapType=''; }, 600);\n                        }\n                        grid.addEventListener('pointerdown', function(e){ if(e.pointerType!=='mouse') return; grid.style.scrollSnapType='none'; drag={x:e.clientX, sl:grid.scrollLeft, moved:false}; });\n                        window.addEventListener('pointermove', function(e){ if(!drag) return; var dx=e.clientX-drag.x; if(Math.abs(dx)>5) drag.moved=true; grid.scrollLeft=drag.sl-dx; });\n                        window.addEventListener('pointerup', function(){ if(drag){ if(drag.moved){ grid.dataset.dragged='1'; setTimeout(function(){ delete grid.dataset.dragged; },50); snapNearest(); } else { grid.style.scrollSnapType=''; } } drag=null; });\n                        grid.addEventListener('click', function(e){ if(grid.dataset.dragged){ e.preventDefault(); e.stopPropagation(); } }, true);\n                    })();\n                    \/\/ Notify filter widget that grid is ready\n                    document.dispatchEvent(new CustomEvent('yacht-grid-ready', { detail: { gridId: container.id }}));\n                })();\n                <\/script>\n                \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>BROKERAGE With extensive industry knowledge and strong technical resources, our brokerage team provides professional consultation across every aspect of yacht selection, specification and ownership. We collaborate exclusively with reputable, carefully selected shipyards and industry experts. FILTERS FILTERS COLLAPSE ALL &times; CLEAR FILTERS TYPE Motor Sail LENGTH (M) 9\u201429 BUILDER AnyHsingHangMarineNovatec YachtsSunreef YachtsZEX Yachts PRICE (NT$) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3783","page","type-page","status-publish","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/pages\/3783","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/comments?post=3783"}],"version-history":[{"count":1,"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/pages\/3783\/revisions"}],"predecessor-version":[{"id":4159,"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/pages\/3783\/revisions\/4159"}],"wp:attachment":[{"href":"https:\/\/www.molrev.com\/zh\/wp-json\/wp\/v2\/media?parent=3783"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}