.lefn-cases-page { color:#173227; background:#fff; }
.lefn-cases-page *, .lefn-cases-page *::before, .lefn-cases-page *::after { box-sizing:border-box; }
.lefn-cases-page [hidden] { display:none !important; }
.lefn-cases-page a { text-decoration:none; }
.cases-container { width:min(1280px,calc(100% - 64px)); margin:0 auto; }
.lefn-cases-page .cases-hero { position:relative; display:flex; align-items:center; justify-content:center; height:300px; background:url('/template/index/static/images/lefn-cases/6f8338707d459717ae872ad09a2d75bf.jpg') center 43%/cover no-repeat; color:#fff; text-align:center; }
.lefn-cases-page .cases-hero::before { position:absolute; inset:0; background:rgba(7,29,19,.54); content:''; }
.lefn-cases-page .cases-hero > .content { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; padding:0 24px; }
.lefn-cases-page .cases-hero h1 { margin:0; color:#fff; font-size:48px; font-weight:800; line-height:72px; }
.lefn-cases-page .cases-hero .description { margin:16px 0 0; color:#fff; font-size:14px; font-weight:400; line-height:24px; }
.cases-content { padding:48px 0 110px; }
.cases-categories { display:flex; flex-wrap:wrap; gap:8px 36px; margin-bottom:44px; border-bottom:1px solid #e8ebeb; }
.cases-categories a { position:relative; display:block; padding:14px 0 18px; color:#4b574f; font-size:15px; line-height:1.5; white-space:nowrap; transition:color .2s; }
.cases-categories a:hover,.cases-categories a[aria-current] { color:#1c984a; }
.cases-categories a[aria-current]::after { position:absolute; right:0; bottom:-1px; left:0; height:3px; background:#36ac55; content:''; }
.cases-list-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 28px; }
.cases-list-head h2 { margin:0; color:#1a3022; font-size:28px; font-weight:600; line-height:1.4; scroll-margin-top:100px; }
.cases-result-count { color:#7e9183; font-size:13px; white-space:nowrap; }
.source-cases-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.source-case-card { min-width:0; border:1px solid #e3eae4; background:#fff; transition:transform .3s,box-shadow .3s; }
.source-case-card:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(25,55,33,.08); }
.source-case-image { height:245px; overflow:hidden; background:#edf3ed; }
.source-case-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.source-case-card:hover img { transform:scale(1.04); }
.source-case-copy { min-height:160px; padding:25px 28px 30px; }
.source-case-type { display:block; margin-bottom:12px; color:#348357; font-size:11px; font-weight:700; letter-spacing:.08em; }
.source-case-copy h2 { margin:0 0 10px; color:#1a3022; font-size:20px; font-weight:600; line-height:1.45; }
.source-case-copy p { margin:0; color:#728176; font-size:12px; line-height:1.85; }
.cases-load-wrap { display:flex; justify-content:center; margin-top:44px; }
.cases-load-wrap button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-width:168px; min-height:48px; padding:12px 24px; border:0; border-radius:0; background:#1ab04b; color:#fff; font:inherit; font-size:14px; font-weight:600; cursor:pointer; transition:background .2s ease; }
.cases-load-wrap button:hover { background:#11963d; color:#fff; }
.cases-load-wrap button .site-action-arrow { width:16px; height:16px; flex:none; }
.lefn-cases-page a:focus-visible,.lefn-cases-page button:focus-visible { outline:2px solid #18b446; outline-offset:4px; }
@media (max-width:1050px) { .source-cases-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:768px) {
  .cases-container { width:calc(100% - 40px); }
  .lefn-cases-page .cases-hero { height:336px; }
  .lefn-cases-page .cases-hero h1 { font-size:36px; line-height:54px; }
  .lefn-cases-page .cases-hero .description { font-size:13px; }
  .cases-content { padding:32px 0 80px; }
  .cases-categories { gap:0 24px; flex-wrap:nowrap; overflow-x:auto; margin-bottom:34px; scrollbar-width:none; }
  .cases-categories::-webkit-scrollbar { display:none; }
  .cases-categories a { flex:none; padding:15px 0 16px; font-size:14px; }
  .cases-list-head h2 { font-size:24px; }
  .source-cases-grid { grid-template-columns:1fr; gap:18px; }
  .source-case-image { height:230px; }
  .source-case-copy { min-height:0; padding:23px; }
}
@media (prefers-reduced-motion:reduce) { .source-case-card,.source-case-image img { transition:none; } }
