/* P05/T03: existing Julong identity, editorial case cards and clear project stories. */
.jli-cases-page .jlk-intro,.jli-cases-page .jlk-case-header { padding:4.5rem 0 0; background:#f5f8fc; border-bottom:1px solid #dce5ef; }
.jli-cases-page .jlk-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-bottom:2rem; color:#68798c; font-size:.85rem; }
.jli-cases-page .jlk-breadcrumb a { color:#68798c; }
.jli-cases-page .jlk-breadcrumb a:hover { color:var(--jl-blue); }
.jli-cases-page .jlk-intro h1 { font-size:clamp(2.7rem,4.3vw,4.25rem); }
.jli-cases-page .jlk-intro-copy { max-width:51rem; margin:1.5rem 0 2.5rem; color:#627286; font-size:1.08rem; line-height:1.8; }
.jli-cases-page .jlk-filters { display:flex; flex-wrap:wrap; gap:0 2.25rem; }
.jli-cases-page .jlk-filter { display:inline-flex; align-items:center; min-height:58px; padding:.8rem 0; border-bottom:3px solid transparent; color:#56687b; font-weight:600; font-size:.94rem; transition:color .18s,border-color .18s; }
.jli-cases-page .jlk-filter:hover,.jli-cases-page .jlk-filter.is-active { color:var(--jl-blue); border-bottom-color:var(--jl-blue); }
.jli-cases-page a:focus-visible,.jlk-service-cases a:focus-visible { outline:2px solid var(--jl-blue); outline-offset:5px; }
.jlk-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.jlk-card { min-width:0; border:1px solid #dce5ef; background:#fff; transition:border-color .22s; }
.jlk-card-link { display:flex; flex-direction:column; height:100%; color:var(--jl-dark); text-decoration:none; }
.jlk-visual { position:relative; aspect-ratio:16/9; overflow:hidden; background:#eef3f9; }
.jlk-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.jlk-visual--redacted .jlk-image { object-fit:contain; }
.jlk-redaction { position:absolute; left:66%; top:34%; width:8%; height:18%; backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); background:rgb(65 59 47 / .25); clip-path:polygon(0 0,80% 18%,100% 100%,25% 80%); }
.jlk-card-body { display:flex; flex-direction:column; flex:1; padding:1.5rem; }
.jlk-tag { display:inline-block; color:var(--jl-blue); font-size:.75rem; letter-spacing:.09em; text-transform:uppercase; font-weight:600; }
.jli-page .jlk-card h2,.jli-page .jlk-card h3 { margin:.75rem 0 1rem; font-size:1.6rem; line-height:1.25; transition:color .2s; }
.jlk-card p { margin:0 0 1.5rem; color:#6b7a8c; font-size:.94rem; line-height:1.8; }
.jlk-card-read { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid #e4eaf1; color:var(--jl-blue); font-size:.9rem; font-weight:600; }
.jlk-card-read span { font-size:1.3rem; transition:transform .2s; }
.jlk-card:hover,.jlk-card:focus-within { border-color:var(--jl-blue); }
.jlk-card:hover h2,.jlk-card:hover h3,.jlk-card:focus-within h2,.jlk-card:focus-within h3 { color:var(--jl-blue); }
.jlk-card:hover .jlk-image { transform:scale(1.03); }
.jlk-card:hover .jlk-redaction { transform:scale(1.03); transform-origin:center; }
.jlk-card:hover .jlk-card-read span { transform:translateX(4px); }
.jli-cases-page .jlk-results { padding:4rem 0 5rem; scroll-margin-top:calc(var(--jl-header-h,80px) + 1rem); }
.jli-cases-page .jlk-results[aria-busy="true"] .jlk-grid { opacity:.45; }
.jli-cases-page .jlk-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-top:3rem; }
.jli-cases-page .jlk-pagination a,.jli-cases-page .jlk-pagination span { padding:.6rem 1rem; border:1px solid #dce5ef; color:var(--jl-blue); }
.jli-cases-page .jlk-pagination [aria-current="page"] { background:var(--jl-blue); color:#fff; }
.jli-cases-page .jlk-empty { min-height:12rem; color:#627286; }
.jli-cases-page .jlk-empty a { color:var(--jl-blue); text-decoration:underline; }
.jli-cases-page .jlk-cta { background:#081428 linear-gradient(105deg,rgb(8 20 40 / .84),rgb(8 20 40 / .68)); background-image:linear-gradient(105deg,rgb(8 20 40 / .84),rgb(8 20 40 / .68)),url('https://julong-sports.com/wp-content/uploads/2026/10/cycling-inquiry-background-ai-20261013.png'); background-size:cover; background-position:center; color:#fff; }
.jli-cases-page .jlk-cta-grid { display:flex; align-items:center; justify-content:space-between; gap:4rem; }
.jli-cases-page .jlk-cta-grid > div { max-width:49rem; }
.jli-cases-page .jlk-cta h2 { font-size:clamp(2rem,3vw,3rem); color:#fff; }
.jli-cases-page .jlk-cta p { margin:1.25rem 0 0; color:#d3dce7; line-height:1.8; }
.jli-cases-page .jlk-cta .jli-button { flex-shrink:0; }
.jli-cases-page .jlk-case-header { padding-bottom:4.5rem; }
.jli-cases-page .jlk-header-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.jli-cases-page .jlk-header-grid h1 { margin-top:1rem; font-size:clamp(2.5rem,3.6vw,3.75rem); }
.jli-cases-page .jlk-header-grid .jlk-intro-copy { margin-bottom:1.5rem; font-size:1rem; }
.jli-cases-page .jlk-body-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,210px); gap:clamp(2.5rem,5vw,5rem); align-items:start; }
.jli-cases-page .jlk-case-aside { position:sticky; top:calc(var(--jl-header-h,80px) + 2rem); align-self:start; padding:1.35rem 1.25rem; background:#f3f6fa; border-left:3px solid var(--jl-blue); }
.jli-cases-page .jlk-case-aside a,.jli-cases-page .jlk-service-link { color:var(--jl-blue); font-weight:600; font-size:.95rem; }
.jli-cases-page .jlk-case-aside a { display:flex; align-items:center; gap:.65rem; line-height:1.55; }
.jli-cases-page .jlk-case-aside a span { font-size:1.15em; transition:transform .2s ease; }
.jli-cases-page .jlk-case-aside a:hover span { transform:translateX(-3px); }
.jli-cases-page .jlk-story h2 { font-size:clamp(1.8rem,2.7vw,2.5rem); margin:2.75rem 0 1rem; }
.jli-cases-page .jlk-story h2:first-child { margin-top:0; }
.jli-cases-page .jlk-story p,.jli-cases-page .jlk-story li { color:#627286; font-size:1rem; line-height:1.9; }
.jli-cases-page .jlk-story ul { margin:1.25rem 0 0; padding:0; list-style:none; display:grid; gap:.9rem; }
.jli-cases-page .jlk-story li { position:relative; padding-left:1.65rem; }
.jli-cases-page .jlk-story li::before { content:'✓'; position:absolute; left:0; color:var(--jl-blue); }
.jli-cases-page .jlk-service-link { display:inline-block; margin-top:2.5rem; padding-top:1.25rem; border-top:1px solid #dce5ef; }
.jlk-service-cases .jlk-grid { margin-bottom:2rem; }
@media(max-width:1023px) {
 .jlk-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .jli-cases-page .jlk-header-grid { gap:2rem; }
 .jli-cases-page .jlk-body-grid { grid-template-columns:minmax(0,1fr) minmax(0,190px); gap:2.5rem; }
 .jli-cases-page .jlk-cta-grid { gap:2.5rem; }
}
@media(max-width:767px) {
 .jli-cases-page .jlk-intro,.jli-cases-page .jlk-case-header { padding-top:2.5rem; }
 .jli-cases-page .jlk-case-header { padding-bottom:3rem; }
 .jli-cases-page .jlk-breadcrumb { font-size:.8rem; margin-bottom:1.5rem; }
 .jli-cases-page .jlk-intro-copy { font-size:1rem; margin-bottom:1.75rem; }
 .jli-cases-page .jlk-filters { gap:0 1.5rem; }
 .jli-cases-page .jlk-filter { font-size:.9rem; min-height:50px; }
 .jlk-grid { grid-template-columns:1fr; }
 .jli-cases-page .jlk-results { padding:3rem 0; }
 .jli-cases-page .jlk-cta-grid { display:block; }
 .jli-cases-page .jlk-cta .jli-button { margin-top:2rem; }
 .jli-cases-page .jlk-header-grid,.jli-cases-page .jlk-body-grid { grid-template-columns:1fr; gap:2rem; }
 .jli-cases-page .jlk-case-aside { position:static; padding:1.1rem 1rem; }
 .jli-cases-page .jlk-story h2 { margin-top:2.2rem; }
}
@media(prefers-reduced-motion:reduce) { .jlk-card *,.jlk-card,.jlk-filter { transition:none!important; } }
