:root { color-scheme: light; --blue:#19307e; --page-width:430px; }
* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body { margin:0; min-height:100%; background:#f5f5f5; }
body { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",Arial,sans-serif; color:rgba(0,0,0,.85); -webkit-font-smoothing:antialiased; }
img { display:block; }
.store-wrapper { width:100%; min-height:100vh; background:#f5f5f5; overflow:hidden; padding-bottom:env(safe-area-inset-bottom); }
.header { display:flex; align-items:center; flex-direction:column; width:100%; height:77.29469vw; max-height:332.37px; background:var(--blue); padding-top:env(safe-area-inset-top); }
.title { flex:none; margin:3.86473vw 0; color:#fff; font-size:3.86473vw; line-height:1.3; font-weight:700; max-width:90%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.swiper-wrap { position:relative; width:92.27053vw; max-width:396.76px; height:48.30918vw; max-height:207.73px; overflow:hidden; }
.slides { height:100%; display:flex; transition:transform .45s cubic-bezier(.22,.61,.36,1); will-change:transform; touch-action:pan-y; }
.slide { position:relative; min-width:100%; height:100%; }
.slide img { width:100%; height:100%; object-fit:cover; }
.image-frame { background:linear-gradient(110deg,#eef0f4 25%,#f8f9fb 42%,#eef0f4 59%); background-size:220% 100%; }
.image-frame img { opacity:1; transition:opacity .25s ease; }
.image-frame.image-loading { animation:image-skeleton 1.6s linear infinite; }
.image-frame.image-loading img { opacity:0; }
.image-frame.image-loading::before { content:""; position:absolute; z-index:1; top:50%; left:50%; width:24px; height:24px; margin:-22px 0 0 -12px; border:2px solid rgba(25,48,126,.18); border-top-color:#19307e; border-radius:50%; animation:spin .8s linear infinite; }
.image-frame.image-loading::after { content:"图片加载中"; position:absolute; z-index:1; top:50%; left:0; right:0; margin-top:12px; color:rgba(25,48,126,.72); font-size:12px; text-align:center; }
.swiper-wrap.images-loading .pagination { opacity:.45; pointer-events:none; }
@keyframes image-skeleton { to { background-position:-220% 0; } }
.pagination { position:absolute; z-index:2; left:0; right:0; bottom:8px; display:flex; justify-content:center; gap:6px; }
.pagination button { width:6px; height:6px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.55); transition:.2s; }
.pagination button.active { background:#fff; transform:scale(1.22); }
.content { position:relative; width:92.27053vw; max-width:396.76px; margin:0 auto; }
.content-inner { position:relative; top:-10.62802vw; min-height:500px; background:#fff; }
.content-company,.content-equipment { padding:4.58937vw 5.7971vw; }
.content-equipment { padding-top:1.8vw; }
.content-head { display:flex; align-items:center; margin-bottom:1.44928vw; }
.head-icon-container { width:5.7971vw; height:5.7971vw; max-width:24.93px; max-height:24.93px; color:#19307e; }
.head-icon { width:100%; height:100%; }
.content-title,.content-title-en { font-size:4.34783vw; line-height:5.07246vw; font-weight:500; }
.content-title { margin:0 3.86473vw; }
.content-title-en { color:rgba(0,0,0,.45); }
.company-item { padding:3.86473vw 0; border-bottom:1px solid rgba(232,232,232,.58); }
.company-item-name,.company-item-name-en { margin:1px 0; font-size:3.38164vw; color:rgba(0,0,0,.45); }
.company-item-value { margin:1.44928vw 0; font-size:3.86473vw; line-height:1.5; word-break:break-word; }
.equipment-item { position:relative; width:100%; height:57.97101vw; max-height:249.28px; margin:3.86473vw 0; overflow:hidden; background:#eee; }
.equipment-img { width:100%; height:100%; object-fit:cover; }
.mantle { position:absolute; z-index:2; bottom:0; width:100%; height:14.49275vw; max-height:60px; display:flex; justify-content:space-evenly; flex-direction:column; background:rgba(27,51,146,.84); color:#fff; font-size:3.38164vw; }
.equipment-row { display:flex; justify-content:space-between; gap:8px; padding:0 3.86473vw; }
.equipment-row > div { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.footer { width:92.27053vw; max-width:396.76px; margin:-6.76329vw auto 0; background:rgba(0,24,118,.5098039216); color:#001876; }
.footer-inner { display:flex; gap:10px; padding:4.10628vw 5.7971vw 3.86473vw; font-size:3.38164vw; line-height:1.45; }
.footer-warn { flex:none; width:5.7971vw; max-width:24.93px; height:5.7971vw; max-height:24.93px; object-fit:contain; }
.footer-zh { margin-bottom:3.86473vw; }
.footer-tel,.footer-tel-en { display:block; margin-top:1.44928vw; }
.page-state { display:flex; min-height:100vh; justify-content:center; align-items:center; padding:24px; text-align:center; background:#fff; }
.state-card { max-width:340px; }
.state-card svg { width:52px; color:#19307e; }
.state-card h1 { font-size:20px; margin:18px 0 8px; }
.state-card p { font-size:14px; color:#777; line-height:1.7; }
.spinner { width:28px; height:28px; border:3px solid #e7eaf4; border-top-color:#19307e; border-radius:50%; animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@media (min-width:431px) {
  body { background:#e9ebf1; }
  .store-wrapper { max-width:430px; margin:0 auto; box-shadow:0 0 30px rgba(11,25,76,.12); }
  .header { height:332.37px; }
  .title { margin:16.62px 0; font-size:16.62px; }
  .swiper-wrap { width:396.76px; height:207.73px; }
  .content { width:396.76px; }
  .content-inner { top:-45.7px; }
  .content-company,.content-equipment { padding:19.73px 24.93px; }
  .content-head { margin-bottom:6px; }
  .content-title,.content-title-en { font-size:18.7px; line-height:21.81px; }
  .content-title { margin:0 16.62px; }
  .company-item { padding:16.62px 0; }
  .company-item-name,.company-item-name-en { font-size:14.54px; }
  .company-item-value { margin:6.23px 0; font-size:16.62px; }
  .equipment-item { height:249.28px; margin:16.62px 0; }
  .mantle { height:62.32px; font-size:14.54px; }
  .equipment-row { padding:0 16.62px; }
  .footer { width:396.76px; margin:-29.08px auto 0; }
  .footer-inner { padding:17.66px 24.93px 16.62px; font-size:14.54px; }
  .footer-zh { margin-bottom:16.62px; }
}
@media (prefers-reduced-motion:reduce) { .slides { transition:none; } .spinner { animation-duration:1.5s; } }
