.km-header,.km-footer{display:none}
.km-dialog{color:#193e49;background:#fafcfa;border:0;box-sizing:border-box}
.km-dialog *,.km-header *,.km-footer *{box-sizing:border-box}
.km-dialog::backdrop{background:#14354870;backdrop-filter:blur(3px)}
.km-icon{appearance:none;display:grid;place-items:center;width:44px;height:44px;padding:10px;background:transparent;border:0;border-radius:0;color:inherit;cursor:pointer;flex:none}
.km-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter}
.km-icon:focus-visible,.km-brand:focus-visible,.km-dialog a:focus-visible,.km-footer a:focus-visible,.km-dialog summary:focus-visible,.km-footer summary:focus-visible{outline:2px solid #31818b;outline-offset:3px}
.km-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.km-dialog .km-dialog-head h2{font-family:inherit;font-size:20px;line-height:1.4;font-weight:600;margin:0;letter-spacing:1px}
.km-menu{margin:0 auto 0 0;padding:22px 26px;width:min(88vw,380px);height:100dvh;max-height:100dvh;max-width:none;border-radius:0;overflow:auto}
.km-dialog .km-nav{display:block;padding:0;margin:0;border:0;border-radius:0;background:none}
.km-nav>a,.km-nav>details{display:block;border-bottom:1px solid #dce6e4}
.km-dialog .km-nav>a{padding:20px 0;color:#193e49;font-size:17px;border-radius:0;background:none;text-decoration:none}
.km-nav summary,.km-footer summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:20px 0;font-size:15px;color:inherit}
.km-nav summary::-webkit-details-marker,.km-footer summary::-webkit-details-marker{display:none}
.km-nav summary span,.km-footer summary span{font-size:20px;font-weight:400;color:#66858d}
.km-nav details[open]>summary span,.km-footer details[open]>summary span{transform:rotate(45deg)}
.km-categories{display:flex;flex-direction:column;gap:0;padding:0 0 16px}
.km-categories a{display:flex;align-items:baseline;gap:16px;padding:10px 0;text-decoration:none;color:#345763;font-size:13px}
.km-categories strong{min-width:50px;font-weight:600;letter-spacing:.6px}
.km-categories span{color:#68818a;font-size:12px}
.km-menu-contact{display:flex;flex-direction:column;gap:12px;padding:32px 0 10px;font-size:13px}
.km-menu-contact>span{color:#68818a;font-size:12px;margin-bottom:5px}
.km-menu-contact a{color:#193e49;text-decoration:none}.km-menu-contact small{font-size:10px}
.km-search{position:fixed;inset:0 0 auto;margin:0;width:100%;max-width:none;border-radius:0;padding:22px 24px 30px;max-height:90dvh;overflow:auto}
.km-search label{display:block;font-size:12px;color:#68818a;margin:0 0 12px}
.km-search-field{display:flex;border-bottom:1px solid #62818a;align-items:center}
.km-search .km-search-field input{min-width:0;flex:1;width:100%;margin:0;padding:14px 0;border:0;border-radius:0;background:transparent;color:#193e49;box-shadow:none;font-size:16px;outline:none}
.km-search .km-search-field:focus-within{border-bottom:2px solid #277c86}
.km-search-hint{font-size:12px;color:#68818a;margin:27px 0 15px}
.km-search-categories{display:flex;flex-wrap:wrap;gap:14px 22px}.km-search-categories a{color:#193e49;font-size:14px;text-decoration:none}
@media(max-width:740px){
 .km-legacy-header,.km-legacy-footer{display:none!important}
 .km-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;height:76px;padding:8px 10px;position:sticky;top:0;z-index:40;background:#fafcfa;color:#193e49;border-bottom:1px solid #dfe8e5;width:100%;margin:0}
 .km-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;color:#193e49;text-decoration:none;text-align:center}
 .km-brand>span{font-size:clamp(13px,3.9vw,17px);font-weight:700;line-height:1.3;white-space:nowrap;letter-spacing:0}
 .km-brand small{font-size:8px;line-height:1.2;letter-spacing:2.3px;font-weight:600;color:#5b7d86}
 .pd-section-nav{top:76px}html{scroll-padding-top:142px}
 .km-footer{display:block;background:#f4f7f5;color:#193e49;padding:20px 24px 0;margin:0;font-size:13px}
 .km-footer-groups{border-top:1px solid #d8e2df}.km-footer details{border-bottom:1px solid #d8e2df}
 .km-footer summary{padding:21px 0;font-size:14px;letter-spacing:1px}
 .km-footer-links{display:flex;flex-direction:column;gap:15px;padding:2px 0 23px}
 .km-footer-links a{color:#426470;text-decoration:none;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
 .km-footer-brand{display:flex;align-items:center;flex-direction:column;text-align:center;gap:13px;padding:36px 0;color:#193e49;text-decoration:none}
 .km-footer-brand strong{font-size:34px;line-height:1.3;letter-spacing:5px;font-weight:700}.km-footer-brand strong span{color:#528e9a}
 .km-footer-brand>span{font-size:13px;letter-spacing:1px}.km-footer-brand small{font-size:9px;letter-spacing:3px;color:#67838b}
 .km-footer-bottom{margin:0 -24px;padding:23px 18px;background:#193e49;color:#dce7e7;text-align:center;font-size:10px;line-height:1.8;letter-spacing:.3px}
 .km-footer-legal{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.km-footer-legal a{color:inherit;text-decoration:none}
}

@media(max-width:740px){.km-footer-inview .floating-contact{visibility:hidden;pointer-events:none}}

/* Mobile navigation already provides contact access. */
@media(max-width:740px){.floating-contact{display:none!important}}

/* Refined shared mobile navigation and footer, 2026-10-03. */
.km-dialog{background:#fff}
.km-menu::backdrop{background:rgba(0,0,0,.45);backdrop-filter:none}
.km-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0!important;outline:0!important}
.km-menu{width:87.5vw;max-width:420px;padding:0;overscroll-behavior:contain}
.km-menu[open]{display:flex;flex-direction:column}
.km-menu .km-dialog-head{min-height:64px;flex:none;justify-content:flex-start;padding:10px 10px;margin:0;border-bottom:1px solid #e9edeb}
.km-dialog .km-nav{padding:18px 20px 0}
.km-nav>a,.km-nav>details{border:0}
.km-dialog .km-nav>a,.km-nav summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 0;font-size:16px;line-height:1.5;font-weight:400;letter-spacing:1.2px}
.km-chevron{display:block;width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter}
.km-nav summary .km-chevron,.km-footer summary .km-chevron{transform:rotate(90deg);transition:transform .18s ease}
.km-nav details[open]>summary .km-chevron,.km-footer details[open]>summary .km-chevron{transform:rotate(-90deg)}
.km-nav .km-categories{padding:0 0 12px 10px}
.km-menu-contact{margin-top:auto;padding:48px 20px 32px;padding-bottom:max(32px,env(safe-area-inset-bottom));gap:18px;line-height:1.6;font-size:13px;letter-spacing:.4px;flex:none}
.km-menu-contact>span{font-size:12px;font-weight:400;margin-bottom:0}
dialog button.kerui-close-icon{appearance:none;display:grid;place-items:center;width:44px!important;height:44px!important;min-width:44px;min-height:44px;padding:10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#193e49;font-size:0!important;line-height:1!important;transform:none!important;cursor:pointer}
dialog button.kerui-close-icon svg{display:block;width:24px;height:24px;margin:0;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:butt;stroke-linejoin:miter;transform:none}
dialog button.kerui-close-icon::before,dialog button.kerui-close-icon::after{content:none!important}
dialog button.kerui-close-icon:focus-visible{outline:2px solid #31818b;outline-offset:2px}
@media(max-width:740px){
 .km-header{background:#fff;border-bottom-color:#e9edeb}
 .km-footer{background:#fff;padding:24px 22px 0}
 .km-footer-groups{border-top:1px solid #e5ebe8;border-bottom:1px solid #e5ebe8;padding:24px 0}
 .km-footer details{border:0}
 .km-footer summary{min-height:46px;padding:12px 0;font-size:14px;line-height:1.6;font-weight:400;letter-spacing:1.5px}
 .km-footer summary .km-chevron{width:16px;height:16px}
 .km-footer-brand{padding:48px 0 44px;gap:16px}
 .km-footer-brand strong{font-size:34px;line-height:1.3;letter-spacing:6px;font-weight:600}
 .km-footer-brand>span{font-size:12px;letter-spacing:.8px;line-height:1.6}
 .km-footer-brand small{font-size:9px;font-weight:400;letter-spacing:3px}
 .km-footer-bottom{margin:0 -22px;padding:25px 18px 28px;line-height:2}
}
@media(prefers-reduced-motion:reduce){.km-chevron{transition:none}}

/* Desktop phone contact dialog. */
.kt-phone{box-sizing:border-box;width:min(720px,calc(100vw - 64px));max-width:none;max-height:calc(100dvh - 64px);overflow:auto;padding:28px;border:0;border-radius:20px;background:#fff;color:#193e49;box-shadow:0 24px 90px #102f3c30}
.kt-phone::backdrop{background:rgba(12,31,36,.48);backdrop-filter:blur(2px)}
.kt-phone .kt-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}
.kt-phone .kt-head h2{margin:0;font-size:23px;font-weight:600;line-height:1.4;outline:none}
.kt-phone .kt-head .close{position:static!important;float:none!important;margin:-4px -8px -4px 0}
.kt-panel{padding:28px 24px 12px;background:#f0f6f5;border-radius:14px;text-align:center}
.kt-phone .kt-number{margin:0;font-size:44px;line-height:1.25;font-weight:500;letter-spacing:1px;color:#193e49;user-select:text}
.kt-phone .kt-wechat{margin:8px 0 0;color:#557680;font-size:14px;line-height:1.5}
.kt-phone .kt-intro{margin:20px 0 22px;font-size:16px;line-height:1.6;color:#345b65}
.kt-phone .kt-qr{display:block;width:220px;height:220px;margin:0 auto;background:#fff}
.kt-phone .kt-scan{margin:12px 0 20px;font-size:14px;line-height:1.6;color:#557680}
.kt-phone .kt-copy{appearance:none;padding:10px 28px;border:1px solid #193e49;border-radius:999px;background:#193e49;color:#fff;font:inherit;font-size:14px;line-height:1.5;cursor:pointer}
.kt-phone .kt-copy:hover{background:#286270;border-color:#286270}
.kt-phone .kt-copy:focus-visible{outline:2px solid #31818b;outline-offset:3px}
.kt-phone .kt-status{min-height:20px;margin:8px 0 0;color:#3a7378;font-size:12px;line-height:20px}

/* The same desktop footer on all Kerui pages; the mobile accordion stays separate. */
.kf-footer{display:none}
@media(min-width:741px){
 footer.kf-replaced{display:none!important}
 footer.kf-footer{display:block;width:100%;margin:0;padding:64px 0 0;border:0;background:#12324a;color:rgba(255,255,255,.8);font-family:"Source Han Sans SC","Noto Sans SC","PingFang SC","Microsoft YaHei","Hiragino Sans GB",system-ui,sans-serif;font-size:12px;font-weight:400;line-height:1.7;letter-spacing:0}
 .kf-footer *{box-sizing:border-box}
 .kf-footer .kf-container{width:100%;max-width:1248px;padding:0 24px;margin:0 auto}
 .kf-footer .kf-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px}
 .kf-footer a{color:inherit;text-decoration:none;font:inherit}
 .kf-footer a:hover{color:#8bd8ff}
 .kf-footer a:focus-visible{outline:2px solid #8bd8ff;outline-offset:4px}
 .kf-footer .kf-brand{font-size:36px;font-weight:700;letter-spacing:3px;line-height:1.7;color:#fff}
 .kf-footer .kf-brand span{color:#8bd8ff}
 .kf-footer p{margin:0;font-size:12px;line-height:1.7;color:inherit}
 .kf-footer .kf-tagline{margin-top:16px;line-height:1.65;color:#fff}
 .kf-footer .kf-small{font-size:11px;line-height:1.8;margin-top:20px}
 .kf-footer h2{font-size:14px;font-weight:500;line-height:1.25;letter-spacing:0;color:#fff;margin:12px 0 24px}
 .kf-footer .kf-label{font-size:11px;color:#8bd8ff;margin-top:12px}
 .kf-footer .kf-products{display:flex;flex-wrap:wrap;gap:0 16px;max-width:190px}
 .kf-footer .kf-products a,.kf-footer .kf-nav-link{display:inline-flex;align-items:center;min-height:44px}
 .kf-footer .kf-nav-link{display:flex}
 .kf-footer .kf-cta{display:flex;align-items:center;justify-content:space-between;min-height:44px;margin-top:16px;border-bottom:1px solid rgba(255,255,255,.2)}
 .kf-footer .kf-cta svg{flex:none}
 .kf-footer .kf-legal{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.2);margin-top:48px;padding:20px 0;font-size:11px}
 .kf-footer .kf-legal>div{display:flex;align-items:center;gap:24px}
 .kf-footer .kf-legal a{display:inline-flex;align-items:center;min-height:44px;font-size:11px}
}
@media(min-width:741px) and (max-width:1023px){
 .kf-footer .kf-grid{grid-template-columns:1.3fr 1fr;gap:32px 48px}
 .kf-footer .kf-legal{align-items:flex-start;flex-direction:column;gap:8px}
}
