/* r25 证书展示：各页“一行徽章” + 资质页“缩略图清单” + 大图浮层（按 Jev 复评收敛，不再用大卡片） */
.ipb{margin:clamp(20px,2.6vw,32px) 0;padding:20px;border:1.5px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5}
.ipb-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ipb-h{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--grey,#666)}
.ipb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.ipb-i{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:12px;min-width:0;color:inherit;text-decoration:none;border:0;padding:0;background:none;cursor:zoom-in}
.ipb-thumb{display:flex;align-items:center;justify-content:center;height:64px;background:var(--mist);border-radius:6px}
.ipb-i img{display:block;max-height:56px;max-width:calc(100% - 12px);height:auto;width:auto;border:1px solid rgba(20,20,20,.18);border-radius:3px;box-shadow:0 2px 6px rgba(20,20,20,.12);transition:transform .25s}
.ipb-i:hover img{transform:scale(1.08)}
.ipb-copy{min-width:0}
.ipb-i b{display:block;font-weight:700;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.ipb-i small{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--grey,#666);overflow-wrap:anywhere}
.ipb-i:focus-visible,.ipb-more:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:4px}
.ipb-gallery .ipb-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}
.ipb-gallery .ipb-i{display:flex;flex-direction:column;align-items:stretch;gap:14px}
.ipb-gallery .ipb-thumb{height:112px}
.ipb-gallery img{max-height:96px;max-width:calc(100% - 24px)}
.ipb-gallery .ipb-copy{display:flex;flex-direction:column;flex:1;gap:6px}
.ipb-gallery small{min-height:3em;margin-top:auto}
.ipb-more,.ipc-more{display:inline-flex;align-items:center;min-height:36px;margin-left:auto;font-weight:700;color:inherit;border-bottom:1px solid currentColor;text-decoration:none;white-space:nowrap}
.ipc-more{margin-left:6px}
.prose .ipb a,.prose .ipb a:hover,.prose .ipb-text a{background:none;border-bottom:0}
.prose .ipb .ipb-more{border-bottom:1px solid currentColor}
.prose .ipb img{margin:0;border-radius:3px}
.ink .ipb{background:transparent;border-color:rgba(255,255,255,.22);color:var(--paper)}
.ink .ipb-h,.ink .ipb-i small{color:rgba(255,255,255,.62)}
.ipb-sec{padding-block:clamp(8px,1.6vw,20px)}
.ipb-sec .ipb{margin:0}
.ipb-text{max-width:820px;font-size:14.5px;color:var(--grey,#555)}
/* 资质页清单 */
.ipl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px clamp(16px,2vw,28px)}
.ipl-i{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:start;padding:14px;border:1.5px solid rgba(20,20,20,.14);border-radius:14px;background:var(--paper)}
.ipl-img{display:flex;align-items:center;justify-content:center;height:112px;background:var(--mist);border-radius:8px;cursor:zoom-in}
.ipl-i[data-kind="trademark"] .ipl-img{background:#eef1f6}
.ipl-img img{display:block;max-width:116px;max-height:100px;width:auto;height:auto;box-shadow:0 3px 10px rgba(20,20,20,.15);transition:transform .25s}
.ipl-img:hover img{transform:scale(1.05)}
.ipl-i small{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--grey,#666)}
.ipl-i b{display:block;font:900 17px/1.35 var(--song);margin:2px 0 6px}
.ipl-i dl{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;margin:0;font-size:13px;line-height:1.55}
.ipl-i dt{color:var(--grey,#666);white-space:nowrap}
.ipl-i dd{margin:0;word-break:break-all}
.ipl-i p{margin:6px 0 0;font-size:12.5px;line-height:1.55;color:var(--grey,#666)}
/* 大图浮层 */
.ipc-box{max-width:min(94vw,1100px);max-height:94vh;max-height:94dvh;padding:0;border:2px solid var(--ink);border-radius:16px;background:var(--paper);overflow:auto}
.ipc-box.is-portrait{max-width:min(94vw,600px)}
.ipc-box::backdrop{background:rgba(20,20,20,.72)}
.ipc-box img{display:block;max-width:100%;max-height:70vh;max-height:70dvh;width:auto;height:auto;margin-inline:auto}
.ipc-box p{margin:0;padding:12px 16px;font-size:14px;line-height:1.6}
.ipc-box button{position:sticky;top:8px;float:right;margin:8px;width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:var(--yellow);font-size:20px;line-height:1;cursor:pointer}
@media (max-width:900px){.ipl{grid-template-columns:1fr}}
@media (max-width:899px){
  .ipb-gallery .ipb-grid{grid-template-columns:1fr;gap:0}
  .ipb-gallery .ipb-i{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:14px 0}
  .ipb-gallery .ipb-i+.ipb-i{border-top:1px solid var(--line)}
  .ipb-gallery .ipb-i:first-child{padding-top:0}.ipb-gallery .ipb-i:last-child{padding-bottom:0}
  .ipb-gallery .ipb-thumb{height:76px}.ipb-gallery img{max-height:66px;max-width:calc(100% - 12px)}
  .ipb-gallery .ipb-copy{display:block}.ipb-gallery small{min-height:0;margin-top:4px}
}
@media (max-width:680px){
  .ipb{padding:16px}.ipb-head{gap:12px;margin-bottom:14px;padding-bottom:10px}.ipb-more{min-height:44px}.ipb-grid{grid-template-columns:1fr}
  .ipb-gallery .ipb-i{grid-template-columns:76px minmax(0,1fr);gap:12px}.ipb-gallery .ipb-thumb{height:64px}.ipb-gallery img{max-height:56px}
  .ipl-i{grid-template-columns:92px 1fr;gap:12px;padding:12px}.ipl-img{height:84px}.ipl-img img{max-width:80px;max-height:74px}.ipl-i dl{grid-template-columns:1fr}.ipl-i dt{margin-top:2px}
}
@media (prefers-reduced-motion:reduce){.ipb-i img{transition:none}.ipb-i:hover img{transform:none}}
