/* Page-specific styles for about-qualifications.html. */
.page-about-qualifications .inner-copy h1{font-size:clamp(36px,4.6vw,60px);line-height:1.16;letter-spacing:0;text-wrap:balance}
.page-about-qualifications .about-core-mark{display:grid;grid-template-rows:auto auto;justify-items:center;align-items:center;gap:8px;max-width:100%;text-align:center}
.page-about-qualifications .about-core-mark strong{display:block;line-height:1}
.page-about-qualifications .about-core-mark span{display:block;margin-top:0;line-height:1.2;white-space:nowrap}

/* 首屏认证档案：左侧主档案搭配右侧认证矩阵，区别于公司简介的中心辐射构图。 */
.page-about-qualifications .qualification-trust-map{isolation:isolate;padding:25px 29px 23px;background:linear-gradient(140deg,rgba(8,37,89,.98),rgba(9,75,147,.94))}
.page-about-qualifications .qualification-trust-map:before{background:linear-gradient(115deg,rgba(89,206,239,.12),transparent 46%),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,38px 38px,38px 38px}
.page-about-qualifications .qualification-map-header{position:relative;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid rgba(191,223,255,.22)}
.page-about-qualifications .qualification-map-header span,.page-about-qualifications .qualification-map-footer span{color:#8ee9ef;font-size:8px;font-weight:900;letter-spacing:.14em}
.page-about-qualifications .qualification-map-header b{color:#f4f9ff;font-size:13px;font-weight:800}
.page-about-qualifications .qualification-map-board{position:absolute;inset:75px 31px 51px;z-index:1}
.page-about-qualifications .qualification-map-board:before{content:"";position:absolute;top:0;bottom:0;left:30%;width:1px;background:linear-gradient(180deg,transparent,rgba(143,232,239,.7) 14%,rgba(143,232,239,.18) 84%,transparent)}
.page-about-qualifications .qualification-map-board:after{content:"";position:absolute;top:50%;left:33%;right:0;height:1px;background:linear-gradient(90deg,rgba(143,232,239,.36),rgba(143,232,239,.08))}
.page-about-qualifications .qualification-map-core{position:absolute;top:0;bottom:0;left:0;z-index:2;box-sizing:border-box;width:27%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:20px 10px;border:1px solid rgba(185,235,247,.45);border-radius:8px;color:#fff;background:linear-gradient(180deg,rgba(13,70,137,.94),rgba(5,32,77,.88));box-shadow:inset 0 1px rgba(255,255,255,.14),0 18px 34px rgba(0,18,65,.22);text-align:center;backdrop-filter:blur(8px)}
.page-about-qualifications .qualification-map-core:before{content:"";position:absolute;top:20px;bottom:20px;left:-1px;width:3px;background:#7ee9ee;box-shadow:0 0 15px rgba(126,233,238,.7)}
.page-about-qualifications .qualification-map-core:after{content:"";position:absolute;top:26px;right:16px;left:16px;height:1px;background:rgba(143,232,239,.44)}
.page-about-qualifications .qualification-map-core img{position:relative;z-index:1;width:102px;height:auto;object-fit:contain}.page-about-qualifications .qualification-map-core strong{position:relative;z-index:1;color:#fff;font-size:15px;line-height:1.35}.page-about-qualifications .qualification-map-core span{position:relative;z-index:1;color:#8ee9ef;font-size:7px;font-weight:900;letter-spacing:.1em}
.page-about-qualifications .qualification-map-item{position:absolute;z-index:2;box-sizing:border-box;width:calc(32.25% - 2px);height:calc(50% - 7px);min-width:0;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:13px 12px;border:1px solid rgba(182,223,246,.26);border-radius:7px;color:#f8fbff;background:linear-gradient(145deg,rgba(12,66,132,.79),rgba(5,36,86,.78));box-shadow:0 12px 26px rgba(0,17,60,.16);transition:transform .25s ease,border-color .25s ease,background .25s ease;backdrop-filter:blur(7px)}
.page-about-qualifications .qualification-map-item:after{display:none}
.page-about-qualifications .qualification-map-item>span{display:grid;place-items:center;width:25px;height:20px;border-bottom:1px solid rgba(143,234,240,.56);color:#8ee9ef;font-family:var(--mono);font-size:8px;font-weight:900}.page-about-qualifications .qualification-map-item b,.page-about-qualifications .qualification-map-item small{display:block;overflow-wrap:anywhere}.page-about-qualifications .qualification-map-item b{color:#fff;font-size:12px;line-height:1.45}.page-about-qualifications .qualification-map-item small{margin-top:5px;color:#b7d5ee;font-size:8px;line-height:1.45}
.page-about-qualifications .qualification-map-item>div{margin-top:auto}
.page-about-qualifications .qualification-map-item-tech{top:0;left:33.5%}.page-about-qualifications .qualification-map-item-delivery{top:0;right:0}.page-about-qualifications .qualification-map-item-quality{bottom:0;left:33.5%}.page-about-qualifications .qualification-map-item-innovation{right:0;bottom:0}
@media(hover:hover) and (pointer:fine){.page-about-qualifications .qualification-map-item:hover{border-color:rgba(142,233,239,.72);background:rgba(13,83,156,.92);transform:translateX(3px)}}
.page-about-qualifications .qualification-map-footer{position:absolute;right:30px;bottom:19px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:8px}.page-about-qualifications .qualification-map-footer i{width:22px;height:1px;background:rgba(143,232,239,.52)}

.page-about-qualifications .qualification-preview{position:relative;display:block;width:100%;height:100%;padding:0;border:0;color:inherit;background:transparent;cursor:zoom-in;text-decoration:none}
.page-about-qualifications .qualification-preview img{display:block;width:100%;height:100%;object-fit:contain}
.page-about-qualifications .qualification-preview span{position:absolute;right:12px;bottom:12px;padding:8px 11px;border:1px solid rgba(255,255,255,.55);border-radius:6px;color:#fff;background:rgba(7,28,56,.86);font-size:10px;font-weight:750;opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease}
.page-about-qualifications .qualification-preview:hover span,
.page-about-qualifications .qualification-preview:focus-visible span{opacity:1;transform:translateY(0)}
.page-about-qualifications .qualification-preview:focus-visible{outline:3px solid #1d78d0;outline-offset:-3px}
.page-about-qualifications.qualification-dialog-open{overflow:hidden}

.page-about-qualifications .qualification-other-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 0;padding:0;list-style:none}
.page-about-qualifications .qualification-other-list li{min-height:96px;padding:24px;border:1px solid var(--line);border-radius:8px;background:#fff}
.page-about-qualifications .qualification-other-list h3{margin:0;color:#173b68;font-size:18px;line-height:1.5}
.page-about-qualifications .qualification-page-meta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.page-about-qualifications .qualification-page-meta p{margin:0;color:#68798d;font-size:11px;line-height:1.8}

.page-about-qualifications .qualification-dialog{width:min(1080px,calc(100vw - 40px));max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:0 30px 90px rgba(2,15,32,.42)}
.page-about-qualifications .qualification-dialog:not([open]){display:none}
.page-about-qualifications .qualification-dialog::backdrop{background:rgba(3,15,31,.82);backdrop-filter:blur(4px)}
.page-about-qualifications .qualification-dialog-shell{overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#fff}
.page-about-qualifications .qualification-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding:18px 22px 18px 28px;border-bottom:1px solid var(--line);background:#fff}
.page-about-qualifications .qualification-dialog-header span{display:block;margin-bottom:7px;color:var(--blue);font-family:var(--mono);font-size:9px;font-weight:900;letter-spacing:.15em}
.page-about-qualifications .qualification-dialog-header h2{margin:0;color:#102d53;font-size:20px;line-height:1.45}
.page-about-qualifications .qualification-dialog-close,
.page-about-qualifications .qualification-dialog-nav{display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.25);color:#fff;background:rgba(7,28,56,.72);cursor:pointer;transition:background .2s ease,border-color .2s ease}
.page-about-qualifications .qualification-dialog-close{width:42px;height:42px;border-color:var(--line);border-radius:50%;color:#173b68;background:#f3f7fa;font-size:26px;line-height:1}
.page-about-qualifications .qualification-dialog-close:hover,
.page-about-qualifications .qualification-dialog-close:focus-visible{border-color:#8fb8e4;background:#e8f2fb}
.page-about-qualifications .qualification-dialog-stage{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;min-height:0;padding:20px;background:#07182e}
.page-about-qualifications .qualification-dialog-image{display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;min-width:0;height:min(72dvh,680px)}
.page-about-qualifications .qualification-dialog-image img{display:block;max-width:100%;max-height:calc(100% - 38px);object-fit:contain;box-shadow:0 14px 50px rgba(0,0,0,.25)}
.page-about-qualifications .qualification-dialog-image p{align-self:end;margin:14px 0 0;color:#b9cbe0;font-size:10px;letter-spacing:.08em}
.page-about-qualifications .qualification-dialog-error{display:none;margin:0;color:#ffd8d8;font-size:12px;line-height:1.7;text-align:center}
.page-about-qualifications .qualification-dialog-image.is-error img{display:none}
.page-about-qualifications .qualification-dialog-image.is-error .qualification-dialog-error{display:block}
.page-about-qualifications .qualification-dialog-nav{width:44px;height:58px;border-radius:6px;font-size:34px;line-height:1}
.page-about-qualifications .qualification-dialog-nav:hover,
.page-about-qualifications .qualification-dialog-nav:focus-visible{border-color:#7fe0f2;background:#155f95}
.page-about-qualifications .qualification-dialog-nav.next{justify-self:end}
.page-about-qualifications .qualification-dialog button:focus-visible{outline:3px solid #7fe0f2;outline-offset:2px}

@media(max-width:720px){
  .page-about-qualifications .about-core-mark{gap:6px}
  .page-about-qualifications .qualification-trust-map{padding:20px 18px}
  .page-about-qualifications .qualification-map-header{padding-bottom:12px}.page-about-qualifications .qualification-map-header span{font-size:7px}.page-about-qualifications .qualification-map-header b{font-size:11px}
  .page-about-qualifications .qualification-map-board{inset:62px 19px 43px}.page-about-qualifications .qualification-map-core{width:27%;padding:14px 6px;gap:7px}.page-about-qualifications .qualification-map-core:before{top:14px;bottom:14px}.page-about-qualifications .qualification-map-core:after{top:19px;right:8px;left:8px}.page-about-qualifications .qualification-map-core img{width:70px}.page-about-qualifications .qualification-map-core strong{font-size:12px}.page-about-qualifications .qualification-map-core span{font-size:5px;letter-spacing:.06em}
  .page-about-qualifications .qualification-map-item{width:calc(34.5% - 3px);height:calc(50% - 5px);padding:9px 8px}.page-about-qualifications .qualification-map-item>span{width:19px;height:17px;font-size:6px}.page-about-qualifications .qualification-map-item b{font-size:8px}.page-about-qualifications .qualification-map-item small{margin-top:3px;font-size:6px;line-height:1.35}.page-about-qualifications .qualification-map-item-tech,.page-about-qualifications .qualification-map-item-quality{left:31%}
  .page-about-qualifications .qualification-map-footer{right:18px;bottom:13px;gap:5px}.page-about-qualifications .qualification-map-footer span{font-size:5px}.page-about-qualifications .qualification-map-footer i{width:10px}
  .page-about-qualifications .qualification-preview span{opacity:1;transform:none}
  .page-about-qualifications .qualification-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px)}
  .page-about-qualifications .qualification-dialog-header{min-height:76px;padding:14px 14px 14px 18px}
  .page-about-qualifications .qualification-dialog-header h2{font-size:15px}
  .page-about-qualifications .qualification-other-list{grid-template-columns:1fr}
  .page-about-qualifications .qualification-page-meta{align-items:flex-start;flex-direction:column;gap:12px}
  .page-about-qualifications .qualification-dialog-close{width:44px;height:44px}
  .page-about-qualifications .qualification-dialog-stage{grid-template-columns:48px minmax(0,1fr) 48px;min-height:0;padding:12px 8px}
  .page-about-qualifications .qualification-dialog-image{height:min(calc(100vh - 130px),680px);height:min(calc(100dvh - 130px),680px)}
  .page-about-qualifications .qualification-dialog-nav{width:44px;height:52px;font-size:28px}
}

@media (orientation:landscape) and (max-height:520px){
  .page-about-qualifications .qualification-dialog-header{min-height:58px;padding:10px 14px 10px 18px}
  .page-about-qualifications .qualification-dialog-header span{display:none}
  .page-about-qualifications .qualification-dialog-header h2{font-size:15px}
  .page-about-qualifications .qualification-dialog-stage{grid-template-columns:44px minmax(0,1fr) 44px;padding:8px}
  .page-about-qualifications .qualification-dialog-image{height:min(calc(100dvh - 80px),680px)}
  .page-about-qualifications .qualification-dialog-nav{width:40px;height:44px;font-size:26px}
}

@media(prefers-reduced-motion:reduce){
  .page-about-qualifications .qualification-preview span,
  .page-about-qualifications .qualification-dialog-close,
  .page-about-qualifications .qualification-dialog-nav{transition:none;transform:none!important}
}
