/* =====================================================
   Shared 5-module navigation — identical on every page
   首页 / 研发中心 / 个性化分析 / 产品报价 / 关于我们
   ===================================================== */
.site-nav{height:88px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 1px 0 rgba(23,53,105,.07)}
html{scroll-padding-top:88px}
.sn-brand{display:flex;align-items:center;gap:11px;color:#0b49d1;flex-shrink:0}
.sn-mark{width:44px;height:44px;border-radius:14px;background:#0b49d1;color:#b9f36b;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:-.1em}
.sn-name{line-height:1}
.sn-name strong{display:block;font-size:21px;line-height:1}
.sn-name small{display:block;margin-top:5px;font-size:8.5px;letter-spacing:.16em}
.sn-links{display:flex;align-items:center;gap:38px;font-size:16px}
.sn-links a{color:#566071;position:relative;padding:8px 0;transition:color .25s ease,transform .25s ease}
.sn-links a:after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%) scaleX(0);transform-origin:center;width:24px;height:3px;border-radius:3px;background:linear-gradient(90deg,#0b49d1,#54a9ff);opacity:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
.sn-links a:hover{color:#0b49d1;transform:translateY(-2px)}
.sn-links a:hover:after{transform:translateX(-50%) scaleX(1);opacity:1}
.sn-links a.current{color:#0b49d1;font-weight:700}
.sn-links a.current:after{transform:translateX(-50%) scaleX(1);opacity:1;background:linear-gradient(90deg,#0b49d1,#b9f36b)}
.sn-dropdown{position:relative;display:flex;align-items:center;height:100%}
.sn-submenu{position:absolute;z-index:1002;top:100%;left:50%;min-width:150px;padding-top:8px;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none}
.sn-submenu:before{content:"";position:absolute;top:8px;left:0;right:0;bottom:0;background:#fff;border:1px solid #e2eaf5;border-radius:10px;box-shadow:0 14px 34px rgba(18,48,111,.14)}
.sn-dropdown:hover .sn-submenu,.sn-dropdown:focus-within .sn-submenu{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.sn-links .sn-submenu a{position:relative;z-index:1;display:block;padding:12px 18px;color:#52627a;font-size:14px;white-space:nowrap;transition:color .2s ease,background .2s ease}
.sn-links .sn-submenu a:after{display:none}
.sn-links .sn-submenu a:hover,.sn-links .sn-submenu a.current{color:#0b49d1;background:#f1f6ff;transform:none}
.sn-phone{display:flex;align-items:center;gap:10px;flex-shrink:0}
.sn-phone-ic{width:36px;height:36px;border-radius:50%;background:#eaf1ff;display:grid;place-items:center}
.sn-phone-ic svg{width:16px;height:16px;stroke:#0b49d1;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sn-phone-num{font-size:16px;color:#0b49d1;font-weight:700;letter-spacing:.02em}

/* Unified horizontal brand mark supplied by the user */
.sn-brand{width:220px;height:64px;display:block;background:url('assets/logo.png') center/contain no-repeat}
.sn-brand .sn-mark,.sn-brand .sn-name{display:none}
.sn-brand{width:250px;height:72px;transform:translateX(48px)}

/* ===== Responsive ===== */
@media(max-width:900px){.site-nav{padding:0 6vw}.sn-links{display:none}.sn-phone-num{font-size:14px}}
@media(max-width:560px){html{scroll-padding-top:72px}.site-nav{height:72px}.sn-brand{width:205px;height:60px;transform:translateX(18px)}.sn-mark{width:38px;height:38px;border-radius:12px}.sn-name strong{font-size:18px}.sn-name small{font-size:7px}.sn-phone{display:none}}
@media(prefers-reduced-motion:reduce){.sn-links a,.sn-links a:after,.sn-submenu{transition:none}.sn-links a:hover{transform:none}}
/* Shared motion for image-led modules */
@keyframes xz-image-drift{0%,100%{transform:scale(1) translate3d(0,0,0)}50%{transform:scale(1.035) translate3d(-.45%,-.6%,0)}}
@keyframes xz-background-drift{0%,100%{background-position:50% 50%}50%{background-position:53% 47%}}
.service-grid.four .service-visual,.cap-viz,.mini-viz,.product-preview,.rd-card-img,.rd-intro-visual,.about-hero-image,.analysis-hero-art,.detail-image{animation:xz-background-drift 18s ease-in-out infinite alternate}
.service-grid.four .service-visual img,.cap-viz img,.mini-viz img,.product-preview img,.publication-cover img,.values-art img,.intro-visual img,.platform-art img{animation:xz-image-drift 16s ease-in-out infinite alternate;transform-origin:center}
.service-grid.four .service-visual:hover,.cap-viz:hover,.mini-viz:hover,.product-preview:hover,.rd-card-img:hover,.rd-intro-visual:hover,.about-hero-image:hover,.analysis-hero-art:hover,.detail-image:hover{animation-play-state:paused}
.service-grid.four .service-visual:hover img,.cap-viz:hover img,.mini-viz:hover img,.product-preview:hover img,.publication-cover:hover img,.values-art:hover img,.intro-visual:hover img,.platform-art:hover img{animation-play-state:paused;transform:scale(1.06)}
@media(prefers-reduced-motion:reduce){.service-grid.four .service-visual,.cap-viz,.mini-viz,.product-preview,.rd-card-img,.rd-intro-visual,.about-hero-image,.analysis-hero-art,.detail-image,.service-grid.four .service-visual img,.cap-viz img,.mini-viz img,.product-preview img,.publication-cover img,.values-art img,.intro-visual img,.platform-art img{animation:none}}

/* Rounded, unified careers dropdown: the panel and its clickable option share the same visual language. */
.sn-submenu{min-width:164px;padding:8px 0 0;filter:drop-shadow(0 12px 22px rgba(18,48,111,.12))}
.sn-submenu:before{top:8px;border-radius:14px;background:rgba(255,255,255,.98);border-color:#e3eaf5;box-shadow:0 8px 24px rgba(18,48,111,.08)}
.sn-links .sn-submenu a{margin:5px 7px;padding:12px 14px;border-radius:9px;color:#40516b;font-weight:600;transition:color .2s ease,background .2s ease,box-shadow .2s ease}
.sn-links .sn-submenu a:hover,.sn-links .sn-submenu a.current{border-radius:9px;color:#104fd0;background:#edf4ff;box-shadow:inset 3px 0 0 #1551d4}
