@charset "utf-8";
/* Shared visual bundle: refinement.css + site-experience.css. Preserve source order. */
/* Shared visual system. Loaded after page styles so each template keeps its layout. */
:root {
  --brand: #1f5dcb;
  --brand-deep: #17489f;
  --ink: #182b49;
  --muted: #627189;
  --line: #e3eaf3;
  --surface: #f5f8fc;
  --radius: 12px;
  --shadow: 0 5px 22px rgba(24, 51, 93, .06);
  --shadow-hover: 0 14px 32px rgba(24, 51, 93, .13);
  --ease: cubic-bezier(.22, .61, .36, 1);
}
body { color: var(--ink); -webkit-font-smoothing: antialiased; }
::selection { background: #dbe8ff; color: #173d7c; }
a, button { -webkit-tap-highlight-color: rgba(31, 93, 203, .12); }
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #7aa7f5; outline-offset: 4px;
}
.Header-wrapper { box-shadow: 0 3px 22px rgba(24, 51, 93, .08); }
.Header-dropdown { border-color: var(--line); border-radius: 0 0 14px 14px; box-shadow: var(--shadow-hover); }
.Header-dpmenu a { transition: color .2s, background-color .2s; }
.Header-dpmenu a:hover, .Header-dpmenu a:focus-visible { color: var(--brand); background-color: var(--surface); }

.Header-Menu { transition: color .2s; }
.Header-Menu:hover, .Header-navbar ul li.ontrue .Header-Menu { color: var(--brand); }
.pubTitle h2, .pubTitle h6 { color: var(--ink); font-weight: 600; line-height: 1.35; }
.pubTitle p { color: var(--muted); }
.pubTitle i { background: var(--brand); border-radius: 4px; }
.ind-about, .relly { background-color: var(--surface); }
.ind-about-video { overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow); }
.ys-product ul li a, .ys-product ul li:hover h4 { text-shadow: 0 2px 16px rgba(0, 0, 0, .4); }
.sonimgban.led-h1-tit h1 { animation: none; text-shadow: 0 3px 20px rgba(0, 0, 0, .4); }

/* CTA buttons share color, radius and feedback without changing their sizing. */
.ind-about-note .pubTitle a, .relly-formbtn, .zb-btn,
.pro-cont .downfile li .more, .newsxq-share a,
.nofound-btns .nofound-btn:not(.nofound-btn-ghost), .prolist li span.more {
  background: var(--brand); color: #fff; border-radius: 8px;
  font-weight: 600; letter-spacing: .025em;
  transition: background-color .22s, box-shadow .22s, transform .22s var(--ease);
}
.relly-formbtn:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; transform: none; }
.fullpage a { border-color: var(--line); border-radius: 8px; color: var(--muted); box-shadow: none; }
.fullpage a:hover, .fullpage a.ontrue, .fullpage a.on {
  background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 4px 12px rgba(31, 93, 203, .18);
}
.promenu { border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.promenu a { transition: color .2s, background-color .2s; }
.promenu a.cur, .promenu a:hover, .prolist dl dd a.cur, .prolist dl dd a:hover { color: var(--brand); }
.pro-tab-tit { border-bottom-color: var(--brand); }
.pro-tab-tit li { border-radius: 8px 8px 0 0; background: var(--surface); transition: background-color .2s, color .2s; }
.pro-tab-tit li.cur, .pro-tab-tit li.active, .pro-tab-tit li:hover { background: var(--brand); color: #fff; }

.prolist li, .news-list li { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); transition: box-shadow .3s var(--ease), transform .3s var(--ease); }
.prolist li:after { height: 3px; background: var(--brand); }
.product .swiper-slide .com-img, .case-list .case-img { border-radius: var(--radius); }
.product .swiper-slide h4 { height: auto; min-height: 48px; line-height: 1.5; padding: 12px 8px; font-weight: 500; }
.prolist-wddes p, .prolist-wdtit p, .news-wd p { color: var(--muted); }
.prolist li:hover h4, .news-list li a:hover .news-wd h4 { color: var(--brand); }
.com-img img, .case-img img { transition: transform .55s var(--ease); }
.banner .swiper-pagination-bullet { height: 5px; border-radius: 8px; overflow: hidden; }
.banner .swiper-pagination-bullet:before { height: 5px; background: #fff; border-radius: inherit; }
.relly-form .relly-formipt input, .relly-form textarea {
  border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink);
  transition: border-color .2s, box-shadow .2s;
}
.relly-form .relly-formipt input:focus, .relly-form textarea:focus {
  border-color: var(--brand); box-shadow: 0 0 0 3px rgba(31, 93, 203, .1);
}
.relly-form textarea { resize: vertical; }
@media (hover: hover) and (pointer: fine) {
  .ind-about-note .pubTitle a:hover, .relly-formbtn:not(:disabled):hover, .zb-btn:hover,
  .pro-cont .downfile li .more:hover, .newsxq-share a:hover,
  .nofound-btns .nofound-btn:not(.nofound-btn-ghost):hover {
    background: var(--brand-deep); color: #fff; opacity: 1;
    transform: translateY(-2px); box-shadow: 0 7px 18px rgba(31, 93, 203, .22);
  }
  .prolist li:hover, .news-list li:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
  .com-img:hover img, .case-img img:hover { transform: scale(1.035); }
  .prolist li a:hover .prolist-img img { transform: scale(1); }
}
@media (hover: none) {
  .prolist li:hover, .news-list li:hover { transform: none; box-shadow: var(--shadow); }
  .com-img:hover img, .case-img img:hover, .prolist li a:hover .prolist-img img { transform: none; }
}
@media (max-width: 767px) {
  .H-lang .Hlang-menu { display: flex; align-items: center; justify-content: center; gap: 5px; width: auto; height: 60px; white-space: nowrap; font-size: 12px; }
  .H-lang .Hlang-menu i { flex: 0 0 20px; margin: 0; }
  .banner .swiper-pagination-bullet { width: 28px; margin: 0 5px !important; }
  .fullpage { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
  .fullpage a { margin: 0; min-width: 44px; height: 44px; }
  .pubTitle p { line-height: 1.8; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .sonimgban-prowdft h6, .sonimgban-prowdft h1, .sonimgban-prowdft p, .sonimgban-prowdft span { opacity: 1; transform: none; }
  .prolist li:hover, .news-list li:hover, .com-img:hover img, .case-img img:hover { transform: none; }
}

/* Video listing cards use the actual .video-list markup on desktop and phones. */
@media (max-width: 1000px) {
  .news .video-list ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 36px 0 0; }
  .news .video-list li { width: auto; float: none; margin: 0; min-width: 0; }
  .news .video-list .video-wd { padding: 16px; }
  .news .video-list .video-wd h6 { height: auto; min-height: 42px; line-height: 1.5; margin-top: 10px; overflow-wrap: anywhere; }
}
@media (max-width: 640px) {
  .news .video-list ul { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 22px; }
  .news .video-list .video-img { height: auto; aspect-ratio: 16 / 9; }
  .news .video-list .video-wd { padding: 14px 16px 17px; }
  .news .video-list .video-wd h6 { min-height: 0; font-size: 16px; }
}


/* Footer shares the site's 1400/1200px desktop content grid. */
.news-wd .news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;margin:0 0 10px}
.news-wd .news-meta .news-published,.news-wd .news-meta .news-updated{display:inline-block;margin:0;color:#78869a;font-family:inherit;font-size:12px;line-height:1.5}
.news-wd .news-meta .news-updated{color:#426b9b}
.newsxq-title p.newsxq-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px 0}
.newsxq-title p.newsxq-meta .newsxq-updated{padding-left:0;margin-right:24px;background:none;color:#62748b;font-family:inherit;font-size:13px}
.newsxq-title p.newsxq-meta .newsxq-updated time{font:inherit}


/* Site experience layer */
/* ZBL site experience system: trustworthy engineering brand, restrained motion. */
:root{
  --brand:#0B3A6E;
  --brand-deep:#071B33;
  --action:#1677FF;
  --accent:#FF7A00;
  --ink:#1F2937;
  --muted:#667085;
  --line:#E3E8EF;
  --surface:#F6F8FB;
  --radius:12px;
  --shadow:0 6px 22px rgba(7,27,51,.07);
  --shadow-hover:0 14px 34px rgba(7,27,51,.14);
  --ease:cubic-bezier(.2,.72,.25,1);
}
/* Avoid animating browser scroll restoration during page load. */
html{scroll-behavior:auto}
body{color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
::selection{background:#d9e9ff;color:var(--brand-deep)}
a,button{-webkit-tap-highlight-color:rgba(22,119,255,.12)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(22,119,255,.55);outline-offset:3px}
.Header-wrapper{background:#fff;box-shadow:0 4px 22px rgba(7,27,51,.07)}
.Header-Menu{color:var(--brand-deep);transition:color .2s ease}
.Header-navbar ul li{position:relative}
.Header-navbar ul li:after{content:"";position:absolute;right:12px;bottom:17px;left:12px;height:2px;border-radius:2px;background:var(--action);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.Header-navbar ul li:hover:after,.Header-navbar ul li.ontrue:after{transform:scaleX(1)}
.Header-Menu:hover,.Header-navbar ul li.ontrue .Header-Menu{color:var(--action)}
.Header-dropdown{border-color:var(--line);box-shadow:0 18px 44px rgba(7,27,51,.14)}
.pubTitle h1,.pubTitle h2,.pubTitle h6{color:var(--brand-deep);font-weight:650;letter-spacing:.01em}
.pubTitle p{color:var(--muted)}
.pubTitle i{background:linear-gradient(90deg,var(--action),#67b4ff);border-radius:3px}
.ind-about,.relly{background-color:var(--surface)}
.Footer-wrapper,.Footer-copyright{background:var(--brand-deep)}
.Footer-wrapper{border-top:3px solid var(--action)}
.Footer-info p,.Footer-navwords a,.Footer-copyright p,.Footer-copyright span{color:#b9c6d6}
.Footer-navwords a:hover{color:#fff}
.ind-about-video,.prolist li,.news-list li,.case-list li,.serzb-list li{box-shadow:var(--shadow);border-radius:var(--radius)}
.prolist li:after{background:var(--action)}
.prolist li:hover h4,.news-list li a:hover .news-wd h4{color:var(--action)}
.pro-tab-tit{border-bottom-color:var(--action)}
.pro-tab-tit li.cur,.pro-tab-tit li.active,.pro-tab-tit li:hover{background:var(--action);color:#fff}
.promenu a.cur,.promenu a:hover,.prolist dl dd a.cur,.prolist dl dd a:hover{color:var(--action)}
.ind-about-note .pubTitle a,.relly-formbtn,.zb-btn,.pro-cont .downfile li .more,.newsxq-share a,.nofound-btns .nofound-btn:not(.nofound-btn-ghost),.prolist li span.more{background:var(--action);border-radius:8px;transition:transform .22s var(--ease),box-shadow .22s ease,background-color .22s ease}
.ind-about-note .pubTitle a:hover,.relly-formbtn:not(:disabled):hover,.zb-btn:hover,.pro-cont .downfile li .more:hover,.newsxq-share a:hover,.nofound-btns .nofound-btn:not(.nofound-btn-ghost):hover{background:var(--brand);box-shadow:0 7px 18px rgba(22,119,255,.2);transform:translateY(-2px)}
.relly-formbtn:focus-visible,.zb-btn:focus-visible{outline-color:var(--accent)}
.fullpage a{border-color:var(--line);border-radius:8px;color:var(--muted);transition:background-color .2s,color .2s,transform .2s}
.fullpage a:hover,.fullpage a.ontrue,.fullpage a.on{background:var(--action);border-color:var(--action);color:#fff}
.prolist li,.news-list li,.promenu,.Header-dropdown,.relly-form input,.relly-form textarea{border-color:var(--line)}
.newsxq-title h1,.pro-cont h2,.pro-cont h3{color:var(--brand-deep)}
.news-wd .news-meta .news-updated,.newsxq-title .newsxq-updated{color:var(--brand)}
/* Scroll reveal uses a small translate + fade; visible content never depends on animation support. */
html.motion-ready .motion-in{opacity:0;transform:translate3d(0,18px,0)}
html.motion-ready .motion-in.is-visible{animation:zblReveal .68s var(--ease) both;animation-delay:var(--motion-delay,0ms)}
@keyframes zblReveal{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media (hover:hover) and (pointer:fine){.prolist li:hover,.news-list li:hover,.serzb-list li:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.com-img img,.case-img img{transition:transform .55s var(--ease)}.com-img:hover img,.case-img img:hover{transform:scale(1.035)}}
@media (hover:none){.prolist li:hover,.news-list li:hover,.serzb-list li:hover{transform:none;box-shadow:var(--shadow)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.motion-ready .motion-in,html.motion-ready .motion-in.is-visible{opacity:1;transform:none;animation:none!important}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* Homepage knowledge links: quiet, tactile hover feedback without changing the content grid. */
.ind-server .hotnews ul li{position:relative;box-sizing:border-box;border:1px solid transparent;border-radius:9px;background-color:#f6f8fb;transition:transform .22s var(--ease),background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.ind-server .hotnews ul li:before{content:"";position:absolute;top:9px;bottom:9px;left:0;width:3px;border-radius:0 3px 3px 0;background:var(--action);transform:scaleY(0);transform-origin:center;transition:transform .22s var(--ease)}
.ind-server .hotnews ul li a{position:relative;transition:color .2s ease}
@media (hover:hover) and (pointer:fine){.ind-server .hotnews ul li:hover{transform:translateX(3px);border-color:#dce8f6;background-color:#fff;box-shadow:0 7px 18px rgba(7,27,51,.08)}.ind-server .hotnews ul li:hover:before{transform:scaleY(1)}.ind-server .hotnews ul li:hover a{color:var(--action)}}

/* Consistent rounded corners for every text-entry control, including verification fields. */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),textarea,select{box-sizing:border-box;border-radius:8px!important}/* Calm, accessible form focus state: thin brand border and a soft halo instead of a heavy outline. */
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),form textarea,form select{box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,form textarea:focus,form select:focus{position:relative;z-index:1;outline:none!important;border:1px solid var(--action)!important;box-shadow:0 0 0 2px rgba(22,119,255,.12),0 3px 12px rgba(7,27,51,.05)!important;background-color:#fff!important}
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus-visible,form textarea:focus-visible,form select:focus-visible{outline:none!important}
/* Responsive phone action: copy on desktop, native dial link on touch screens. */
.relly-formyzmbtn a.contact-phone-action{display:inline-flex;float:left;align-items:center;justify-content:center;gap:9px;position:relative;box-sizing:border-box;width:auto;min-height:55px;padding:0 20px;margin:0 0 0 20px;border-radius:8px;background:var(--brand);color:#fff;line-height:1.35;text-decoration:none;transition:background-color .2s,transform .2s,box-shadow .2s}
.relly-formyzmbtn a.contact-phone-action:hover{background:var(--brand-deep);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(7,27,51,.18)}
.contact-phone-action svg{width:18px;height:18px;flex:0 0 18px;fill:currentColor}
.contact-copy-icon{display:block}.contact-phone-icon{display:none}
.contact-copy-feedback{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:2;padding:6px 10px;border-radius:6px;background:var(--brand-deep);color:#fff;font-size:12px;line-height:1.4;white-space:nowrap;opacity:0;transform:translate(-50%,4px);pointer-events:none;transition:opacity .18s,transform .18s}
.contact-phone-action.is-copied .contact-copy-feedback{opacity:1;transform:translate(-50%,0)}
.product-form-toast{position:fixed;top:50%;left:50%;z-index:30000;box-sizing:border-box;max-width:calc(100vw - 32px);padding:12px 18px;border:1px solid #dce6f2;border-radius:10px;background:#fff;color:var(--brand-deep);box-shadow:0 12px 34px rgba(7,27,51,.2);font-size:14px;line-height:1.5;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%,-46%);transition:opacity .2s ease,transform .2s ease}
.product-form-toast.is-visible{opacity:1;transform:translate(-50%,-50%)}
.product-form-toast.is-success{border-color:#b7e4ca;background:#effaf3;color:#18794e}
.product-form-toast.is-error{border-color:#f4c7c3;background:#fff5f4;color:#b42318}
.relly-formbtn:disabled{cursor:wait;opacity:.72}
@media (max-width:767px),(pointer:coarse){.relly-formyzmbtn a.contact-phone-action{margin:12px 0 0 12px}.contact-copy-icon{display:none}.contact-phone-icon{display:block}}
@media (max-width:480px){.relly-formyzmbtn a.contact-phone-action{float:none;width:100%;margin:12px 0 0}}
@media (max-width:767px){.product-form-toast{padding:11px 15px;font-size:13px}}
/* Align the verification field, image and actions consistently on category and contact forms. */
.relly-form .relly-formyzmbtn{display:flex;align-items:center;flex-wrap:wrap;gap:16px;clear:both;width:100%;margin-top:20px;overflow:visible}
.relly-form .relly-formyzm{display:flex;float:none;align-items:center;gap:14px;min-width:0;margin:0}
.relly-form .relly-formyzm input{flex:0 1 250px;width:250px!important;max-width:calc(100vw - 200px);height:60px!important;margin:0;padding:0 20px;float:none}
.relly-form .relly-formyzm span{display:block;flex:0 0 150px;width:150px!important;height:60px!important;margin:0!important;overflow:hidden;border:1px solid #dbe5f0;border-radius:8px;background:linear-gradient(135deg,#f7faff,#eaf2fc);box-shadow:0 3px 10px rgba(7,27,51,.07);cursor:pointer}
.relly-form .relly-formyzm span img{display:block;width:100%!important;height:100%!important;object-fit:cover;border-radius:7px;cursor:pointer}
.relly-form .relly-formbtn{display:inline-flex;flex:0 0 200px;float:none;align-items:center;justify-content:center;box-sizing:border-box;width:200px;height:60px!important;min-height:60px;margin:0;padding:0 18px;border:0;border-radius:8px;line-height:1.2}
.relly-form .relly-formyzmbtn a.contact-phone-action{flex:0 0 auto;float:none;height:60px;min-height:60px;margin:0}
@media (max-width:767px){
  .relly-form .relly-formyzmbtn{align-items:stretch;gap:12px;margin-top:18px}
  .relly-form .relly-formyzm{flex:1 1 100%;width:100%;gap:12px}
  .relly-form .relly-formyzm input{flex:1 1 auto;width:auto!important;max-width:none;height:48px!important;padding:0 15px}
  .relly-form .relly-formyzm span{flex-basis:130px;width:130px!important;height:48px!important}
  .relly-form .relly-formbtn{flex:1 1 100%;width:100%;height:50px!important;min-height:50px}
  .relly-form .relly-formyzmbtn a.contact-phone-action{flex:1 1 100%;width:100%;height:50px;min-height:50px;margin:0}
}
/* Homepage CTAs match the product inquiry form button: 200 x 55, crisp radius and restrained lift. */
.ind-about-note .pubTitle a.more,.ind-contact a.more{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;width:200px;max-width:100%;height:45px;margin-top:25px;will-change:transform;padding:0 20px;border:0;border-radius:8px;background:var(--action);color:#fff;font-size:16px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;transition:transform .22s var(--ease),box-shadow .22s ease,background-color .22s ease}
.ind-contact a.more{margin-top:30px}
.ind-about-note .pubTitle a.more:hover,.ind-contact a.more:hover{background:var(--brand-deep);color:#fff;box-shadow:0 7px 18px rgba(22,119,255,.2);transform:translateY(-3px);opacity:1}
@media (max-width:767px){.ind-about-note .pubTitle a.more,.ind-contact a.more{width:200px;height:45px;margin-top:20px}}
/* Static homepage product taxonomy: five cards per desktop row, with all-products shortcut last. */
.product-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:40px}
.product-category-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 8px 26px rgba(7,27,51,.08);transition:transform .24s var(--ease),box-shadow .24s ease,border-color .24s ease}
.product-category-image{display:block;overflow:hidden;aspect-ratio:4/3;background:#f2f5f9}
.product-category-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}
.product-category-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:16px 17px 18px}
.product-category-copy strong{color:var(--brand-deep);font-size:17px;font-weight:650;line-height:1.45}
.product-category-copy>span{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.7}
.product-category-copy em{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:15px;color:var(--action);font-size:13px;font-style:normal;font-weight:600}
.product-category-copy em b{font-size:17px;font-weight:400;transition:transform .2s ease}
@media (hover:hover) and (pointer:fine){.product-category-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(7,27,51,.14)}.product-category-card:hover .product-category-image img{transform:scale(1.045)}.product-category-card:hover .product-category-copy em b{transform:translateX(4px)}}
.product-category-all{justify-content:center;min-height:100%;padding:25px;background:linear-gradient(145deg,#0b2e58,#174b82);color:#fff}
.product-category-all .product-category-all-icon{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.36);border-radius:50%;color:#fff;font-size:28px;font-weight:300}
.product-category-all .product-category-copy{padding:18px 0 0}
.product-category-all .product-category-copy strong,.product-category-all .product-category-copy>span,.product-category-all .product-category-copy em{color:#fff}
.product-category-all .product-category-copy>span{color:rgba(255,255,255,.76)}
@media (max-width:1200px){.product-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
@media (max-width:900px){.product-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (max-width:640px){.product-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:24px}.product-category-copy{padding:13px 13px 15px}.product-category-copy strong{font-size:15px}.product-category-copy>span{font-size:12px}.product-category-copy em{padding-top:12px}.product-category-all{padding:18px}}
@media (max-width:380px){.product-category-grid{grid-template-columns:1fr}}
/* Service support page: engineering-led B2B layout aligned with ZBL navy/blue identity. */
.service-intro{position:relative;overflow:hidden;margin:34px auto 0;width:min(1400px,calc(100% - 48px));border-radius:20px;background:radial-gradient(circle at 86% 18%,rgba(55,132,222,.32),transparent 29%),linear-gradient(120deg,#071b33 0%,#0b3a6e 68%,#124b82 100%);color:#fff}
.service-intro:after{content:"";position:absolute;right:-95px;bottom:-230px;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 36px rgba(255,255,255,.025),0 0 0 82px rgba(255,255,255,.02);pointer-events:none}
.service-intro-inner{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:48px;padding:62px 72px}
.service-intro-copy{max-width:700px}
.service-eyebrow{display:inline-block;margin-bottom:16px;color:#9cc8ff;font-size:12px;font-weight:700;letter-spacing:.14em}
.service-intro h1{margin:0;color:#fff;font-size:clamp(32px,4vw,48px);font-weight:650;line-height:1.28;letter-spacing:-.035em}
.service-intro-copy>p{max-width:670px;margin:18px 0 24px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.9}
.service-intro-cta{display:inline-flex;align-items:center;gap:16px;min-height:46px;padding:0 19px;border-radius:8px;background:var(--action);color:#fff;font-size:14px;font-weight:650;text-decoration:none;transition:transform .22s var(--ease),box-shadow .22s ease,background .2s}
.service-intro-cta span{font-size:18px;transition:transform .2s}
.service-intro-cta:hover{transform:translateY(-3px);background:#3288ff;box-shadow:0 10px 24px rgba(0,0,0,.2);color:#fff}
.service-intro-cta:hover span{transform:translateX(3px)}
.service-intro-facts{display:grid;flex:0 0 290px;gap:10px}
.service-intro-facts>div{padding:13px 16px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.service-intro-facts strong,.service-intro-facts span{display:block}
.service-intro-facts strong{color:#fff;font-size:14px}
.service-intro-facts span{margin-top:4px;color:rgba(255,255,255,.68);font-size:12px}
.zb-service{--zb-ink:var(--brand-deep);--zb-muted:#63738a;color:var(--ink)}
.zb-service .zb-container{width:min(1400px,calc(100% - 48px));max-width:none;margin:0 auto}
.zb-service .zb-section{padding:64px 0}
.zb-service .zb-section:nth-child(even){background:var(--surface)}
.zb-service .zb-title{margin:0 auto 34px;text-align:left}
.zb-service .zb-title h2{margin:0;color:var(--brand-deep);font-size:30px;font-weight:700;letter-spacing:-.025em}
.zb-service .zb-title h2:after{display:block;width:42px;height:3px;margin-top:14px;border-radius:3px;background:var(--action);content:""}
.zb-service .zb-title p{margin-top:12px;color:var(--muted);font-size:15px}
.zb-service .zb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.zb-service .zb-card{position:relative;min-height:220px;box-sizing:border-box;padding:26px 26px 24px;border:1px solid var(--line);border-top:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(7,27,51,.045);transition:transform .24s var(--ease),box-shadow .24s,border-color .24s}
.zb-service .zb-card:before{position:absolute;top:0;left:26px;width:34px;height:3px;border-radius:0 0 3px 3px;background:var(--action);content:""}
.zb-service .zb-card:hover{transform:translateY(-4px);border-color:#c9dcf5;box-shadow:0 14px 32px rgba(7,27,51,.1)}
.zb-service .zb-icon{width:auto;height:auto;justify-content:flex-start;margin:0 0 18px;background:none;color:var(--action);font-size:13px;font-weight:750;letter-spacing:.1em}
.zb-service .zb-card h3{margin:0 0 9px;color:var(--brand-deep);font-size:18px;font-weight:650}
.zb-service .zb-card p{color:var(--muted);font-size:14px;line-height:1.85}
.zb-service .zb-support{padding:0;background:transparent;border-radius:0}
.zb-service .zb-support-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.zb-service .zb-support-item{align-items:flex-start;min-height:125px;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;gap:18px;transition:border-color .2s,box-shadow .2s}
.zb-service .zb-support-item:hover{border-color:#c9dcf5;box-shadow:0 8px 22px rgba(7,27,51,.07)}
.zb-service .zb-number{flex:0 0 42px;color:var(--action);font-size:24px;font-weight:700;line-height:1.2}
.zb-service .zb-support-item h3{margin:0 0 7px;color:var(--brand-deep);font-size:17px;font-weight:650}
.zb-service .zb-support-item p{color:var(--muted);font-size:14px;line-height:1.8}
.zb-service .zb-process{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.zb-service .zb-process-item{position:relative;padding:23px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;text-align:left}
.zb-service .zb-process-item span{width:36px;height:36px;margin:0 0 17px;background:#eaf3ff;color:var(--action);font-size:14px;line-height:36px}
.zb-service .zb-process-item h3{margin:0 0 6px;color:var(--brand-deep);font-size:16px;font-weight:650}
.zb-service .zb-process-item p{color:var(--muted);font-size:13px}
.zb-service .zb-contact{padding:60px 24px;border-radius:18px;background:linear-gradient(115deg,#071b33,#0b3a6e);text-align:center}
.zb-service .zb-contact h2{margin:0 0 12px;color:#fff;font-size:30px}
.zb-service .zb-contact p{margin:0 auto 24px;color:rgba(255,255,255,.76);font-size:15px}
.zb-service .zb-contact .zb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:8px;background:var(--action);color:#fff;font-size:15px;font-weight:650;transition:transform .2s,box-shadow .2s,background .2s}
.zb-service .zb-contact .zb-btn:hover{transform:translateY(-2px);background:#3288ff;box-shadow:0 9px 22px rgba(0,0,0,.2)}
@media(max-width:1000px){.service-intro-inner{align-items:flex-start;flex-direction:column;gap:28px;padding:46px 38px}.service-intro-facts{grid-template-columns:repeat(3,minmax(0,1fr));flex-basis:auto;width:100%}.zb-service .zb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zb-service .zb-process{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.service-intro{width:calc(100% - 28px);margin-top:18px;border-radius:14px}.service-intro-inner{gap:24px;padding:32px 22px}.service-intro h1{font-size:30px}.service-intro-copy>p{font-size:14px}.service-intro-facts{grid-template-columns:1fr;gap:8px}.service-intro-facts>div{padding:11px 13px}.zb-service .zb-container{width:calc(100% - 32px)}.zb-service .zb-section{padding:42px 0}.zb-service .zb-title{margin-bottom:23px}.zb-service .zb-title h2{font-size:25px}.zb-service .zb-title p{font-size:14px}.zb-service .zb-grid,.zb-service .zb-support-grid{grid-template-columns:1fr;gap:12px}.zb-service .zb-card{min-height:0;padding:23px 21px}.zb-service .zb-support-item{min-height:0;padding:18px}.zb-service .zb-process{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zb-service .zb-process-item{padding:18px 14px}.zb-service .zb-contact{padding:42px 20px;border-radius:14px}.zb-service .zb-contact h2{font-size:24px}.zb-service .zb-contact p{font-size:14px}}
/* Footer navigation fills the available row so the final menu column aligns with the right edge. */
@media (min-width:769px){.Footer-navbar ul{display:flex;justify-content:space-between;gap:clamp(12px,1.8vw,28px);width:100%}.Footer-navbar ul li{flex:1 1 0;width:auto;min-width:0;float:none}}
/* The desktop underline animation is distracting in the stacked mobile navigation. */
@media (max-width:1000px){.Header-navbar ul li:after{display:none!important;content:none!important}}
