/* JAPUMP AI Column Index v1.2 | scoped to the shortcode output. */
.jac-index{--jac-ink:#22252a;--jac-muted:#767c85;--jac-red:#c52031;--jac-line:#e5e7eb;--jac-bg:#f7f8fa;color:var(--jac-ink);font-family:inherit;max-width:1120px;margin:0 auto 96px;padding:0 22px;box-sizing:border-box}
.jac-index,.jac-index *,.jac-index *::before,.jac-index *::after{box-sizing:border-box}
.jac-index-intro{max-width:850px;margin:4px auto 44px;text-align:center}
.jac-index-intro p{font-size:15px;line-height:2.05;letter-spacing:.025em;color:#5a6068;margin:0}
.jac-topics{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--jac-line);padding:0 0 18px;margin:0 0 32px}
.jac-topic{display:inline-flex;align-items:center;justify-content:center;min-height:43px;font-size:13px;font-weight:600;line-height:1.45;color:#5f656e!important;text-decoration:none!important;border:1px solid #e5e7eb;border-radius:3px;padding:11px 19px;background:#fff;transition:background-color .2s,color .2s,border-color .2s;text-align:center}
.jac-topic:hover,.jac-topic:focus-visible{border-color:var(--jac-ink);color:var(--jac-ink)!important}
.jac-topic.is-current{background:var(--jac-ink);border-color:var(--jac-ink);color:#fff!important}
.jac-article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.jac-card{min-width:0;margin:0!important;background:#fff;border:1px solid var(--jac-line);overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s}
.jac-card:hover{transform:translateY(-2px);border-color:#cbd0d6;box-shadow:0 8px 26px rgba(20,30,40,.07)}
.jac-card-link{display:flex!important;flex-direction:column;width:100%;height:100%;padding:0!important;text-decoration:none!important;color:inherit!important;background:#fff}
.jac-card-media{display:block;position:relative;flex:0 0 auto;width:100%;aspect-ratio:16/9;overflow:hidden;background:#eef0f2}
.jac-card-thumb-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;margin:0!important;border:0!important;transition:transform .3s ease}
.jac-card:hover .jac-card-thumb-image{transform:scale(1.035)}
.jac-card-content{min-width:0;display:flex;flex-direction:column;flex:1;align-items:flex-start;padding:22px 24px 23px}
.jac-card-category{display:block;font-size:11px;line-height:1.45;letter-spacing:.04em;color:var(--jac-red);font-weight:700;margin-bottom:10px}
.jac-card-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere;word-break:normal;width:100%;font-size:17px!important;line-height:1.65!important;font-weight:700!important;letter-spacing:.01em;margin:0!important;color:var(--jac-ink)!important;border:0!important;padding:0!important;background:none!important;min-height:0}
.jac-card-date{display:block;font-size:11px;line-height:1.4;letter-spacing:.05em;color:#92979f;margin-top:auto;padding-top:18px}
.jac-card-link:focus-visible{outline:3px solid var(--jac-red);outline-offset:-3px}
.jac-empty{text-align:center;margin:16px 0 70px;padding:56px 20px;background:var(--jac-bg);font-size:14px;line-height:1.9;color:#747b84}
.jac-pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:40px}
.jac-page{display:flex;align-items:center;justify-content:center;min-width:39px;min-height:39px;padding:0 8px;border:1px solid var(--jac-line);text-decoration:none!important;font-size:13px;color:#545b64!important;background:white}
.jac-page.is-current{background:var(--jac-ink);border-color:var(--jac-ink);color:#fff!important}
.jac-page:not(.is-current):hover{border-color:#888}
.jac-page-nav{min-width:55px}
.jac-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:17px;color:#94999f;font-size:13px}
.jac-cta{display:flex;justify-content:space-between;align-items:center;gap:32px;background:#f4f5f6;border-top:3px solid var(--jac-red);margin-top:76px;padding:36px 40px}
.jac-cta-kicker{font-size:10px;letter-spacing:.19em;font-weight:700;color:var(--jac-red);margin:0 0 10px}
.jac-cta h2{font-size:21px!important;font-weight:700!important;line-height:1.5!important;margin:0 0 10px!important;padding:0!important;border:0!important;background:none!important;color:var(--jac-ink)!important}
.jac-cta p:not(.jac-cta-kicker){font-size:13px;line-height:1.85;color:#626872;max-width:575px;margin:0}
.jac-cta-button{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;gap:20px;background:var(--jac-red);border:1px solid var(--jac-red);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:700;padding:17px 22px;white-space:nowrap;transition:background-color .2s}
.jac-cta-button:hover{background:#a91b2a;color:#fff!important}
@media(max-width:767px){.jac-index{padding:0 16px;margin-bottom:64px}.jac-index-intro{margin:8px auto 26px;text-align:left}.jac-index-intro p{font-size:13px;line-height:1.95}.jac-topics{justify-content:flex-start;gap:7px;padding-bottom:18px;margin-bottom:22px}.jac-topic{font-size:11px;min-height:38px;padding:10px 12px}.jac-article-grid{grid-template-columns:1fr;gap:15px}.jac-card-content{padding:18px 20px 21px}.jac-card-title{font-size:15px!important;line-height:1.65!important}.jac-card-date{padding-top:15px}.jac-cta{display:block;margin-top:50px;padding:26px 22px}.jac-cta h2{font-size:18px!important}.jac-cta-button{margin-top:23px;width:100%}}
@media(max-width:360px){.jac-topic{padding:8px 9px}.jac-pagination{gap:5px}.jac-page{min-width:34px;min-height:36px;padding:0 5px}.jac-page-nav{min-width:46px;font-size:11px}.jac-page-ellipsis{min-width:12px}}
@media(prefers-reduced-motion:reduce){.jac-card,.jac-card-thumb-image,.jac-topic,.jac-cta-button{transition:none!important}.jac-card:hover{transform:none}.jac-card:hover .jac-card-thumb-image{transform:none}}

/* Archive wrapper only; supplied cards/design retained. */
.jac-index-page{padding-top:48px;background:#fff}.jac-index-page-heading{max-width:1120px;padding:0 22px;margin:0 auto 40px}.jac-index-page-heading nav{font-size:12px;line-height:1.8;color:#767c85;margin-bottom:34px}.jac-index-page-heading h1{font-size:clamp(26px,3.5vw,40px);font-weight:700;line-height:1.6;margin:0;text-align:center;color:#22252a}@media(max-width:767px){.jac-index-page{padding-top:28px}.jac-index-page-heading{padding:0 16px;margin-bottom:27px}.jac-index-page-heading nav{margin-bottom:25px}.jac-index-page-heading h1{text-align:left}}
