/* Shared, static header and footer. Generated markup: scripts/sync-layout.py. */
:root{--ht-ink:#17354a;--ht-blue:#087abb;--ht-muted:#607786;--ht-line:#e1e9ee;--ht-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
.ht-header,.ht-footer{font-family:var(--ht-font);font-size:14px;line-height:1.7;letter-spacing:0;text-align:left;width:100%;box-sizing:border-box}
.ht-header *,.ht-footer *{box-sizing:border-box}
.ht-header a,.ht-footer a{text-decoration:none;transition:color .2s}
.ht-header button{font:inherit;cursor:pointer}
.ht-shell{width:min(1200px,calc(100% - 64px));margin:0 auto}
.ht-header{position:sticky;top:0;z-index:1001;background:rgba(255,255,255,.97);color:var(--ht-ink);border-bottom:1px solid var(--ht-line);backdrop-filter:blur(14px)}
.ht-header-row{height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.ht-brand{display:flex;align-items:center;gap:12px;color:var(--ht-ink)!important;flex-shrink:0}
.ht-brand img{display:block;width:48px;height:48px;object-fit:contain}
.ht-brand strong{display:block;font-size:21px;letter-spacing:4px;line-height:1.3;font-weight:700}
.ht-brand small{display:block;font-size:9px;letter-spacing:2px;color:#6d8190;line-height:1.5;margin-top:4px}
.ht-navigation{display:flex;align-items:center;gap:30px}
.ht-header ul{padding:0;margin:0;list-style:none}
.ht-nav-list{display:flex;align-items:center;gap:27px}
.ht-nav-list>li{position:relative;margin:0;padding:0}
.ht-nav-list>li>a,.ht-nav-parent>a{display:block;padding:28px 0;color:#294454;font-size:14px;white-space:nowrap;font-weight:500}
.ht-nav-list>li.ht-current:after{content:"";position:absolute;bottom:17px;left:0;width:18px;height:2px;background:var(--ht-blue)}
.ht-nav-list>li.ht-current>a,.ht-current>.ht-nav-parent>a,.ht-header a:hover{color:var(--ht-blue)}
.ht-nav-parent{display:flex;align-items:center;gap:3px}
.ht-sub-toggle{width:23px;height:30px;background:none!important;border:0!important;border-radius:0!important;padding:0!important;color:#77919f}
.ht-sub-toggle span{display:block;transition:transform .2s}
.ht-sub-toggle[aria-expanded=true] span{transform:rotate(180deg)}
.ht-header .ht-submenu{position:absolute;top:calc(100% - 2px);left:-22px;width:258px;padding:12px;background:white;border:1px solid var(--ht-line);box-shadow:0 14px 30px #17354a12;border-radius:8px;display:none}
.ht-submenu li{margin:0}
.ht-submenu a{display:block;padding:11px 12px;font-size:13px;color:#365262;border-radius:4px;line-height:1.5}
.ht-submenu a:hover,.ht-submenu a[aria-current=page]{background:#f0f6fa;color:var(--ht-blue)}
.ht-nav-group.ht-open>.ht-submenu{display:block}
.ht-launch{font-size:13px;font-weight:600;white-space:nowrap;color:var(--ht-blue);display:flex;gap:13px;align-items:center;border-left:1px solid var(--ht-line);padding-left:24px}
.ht-launch span{transition:transform .2s}.ht-launch:hover span{transform:translate(2px,-2px)}
.ht-menu-toggle{display:none;align-items:center;gap:12px;background:none;border:0;padding:10px 0;color:var(--ht-ink);font-size:13px}
.ht-menu-toggle i{position:relative;width:20px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;display:block}
.ht-menu-toggle[aria-expanded=true] i{border:0}
.ht-menu-toggle[aria-expanded=true] i:before,.ht-menu-toggle[aria-expanded=true] i:after{content:"";position:absolute;width:20px;height:1px;background:currentColor;left:0;top:5px;transform:rotate(45deg)}
.ht-menu-toggle[aria-expanded=true] i:after{transform:rotate(-45deg)}
.ht-header a:focus-visible,.ht-header button:focus-visible,.ht-footer a:focus-visible{outline:2px solid #168dca;outline-offset:5px;border-radius:2px}
.ht-footer{clear:both;background:#081f30;color:#a8bfce;padding:62px 0 25px;margin:0}
.ht-footer-grid{display:grid;grid-template-columns:1.25fr .8fr 1.15fr;gap:70px;padding-bottom:45px}
.ht-footer h2{font:600 13px/1.5 var(--ht-font);color:#e2edf4;margin:0 0 18px;letter-spacing:1px}
.ht-footer p{font:400 13px/1.85 var(--ht-font);color:#a8bfce;margin:0 0 7px}
.ht-footer .ht-footer-wordmark{display:inline-flex;align-items:center;gap:15px;color:#edf7fc;font-size:24px;font-weight:600;letter-spacing:3px;line-height:1.3;margin:0 0 18px}
.ht-footer-wordmark span{font-size:9px;letter-spacing:1.5px;color:#7c9caf;border-left:1px solid #456071;padding-left:15px}
.ht-footer .ht-footer-message{margin-top:22px;font-size:16px;color:#d0e2ed}
.ht-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.ht-footer-links h2{margin-bottom:9px}
.ht-footer a{color:#b7cdda}
.ht-footer a:hover{color:white}
.ht-footer-contact>a{display:block;margin:0 0 9px;font-size:14px}
.ht-footer-contact .ht-footer-email{color:#e2f2fc;font-size:17px;letter-spacing:0;overflow-wrap:anywhere}
.ht-footer-contact>p:first-of-type{margin-top:19px}
.ht-copyright{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 10px;border-top:1px solid #ffffff20;padding-top:23px;font-size:12px;line-height:1.8;color:#bed0dd}
.ht-copyright a{color:inherit}
.ht-police-record{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ht-police-record img{display:block;width:18px;height:20px;object-fit:contain;flex-shrink:0}
.ht-separator{color:#668296}
@media(max-width:1150px){.ht-nav-list{gap:18px}.ht-navigation{gap:20px}.ht-launch{padding-left:17px}.ht-header-row{gap:24px}.ht-footer-grid{gap:40px}}
@media(max-width:1000px){.ht-shell{width:calc(100% - 40px)}.ht-header-row{height:72px}.ht-brand img{width:42px;height:42px}.ht-brand strong{font-size:19px}.ht-menu-toggle{display:flex}.ht-navigation{display:none;position:absolute;left:0;right:0;top:72px;background:white;border-bottom:1px solid var(--ht-line);padding:18px 24px 25px;max-height:calc(100dvh - 72px);overflow:auto;box-shadow:0 15px 25px #17354a10}.ht-navigation.ht-expanded{display:block}.ht-nav-list{display:block}.ht-nav-list>li{border-bottom:1px solid #edf2f5}.ht-nav-list>li>a,.ht-nav-parent>a{padding:13px 0;font-size:15px;flex:1}.ht-nav-list>li.ht-current:after{display:none}.ht-nav-parent{justify-content:space-between}.ht-sub-toggle{width:44px;height:44px}.ht-header .ht-submenu{position:static;width:100%;border:0;box-shadow:none;background:#f6f9fb;padding:5px 10px 10px;margin-bottom:10px}.ht-launch{margin-top:20px;padding:0;border:0;display:inline-flex}.ht-footer-grid{grid-template-columns:1.2fr .8fr;gap:36px}.ht-footer-contact{grid-column:1 / -1}.ht-footer-contact>p{display:inline-block;margin-right:20px}.ht-footer-contact>p:first-of-type{margin-top:12px}}
@media(max-width:600px){.ht-shell{width:calc(100% - 36px)}.ht-footer{padding:40px 0 24px}.ht-footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:30px}.ht-footer-company{grid-column:1 / -1}.ht-footer-contact{grid-column:auto}.ht-footer-contact .ht-footer-email{font-size:13px}.ht-footer-contact>a,.ht-footer-links a{font-size:12px}.ht-footer-contact>p{font-size:11px;display:block;margin-right:0}.ht-footer h2{font-size:12px}.ht-footer .ht-footer-message{font-size:14px;margin-top:12px}.ht-copyright{justify-content:flex-start;font-size:10px;gap:7px 8px}.ht-copyright>span:first-child{flex-basis:100%}.ht-copyright>.ht-separator:first-of-type{display:none}.ht-police-record img{width:15px;height:17px}.ht-brand strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ht-header *,.ht-footer *{transition:none!important}}

/* Review 3: spacing and navigation refinements. */

.ht-brand{gap:10px}
.ht-brand .ht-brand-wordmark{display:block;width:135px;height:auto;aspect-ratio:692 / 246;object-fit:contain;filter:brightness(0) saturate(100%) invert(17%) sepia(24%) saturate(1115%) hue-rotate(159deg) brightness(93%) contrast(90%)}
.ht-sub-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:38px;color:#738e9d}
.ht-sub-toggle span{font-size:0;display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.ht-sub-toggle[aria-expanded=true] span{transform:translateY(2px) rotate(225deg)}
.ht-sub-toggle:focus:not(:focus-visible){outline:none}
.ht-header .ht-submenu{top:100%;left:-16px;width:252px;padding:7px;border-radius:7px;box-shadow:0 14px 32px #0b294021}
.ht-nav-group[data-section=solutions] .ht-submenu{width:180px}
.ht-submenu a{padding:10px 12px}
@media(max-width:1000px){.ht-header .ht-submenu{width:100%;padding:5px 10px 10px;border-radius:4px;box-shadow:none}.ht-nav-group[data-section=solutions] .ht-submenu{width:100%}.ht-sub-toggle{width:44px;height:44px}}
@media(max-width:600px){.ht-brand .ht-brand-wordmark{width:119px}}
@media(prefers-reduced-motion:reduce){.ht-header .ht-sub-toggle span{transition:none}}

/* Mobile footer readability. */
@media(max-width:600px){
 .ht-footer{padding:42px 0 26px;font-size:15px}
 .ht-footer-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:28px}
 .ht-footer-company,.ht-footer-contact{grid-column:1}
 .ht-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
 .ht-footer-links h2{grid-column:1/-1;margin-bottom:1px}
 .ht-footer h2{font-size:15px}
 .ht-footer p{font-size:14px;line-height:1.8}
 .ht-footer .ht-footer-message{font-size:16px}
 .ht-footer-links a,.ht-footer-contact>a{font-size:15px;line-height:1.7}
 .ht-footer-contact .ht-footer-email{font-size:16px}
 .ht-footer-contact>p{font-size:14px;line-height:1.8}
 .ht-footer-contact>p:first-of-type{margin-top:13px}
 .ht-copyright{font-size:12px;line-height:1.8;gap:5px 8px}
 .ht-police-record img{width:17px;height:19px}
}

/* Shared back-to-top control. */
.ht-back-to-top{position:fixed;right:24px;bottom:24px;z-index:40;display:grid;place-items:center;width:40px;height:40px;border-radius:4px;background:#173f58;color:#fff;text-decoration:none;font-size:24px;line-height:1;box-shadow:0 4px 15px #13314920;transition:background .2s,transform .2s}
.ht-back-to-top[hidden]{display:none}
.ht-back-to-top:hover{background:#087abb;color:#fff;transform:translateY(-2px)}
@media(max-width:600px){.ht-back-to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.ht-back-to-top{transition:none}}
