/* KamiPro project galleries — non-destructive 1.0.0 */
body.single-kp_project .kpgl-hero{padding-top:56px;padding-bottom:61px}
body.single-kp_project .kpgl-hero h1{font-size:clamp(2rem,3.2vw,3.3rem);max-width:960px;margin:16px 0}
body.single-kp_project .kpgl-hero p{font-size:1rem}
body.single-kp_project .kpgl-section{padding-top:45px;padding-bottom:78px}
body.single-kp_project .kpgl-back{font-size:.89rem}
body.single-kp_project .kpgl-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:30px 0 22px;padding-bottom:21px;border-bottom:1px solid #dce5ed}
body.single-kp_project .kpgl-summary{max-width:820px}
body.single-kp_project .kpgl-description p{font-size:1rem;color:#526479;line-height:1.7;margin-bottom:10px}
body.single-kp_project .kpgl-hint{font-size:.84rem;color:#6e8092;margin:0}
body.single-kp_project .kpgl-count{display:flex;gap:8px;align-items:baseline;flex-shrink:0;border:1px solid #d8e2ec;padding:9px 15px;border-radius:30px;background:#f6f9fc;color:#31475f;font-size:.83rem}
body.single-kp_project .kpgl-count strong{color:#e46923;font-size:1.15rem}
body.single-kp_project .kpgl-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}
body.single-kp_project .kpgl-grid .kpgl-card{margin:0;min-width:0;background:#f1f5f8;border:1px solid #e0e8f0;border-radius:13px;overflow:hidden;box-shadow:0 4px 15px rgba(15,34,52,.05)}
body.single-kp_project .kpgl-grid .kpgl-photo{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#eef3f8;cursor:zoom-in}
body.single-kp_project .kpgl-grid .kpgl-thumb{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;transition:transform .25s ease}
body.single-kp_project .kpgl-grid .kpgl-photo:hover .kpgl-thumb{transform:scale(1.045)}
body.single-kp_project .kpgl-grid .kpgl-zoom{position:absolute;bottom:12px;right:12px;width:32px;height:32px;border-radius:9px;background:rgba(9,25,43,.76);color:#fff;font-size:22px;line-height:30px;text-align:center;opacity:0;transition:opacity .2s}
body.single-kp_project .kpgl-grid .kpgl-photo:hover .kpgl-zoom,body.single-kp_project .kpgl-grid .kpgl-photo:focus-visible .kpgl-zoom{opacity:1}
body.single-kp_project .kpgl-bottom{margin:26px 0 45px}
body.single-kp_project .kpgl-cta{margin-top:25px}
/* Accessible image viewer: only loaded on individual KamiPro gallery pages. */
.kpgl-lightbox{position:fixed;inset:0;background:rgba(5,15,28,.95);display:none;align-items:center;justify-content:center;z-index:999999;padding:62px 74px 74px}
.kpgl-lightbox.kpgl-open{display:flex}
.kpgl-lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;max-height:100%;min-width:0}
.kpgl-lightbox img{max-width:min(100%,1500px);max-height:calc(100vh - 162px);width:auto;height:auto;object-fit:contain;border-radius:7px;box-shadow:0 14px 65px rgba(0,0,0,.35)}
.kpgl-lightbox figcaption{color:#f1f5f9;text-align:center;max-width:min(88vw,840px);font-size:.89rem;line-height:1.4;margin-top:15px}
.kpgl-lightbox button{display:grid;place-items:center;position:absolute;width:46px;height:46px;border:1px solid #8998a9;border-radius:50%;background:rgba(20,43,67,.92);color:#fff;font-size:27px;line-height:1;cursor:pointer}
.kpgl-lightbox button:hover{background:#f47721;border-color:#f47721}
.kpgl-lightbox .kpgl-close{top:15px;right:19px}
.kpgl-lightbox .kpgl-prev{left:13px;top:50%;transform:translateY(-50%)}
.kpgl-lightbox .kpgl-next{right:13px;top:50%;transform:translateY(-50%)}
.kpgl-lightbox .kpgl-progress{position:absolute;bottom:12px;color:#cbd8e6;font-size:.82rem}
@media (max-width:900px){body.single-kp_project .kpgl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media (max-width:600px){body.single-kp_project .kpgl-hero{padding:40px 0 45px}body.single-kp_project .kpgl-hero h1{font-size:clamp(1.8rem,7vw,2.35rem)}body.single-kp_project .kpgl-section{padding:30px 0 55px}body.single-kp_project .kpgl-intro{align-items:flex-start;flex-direction:column;gap:15px;margin-top:24px}body.single-kp_project .kpgl-grid{grid-template-columns:1fr;gap:14px}body.single-kp_project .kpgl-grid .kpgl-photo{aspect-ratio:4/3}.kpgl-lightbox{padding:55px 44px 65px}.kpgl-lightbox img{max-height:calc(100vh - 160px)}.kpgl-lightbox button{height:36px;width:36px;font-size:23px}.kpgl-lightbox .kpgl-prev{left:4px}.kpgl-lightbox .kpgl-next{right:4px}}
@media (prefers-reduced-motion:reduce){body.single-kp_project .kpgl-grid .kpgl-thumb{transition:none}}
