:root{
  --dld-frame-max:1380px;
  --dld-frame-gutter:24px;
  --dld-frame-gutter-mobile:15px;
  --dld-footer-bg:#071a35;
  --dld-footer-bg-2:#09264b;
  --dld-brand-red:#d9282f;
  --dld-header-height:80px;
  --dld-logo-width:434px;
  --dld-logo-gap:24px;
}

/* One shared desktop width for every navigation implementation. */
header .head-info .l-wrap,
.co-head .co-wrap,
.sp-head .sp-wrap,
.tp-head .tp-wrap,
.np-header-main,
.page-header .page-container{
  width:min(var(--dld-frame-max),calc(100% - (var(--dld-frame-gutter) * 2)))!important;
  max-width:var(--dld-frame-max)!important;
  margin-right:auto!important;
  margin-left:auto!important;
  padding-right:0!important;
  padding-left:0!important;
}

/* One desktop header geometry for every page. The 434px logo width matches the
   rendered size of the original public website at a 1440px viewport. */
body.index,
.dld-inner-page{padding-top:var(--dld-header-height)!important}
body.index header .head-info,
body.index header.is-active .head-info,
.dld-inner-page header .head-info,
.dld-inner-page header.is-active .head-info{height:var(--dld-header-height)!important}
header .head-info .l-wrap{display:flex!important;align-items:center!important}
body.index header .head-info .head-logo,
.dld-inner-page header .head-info .head-logo{
  width:var(--dld-logo-width)!important;
  max-width:var(--dld-logo-width)!important;
  flex:0 0 var(--dld-logo-width)!important;
  margin:0 var(--dld-logo-gap) 0 0!important;
}
body.index header .head-info .head-logo a,
.dld-inner-page header .head-info .head-logo a{
  width:100%;
  display:flex;
  align-items:center;
}
body.index header .head-info .head-logo img,
.dld-inner-page header .head-info .head-logo img{
  display:block;
  width:100%;
  height:auto;
  max-width:var(--dld-logo-width);
  max-height:55px;
  object-fit:contain;
}
header .head-info .head-nav{
  flex:1 1 auto!important;
  min-width:0;
  height:100%!important;
  margin:0!important;
}
header .head-info .head-nav .nav-ul{
  width:100%;
  justify-content:flex-end;
  align-items:stretch;
}
header .head-info .head-nav .nav-ul>li>a{
  height:100%!important;
  padding-right:18px!important;
  padding-left:18px!important;
  font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:24px!important;
  letter-spacing:0!important;
}
header .head-info .head-nav .nav-ul>li>em{right:4px!important}

/* Keep the same visual hierarchy on narrower desktop screens without wrapping. */
@media(min-width:1281px) and (max-width:1400px){
  header .head-info .head-nav .nav-ul>li>a{padding-right:14px!important;padding-left:14px!important}
  header .head-info .head-nav .nav-ul>li>em{right:1px!important}
}
@media(min-width:1025px) and (max-width:1280px){
  :root{--dld-logo-width:340px;--dld-logo-gap:14px}
  header .head-info .head-nav .nav-ul>li>a{
    padding-right:7px!important;
    padding-left:7px!important;
    font-size:13px!important;
  }
  header .head-info .head-nav .nav-ul>li>em{right:0!important;font-size:10px!important}
}

/* Hero, CTA and footer content now share exactly the same horizontal frame. */
.dld-inner-page :is(.catalog-hero,.spec-hero,.sv-hero,.np-hero,.tp-hero,.tp-detail-hero,.co-hero,.sp-hero,.industry-hero,.page-hero) :is(.l-wrap,.sv-container,.np-container,.tp-wrap,.co-wrap,.sp-wrap,.page-container),
.dld-inner-page :is(.catalog-cta,.tp-cta,.co-cta,.sp-cta,.industry-cta) :is(.l-wrap,.tp-wrap,.co-wrap,.sp-wrap,.page-container){
  width:min(var(--dld-frame-max),calc(100% - (var(--dld-frame-gutter) * 2)))!important;
  max-width:var(--dld-frame-max)!important;
  margin-right:auto!important;
  margin-left:auto!important;
  padding-right:0!important;
  padding-left:0!important;
}
.dld-inner-page :is(.catalog-hero,.spec-hero,.sv-hero,.np-hero,.tp-hero,.tp-detail-hero,.co-hero,.sp-hero,.industry-hero,.page-hero,.catalog-cta,.tp-cta,.co-cta,.sp-cta,.industry-cta),
.dld-inner-page :is(footer,.np-footer,.sv-footer,.tp-foot,.sp-foot,.co-foot){width:100%!important;max-width:none!important}
.dld-inner-page :is(.catalog-filterbar,.sv-tabs-wrap,.np-tabs-wrap){top:var(--dld-header-height)!important}

/* Match footer content edges to the navigation above it. */
footer .l-wrap,
footer .np-container,
footer .sv-container,
footer .tp-wrap,
footer .sp-wrap,
footer .co-wrap,
footer .page-container,
.np-footer>.np-container,
.sv-footer>.sv-container,
.tp-foot>.tp-wrap,
.sp-foot>.sp-wrap,
.co-foot>.co-wrap{
  width:min(var(--dld-frame-max),calc(100% - (var(--dld-frame-gutter) * 2)))!important;
  max-width:var(--dld-frame-max)!important;
  margin-right:auto!important;
  margin-left:auto!important;
  padding-right:0!important;
  padding-left:0!important;
}

footer,
.np-footer,
.sv-footer,
.tp-foot,
.sp-foot,
.co-foot{
  border-top:3px solid var(--dld-brand-red)!important;
  color:rgba(255,255,255,.68)!important;
  background:linear-gradient(145deg,var(--dld-footer-bg),var(--dld-footer-bg-2))!important;
}

.np-footer,.sv-footer,.tp-foot,.sp-foot,.co-foot{padding-top:31px!important;padding-bottom:31px!important}
footer a,.np-footer a,.sv-footer a,.tp-foot a,.sp-foot a,.co-foot a{transition:color .2s ease}
footer a:hover,.np-footer a:hover,.sv-footer a:hover,.tp-foot a:hover,.sp-foot a:hover,.co-foot a:hover{color:#fff!important}

@media(max-width:1024px){
  header .head-info .l-wrap,
  .co-head .co-wrap,
  .sp-head .sp-wrap,
  .tp-head .tp-wrap,
  .np-header-main,
  .page-header .page-container,
  footer .l-wrap,
  footer .np-container,
  footer .sv-container,
  footer .tp-wrap,
  footer .sp-wrap,
  footer .co-wrap,
  footer .page-container,
  .np-footer>.np-container,
  .sv-footer>.sv-container,
  .tp-foot>.tp-wrap,
  .sp-foot>.sp-wrap,
  .co-foot>.co-wrap{
    width:calc(100% - (var(--dld-frame-gutter-mobile) * 2))!important;
  }
  header .head-info .head-logo{margin-left:0!important;margin-right:0!important}
  body.index,
  .dld-inner-page{padding-top:55px!important}
  body.index header .head-info,
  body.index header.is-active .head-info,
  .dld-inner-page header .head-info,
  .dld-inner-page header.is-active .head-info{height:55px!important;min-height:55px!important}
  body.index header .head-info .head-logo,
  .dld-inner-page header .head-info .head-logo{width:auto;max-width:calc(100% - 55px);flex:0 1 416px}
  body.index header .head-info .head-logo img,
  .dld-inner-page header .head-info .head-logo img{width:auto;max-width:100%;max-height:45px}
  .dld-inner-page :is(.catalog-filterbar,.sv-tabs-wrap,.np-tabs-wrap){top:55px!important}
  .dld-inner-page :is(.catalog-hero,.spec-hero,.sv-hero,.np-hero,.tp-hero,.tp-detail-hero,.co-hero,.sp-hero,.industry-hero,.page-hero) :is(.l-wrap,.sv-container,.np-container,.tp-wrap,.co-wrap,.sp-wrap,.page-container),
  .dld-inner-page :is(.catalog-cta,.tp-cta,.co-cta,.sp-cta,.industry-cta) :is(.l-wrap,.tp-wrap,.co-wrap,.sp-wrap,.page-container){width:calc(100% - (var(--dld-frame-gutter-mobile) * 2))!important}
}

@media(max-width:700px){
  .np-footer,.sv-footer,.tp-foot,.sp-foot,.co-foot{padding-top:25px!important;padding-bottom:25px!important}
  footer .sv-footer-grid{gap:26px}
}

/* Shared semantic SEO footer — used by every public page. */
footer.dld-seo-footer{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-top:3px solid var(--dld-brand-red)!important;
  color:#c9d5e5!important;
  background:linear-gradient(145deg,#071a35 0%,#09264b 100%)!important;
  font-size:14px!important;
  line-height:1.72!important;
}
.dld-seo-footer *{box-sizing:border-box}
.dld-seo-footer__main{
  width:min(var(--dld-frame-max),calc(100% - (var(--dld-frame-gutter) * 2)))!important;
  max-width:var(--dld-frame-max)!important;
  margin:0 auto!important;
  padding:54px 0 42px!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1.55fr) repeat(3,minmax(150px,1fr))!important;
  gap:46px!important;
  text-align:left!important;
}
.dld-seo-footer h2{
  margin:0 0 18px!important;
  padding:0 0 12px!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.02em!important;
  position:relative!important;
}
.dld-seo-footer h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:30px;
  height:2px;
  border-radius:2px;
  background:var(--dld-brand-red);
}
.dld-seo-footer__intro{margin:0 0 18px!important;color:#dce5f0!important;max-width:410px!important}
.dld-seo-footer__identity{display:grid!important;grid-template-columns:88px 1fr!important;gap:18px!important;align-items:start!important}
.dld-seo-footer__qr{
  display:block!important;
  width:88px!important;
  height:88px!important;
  padding:5px!important;
  border-radius:8px!important;
  background:#fff!important;
  object-fit:cover!important;
}
.dld-seo-footer address{margin:0!important;color:#c9d5e5!important;font-style:normal!important}
.dld-seo-footer address span{display:block!important;margin-bottom:3px!important}
.dld-seo-footer address a{display:inline!important;color:#e6edf7!important;text-decoration:none!important}
.dld-seo-footer nav ul{list-style:none!important;margin:0!important;padding:0!important}
.dld-seo-footer nav li{margin:0 0 9px!important;padding:0!important}
.dld-seo-footer nav a{display:inline!important;color:#c9d5e5!important;text-decoration:none!important;transition:color .2s ease,transform .2s ease!important}
.dld-seo-footer nav a:hover,.dld-seo-footer nav a:focus-visible{color:#fff!important;text-decoration:underline!important;text-underline-offset:4px!important}
.dld-seo-footer__bottom{border-top:1px solid rgba(255,255,255,.12)!important;background:rgba(0,0,0,.12)!important}
.dld-seo-footer__bottom-inner{
  width:min(var(--dld-frame-max),calc(100% - (var(--dld-frame-gutter) * 2)))!important;
  max-width:var(--dld-frame-max)!important;
  margin:0 auto!important;
  padding:18px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.dld-seo-footer__copyright{margin:0!important;color:#aebed2!important}
.dld-seo-footer__legal{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:8px 18px!important}
.dld-seo-footer__legal a{color:#c9d5e5!important;text-decoration:none!important;white-space:nowrap!important}

/* Lightweight trust/policy pages linked from the global footer. */
.legal-page-main{background:#f5f8fc;color:#172942;padding-bottom:80px}
.legal-hero{padding:70px 0 54px;background:linear-gradient(135deg,#09264b,#0d4474);color:#fff;text-align:center}
.legal-container{width:min(980px,calc(100% - 48px));margin:0 auto}
.legal-hero h1{margin:0 0 14px;font-size:clamp(32px,4vw,48px);line-height:1.2}
.legal-hero p{max-width:720px;margin:0 auto;color:rgba(255,255,255,.78);font-size:17px}
.legal-content{margin-top:42px;padding:42px 48px;border:1px solid #dbe4ef;border-radius:16px;background:#fff;box-shadow:0 14px 38px rgba(9,38,75,.08)}
.legal-content section+section{margin-top:34px;padding-top:30px;border-top:1px solid #e6edf5}
.legal-content h2{margin:0 0 12px;color:#09264b;font-size:23px}
.legal-content p,.legal-content li{color:#4b5f76;line-height:1.85}
.legal-content ul{padding-left:1.25em}
.legal-content a{color:#0b5ca8}
.legal-sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.legal-sitemap-grid section{margin:0!important;padding:24px!important;border:1px solid #e1e9f2!important;border-radius:12px!important}
.legal-sitemap-grid a{display:block;margin:8px 0;text-decoration:none}

@media(max-width:980px){
  .dld-seo-footer__main{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:36px!important}
  .dld-seo-footer__bottom-inner{align-items:flex-start!important;flex-direction:column!important}
  .dld-seo-footer__legal{justify-content:flex-start!important}
}
@media(max-width:640px){
  .dld-seo-footer__main{width:calc(100% - 30px)!important;padding:38px 0 30px!important;grid-template-columns:1fr!important;gap:30px!important}
  .dld-seo-footer__bottom-inner{width:calc(100% - 30px)!important;padding:16px 0!important}
  .dld-seo-footer__identity{grid-template-columns:76px 1fr!important;gap:14px!important}
  .dld-seo-footer__qr{width:76px!important;height:76px!important}
  .legal-container{width:calc(100% - 30px)}
  .legal-hero{padding:54px 0 42px}
  .legal-content{margin-top:26px;padding:28px 20px}
  .legal-sitemap-grid{grid-template-columns:1fr}
}
