/* ALL REG shared header and footer visual system. Site navigation and copy stay local. */
.allreg-site-header,.allreg-site-header *,.allreg-site-header *::before,.allreg-site-header *::after,
.allreg-site-footer,.allreg-site-footer *,.allreg-site-footer *::before,.allreg-site-footer *::after{box-sizing:border-box}
.allreg-site-header{position:sticky!important;top:0!important;z-index:9999!important;width:100%;height:auto!important;min-height:0;border-bottom:1px solid #edf0f5!important;background:rgba(255,255,255,.97)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#17233d;font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif}
.allreg-site-header .nav{position:relative;top:auto!important;left:auto!important;right:auto!important;display:flex;flex-direction:row!important;align-items:center;gap:25px;width:100%;max-width:1240px;min-height:72px;margin:0 auto;padding:12px 26px;color:#17233d}
.allreg-site-header .brand{display:flex;flex:none;align-items:center;margin:0 auto 0 0;padding:0!important;text-decoration:none}
.allreg-site-header .brand-logo{display:block;width:116px;max-width:116px;max-height:38px;height:auto;object-fit:contain}
.allreg-site-header .nav-links{display:flex;align-items:center;gap:20px;color:#1d293d;font-size:13px;font-weight:600;line-height:1.6}
.allreg-site-header .nav-links>a,.allreg-site-header .service-trigger-row>a{position:relative;display:inline-flex;align-items:center;min-height:48px;padding:0;border:0;background:transparent;color:#1d293d!important;font-size:13px!important;font-weight:600;line-height:1.6;text-decoration:none!important;white-space:nowrap}
.allreg-site-header .nav-links>a:hover,.allreg-site-header .nav-links>a.active,.allreg-site-header .service-trigger-row>a:hover,.allreg-site-header .service-trigger-row>a.active{color:#2466df!important}
.allreg-site-header .nav-links>a.active::after,.allreg-site-header .service-trigger-row>a.active::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:#2466df;content:""}
.allreg-site-header .nav-dropdown{position:relative;display:flex;align-items:center}
.allreg-site-header .nav-dropdown::after{content:"";position:absolute;top:100%;left:-15px;right:-15px;height:21px;background:transparent}
.allreg-site-header .service-trigger-row{display:flex;align-items:center;gap:3px}
.allreg-site-header .nav-dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:32px;padding:5px 4px;border:0;border-radius:5px;background:transparent;color:#71809a!important;font:inherit;font-size:12px!important;line-height:1;cursor:pointer}
.allreg-site-header .nav-dropdown-toggle:hover,.allreg-site-header .nav-dropdown-toggle[aria-expanded="true"]{color:#2466df!important;background:#f1f5fc}
.allreg-site-header .menu-toggle{display:none;border:0;background:transparent;color:#1b2b48;font-size:25px;line-height:1;padding:5px 8px;cursor:pointer}
.allreg-site-header .mega-menu{display:none!important;position:absolute;top:calc(100% + 20px);left:50%;z-index:25;width:min(650px,calc(100vw - 36px));padding:25px 27px 18px;border:1px solid #dfe7f2;border-radius:12px;background:#fff;box-shadow:0 16px 40px #19335a1a;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(-50%)!important}
.allreg-site-header .nav-dropdown.open>.mega-menu{display:block!important}
.allreg-site-header .mega-head{padding:3px 4px 18px;border-bottom:1px solid #e8edf4}
.allreg-site-header .mega-kicker,.allreg-site-header .frosa-dropdown-eyebrow{display:block;margin:0 0 8px;color:#2466df;font-size:10px;font-weight:800;letter-spacing:.14em}
.allreg-site-header .mega-head h2,.allreg-site-header .mega-head>strong{display:block;margin:0 0 7px;color:#17233d;font-size:19px;font-weight:700;line-height:1.5}
.allreg-site-header .mega-head p{max-width:480px;margin:0;color:#738095;font-size:12px;font-weight:400;line-height:1.7}
.allreg-site-header .mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:15px 0}
.allreg-site-header .mega-item{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border-radius:9px;color:#253047;text-decoration:none;transition:background .18s ease}
.allreg-site-header .mega-item:hover{background:#f5f8fd;transform:none}
.allreg-site-header .mega-num{display:grid;flex:0 0 35px;place-items:center;width:35px;height:35px;border:1px solid #dce6f8;border-radius:9px;background:#f4f8ff;color:#2466df;font-size:10px;font-weight:700}
.allreg-site-header .mega-copy{display:flex;flex-direction:column;min-width:0;gap:4px;line-height:1.45}
.allreg-site-header .mega-copy strong{color:#253047;font-size:13px;font-weight:600}
.allreg-site-header .mega-copy small{color:#8290a5;font-size:11px;font-weight:400;line-height:1.45}
.allreg-site-header .mega-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:14px 4px 2px;border-top:1px solid #e8edf4;color:#7b8798;font-size:11px;font-weight:400}
.allreg-site-header .mega-foot a{color:#2466df;font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}
.allreg-site-header .nav-submenu{display:none!important;position:absolute;top:calc(100% + 20px);left:-15px;z-index:25;width:240px;padding:8px;border:1px solid #dfe7f2;border-radius:10px;background:#fff;box-shadow:0 16px 40px #19335a1a;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.allreg-site-header .nav-dropdown.open>.nav-submenu{display:block!important}
.allreg-site-header [data-nav-group="about"]>.nav-submenu{left:auto;right:0}
.allreg-site-header .nav-submenu>a{display:block;padding:12px;border-radius:6px;color:#223552;text-decoration:none;white-space:normal}
.allreg-site-header .frosa-compact-dropdown>a{display:flex;align-items:center;gap:10px}
.allreg-site-header .nav-submenu>a:hover{background:#f1f6ff}
.allreg-site-header .nav-submenu strong{display:block;color:#223552;font-size:13px;line-height:1.6;font-weight:600}
.allreg-site-header .nav-submenu small{display:block;margin-top:3px;color:#8290a5;font-size:11px;line-height:1.6;font-weight:400}
.allreg-site-header .nav-links>a.nav-platform{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;margin-left:5px;padding:0 14px!important;border:1px solid #2466df!important;border-radius:9px;background:#2466df!important;box-shadow:0 5px 13px #2466df26;color:#fff!important;font-size:13px!important;font-weight:700;line-height:1.2;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.allreg-site-header .nav-links>a.nav-platform span{font-size:16px;line-height:1;transition:transform .18s ease}
.allreg-site-header .nav-links>a.nav-platform:hover{border-color:#174fbb!important;background:#174fbb!important;box-shadow:0 7px 18px #174fbb30;color:#fff!important}
.allreg-site-header .nav-links>a.nav-platform:hover span{transform:translate(2px,-2px)}
.allreg-site-header :is(a,button):focus-visible,.allreg-site-footer :is(a,button):focus-visible{outline:2px solid #4e85e3;outline-offset:3px}

.allreg-site-footer{width:100%;padding:54px max(24px,calc((100vw - 1240px)/2)) 22px;background:#101d39;color:#fff;font:400 15px/1.75 "Noto Sans SC","Microsoft YaHei",Arial,sans-serif}
.allreg-site-footer a{color:#b9c6dc;text-decoration:none}
.allreg-site-footer a:hover{color:#fff}
.allreg-site-footer .footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:30px;max-width:1240px;margin:0 auto}
.allreg-site-footer .footer-brand .brand{display:inline-flex;align-items:center;margin:0 0 5px}
.allreg-site-footer .brand-logo{display:block;width:146px;max-height:46px;height:auto;object-fit:contain;object-position:left center}
.allreg-site-footer .footer-brand p{max-width:255px;margin:10px 0 0;color:#b9c6dc;font-size:12px;line-height:1.9}
.allreg-site-footer .footer-brand .footer-disclaimer{color:#8798b2;font-size:10px}
.allreg-site-footer .footer-slogan{display:inline-block;margin-top:8px;color:#eef3fc;font-size:12px;font-weight:700;letter-spacing:.04em}
.allreg-site-footer .footer-column{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}
.allreg-site-footer .footer-column h4{margin:3px 0 8px;color:#f1f5fb;font-size:13px;font-weight:700;letter-spacing:.02em}
.allreg-site-footer .footer-column a{display:inline;padding:0;color:#b9c6dc;font-size:11px;line-height:1.65}
.allreg-site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1240px;margin:16px auto 0;padding:0;border:0;color:#9eacc2;font-size:10px}
.allreg-site-footer .footer-bottom nav{display:flex;align-items:center;gap:19px}
.allreg-site-footer .footer-bottom a{display:inline;padding:0;color:#b9c6dc;font-size:10px}
.allreg-site-footer .footer-bottom a.footer-icp{color:#e5ecf8;font-weight:700}

@media(max-width:1100px){
 .allreg-site-header .nav{min-height:68px;padding:12px 22px;gap:18px}
 .allreg-site-header .menu-toggle{display:block!important;margin-left:auto}
 .allreg-site-header .nav-links{display:none!important;position:absolute;top:100%;left:0;right:0;z-index:30;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 68px);overflow-y:auto;padding:10px 22px 18px;border-bottom:1px solid #dfe7f2;background:#fff;box-shadow:0 15px 25px #18355a0c;font-size:14px}
 .allreg-site-header .nav-links.open{display:flex!important}
 .allreg-site-header .nav-links>a{display:flex;min-height:48px;padding:12px 0;border-bottom:1px solid #e9eef6;font-size:14px!important}
 .allreg-site-header .nav-links a.active::after{display:none}
 .allreg-site-header .nav-dropdown{display:block;border-bottom:1px solid #e9eef6}
 .allreg-site-header .nav-dropdown::after{display:none}
 .allreg-site-header .service-trigger-row{display:flex;min-height:48px;gap:8px}
 .allreg-site-header .service-trigger-row>a{flex:1;min-height:48px;padding:12px 0;font-size:14px!important}
 .allreg-site-header .nav-dropdown-toggle{width:36px;height:36px;padding:0;background:#f3f6fc;font-size:16px!important}
 .allreg-site-header .mega-menu,.allreg-site-header .nav-submenu{position:static;top:auto;left:auto;right:auto;width:auto;margin:0 0 12px;padding:13px;border:1px solid #e0e7f2;border-radius:9px;background:#f8faff;box-shadow:none;transform:none!important}
 .allreg-site-header .nav-submenu{padding:5px}
 .allreg-site-header .mega-head h2{font-size:18px}
 .allreg-site-header .mega-head p{font-size:12px}
 .allreg-site-header .mega-grid{grid-template-columns:1fr 1fr;gap:5px;margin:12px 0 8px}
 .allreg-site-header .mega-foot{flex-wrap:wrap}
 .allreg-site-header .nav-links>a.nav-platform{justify-content:center;min-height:44px;margin:12px 0 0;padding:11px 14px!important;font-size:14px!important}
 .allreg-site-footer .footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:24px}
}
@media(max-width:680px){
 .allreg-site-header .nav{min-height:64px;padding:10px 18px}
 .allreg-site-header .brand-logo{width:108px;max-width:108px;max-height:34px}
 .allreg-site-header .nav-links{max-height:calc(100dvh - 64px);padding-left:18px;padding-right:18px}
 .allreg-site-header .mega-grid{grid-template-columns:1fr}
 .allreg-site-header .mega-menu{padding:16px 12px}
 .allreg-site-header .mega-foot{flex-direction:column;align-items:flex-start}
 .allreg-site-header .nav-links>a.nav-platform{justify-content:center;margin:10px 0 2px;padding:10px 11px!important}
 .allreg-site-footer{padding:38px 18px 20px}
 .allreg-site-footer .footer-main{grid-template-columns:1fr 1fr;gap:22px 16px}
 .allreg-site-footer .footer-brand{grid-column:1/-1}
 .allreg-site-footer .footer-bottom{align-items:flex-start;flex-direction:column;gap:11px;margin-top:15px}
 .allreg-site-footer .footer-bottom nav{flex-wrap:wrap;gap:10px 16px}
}
@media(prefers-reduced-motion:reduce){.allreg-site-header *,.allreg-site-footer *{transition:none!important}}
