.case-list,.case-latest{padding-bottom:80px}
.case-latest{padding-top:64px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px}
.case-list .case-grid:has(> :only-child),.case-latest .case-grid:has(> :only-child){grid-template-columns:minmax(0,380px);justify-content:center}
.case-card{border:1px solid #deded5;border-radius:20px;overflow:hidden;background:#fff}
.case-card[hidden]{display:none}
.case-card,.case-card>a{height:auto}
.case-card>a{display:block;color:inherit;text-decoration:none}
.case-card-body{padding:24px}
.case-card h2{font-size:22px;line-height:1.45;margin:10px 0}
.case-card p{line-height:1.7}
.case-card time{font-size:14px;color:#666}
.case-read{display:block;margin-top:20px;font-weight:700;color:#31594c}
.case-filters{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin-bottom:20px}
.case-filters label{display:grid;gap:8px}
.case-filters select{padding:12px 30px 12px 12px;border:1px solid #babeb6;border-radius:8px;background:white;font:inherit}

.case-card-media{position:relative;overflow:hidden;background:#142923}
.case-card-media::after{content:"";position:absolute;inset:15% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.86));pointer-events:none}
.case-card-media.has-cover::after,.case-card-media.has-generated::after{display:none}
.case-card-media img{display:block;width:100%;height:240px;object-fit:cover}
.case-card-media.has-cover img{height:auto;aspect-ratio:4/3;object-fit:contain}
.case-card-media.has-generated img{height:auto;aspect-ratio:1;object-fit:contain;background:#063ba7}
.case-card-keyword{position:absolute;bottom:12px;left:14px;right:14px;z-index:1;color:#fff;font-weight:900;line-height:1.12;letter-spacing:-.045em;word-break:keep-all;text-shadow:0 3px 7px #000,0 1px 2px #000}
.case-card-location{display:block;font-size:clamp(21px,2.3vw,29px);-webkit-text-stroke:.35px #122017}
.case-card-keyword strong{display:table;max-width:100%;margin:7px 0 5px;padding:3px 8px 6px;background:#d0ef87;color:#173828;font-size:clamp(34px,3.6vw,48px);line-height:1.05;text-shadow:none;overflow-wrap:anywhere;box-shadow:0 3px 10px #0008}
.case-card-phone{display:block;font-size:clamp(18px,2.1vw,27px);letter-spacing:-.025em;-webkit-text-stroke:.3px #122017}

.case-detail{width:min(860px,calc(100% - 40px));max-width:860px;padding-top:35px;padding-bottom:55px}
.case-heading{margin:45px 0 30px}
.case-heading h1{font-size:clamp(28px,4vw,44px);line-height:1.4;word-break:keep-all}
.case-heading .lead{margin:22px 0}
.case-photo{margin:35px 0}
.case-photo img{display:block;width:100%;height:auto;max-width:100%;max-height:700px;object-fit:contain;border-radius:18px;background:#f2f2ed}
.case-photo figcaption,.case-video figcaption,.case-thumbnail-body figcaption{padding-top:12px;color:#62685f;line-height:1.6}
.case-detail section{margin:38px 0}
.case-detail section p{line-height:1.9;overflow-wrap:anywhere}
.case-detail h2{font-size:26px;margin-bottom:16px}
.case-facts{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:25px;background:#eef1e9;border-radius:16px}
.case-facts dt{font-weight:700;margin-bottom:8px}
.case-facts dd{margin:0;line-height:1.7}
.case-links{display:flex;gap:12px;flex-wrap:wrap}
.case-contact{padding:30px;background:#edf1ea;border-radius:20px}
.breadcrumb{font-size:14px;line-height:1.8}
.case-detail .button{white-space:normal}
.case-process-steps{list-style:none;display:grid;gap:18px;padding:0;margin:22px 0}
.case-process-steps li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:15px;border:1px solid #e3e5dd;border-radius:16px;padding:22px;background:#fff}
.case-step-marker{font-size:12px;font-weight:900;letter-spacing:.04em;color:#47614c;padding-top:6px;overflow-wrap:anywhere}
.case-process-steps h3{margin:0 0 12px;font-size:21px;line-height:1.4}
.case-process-steps p{margin:0 0 11px}
.case-video{max-width:600px;margin:32px auto}
.case-video figure{margin:0}
.case-video video{display:block;width:100%;max-width:100%;max-height:640px;object-fit:contain;background:#111}
.case-thumbnail-body{max-width:520px;width:100%;margin:28px auto}
.case-thumbnail-body img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:18px;background:#063ba7}
.case-tags{margin:28px 0}
.case-tags h2{font-size:18px}
.case-tags ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.case-tags li{max-width:100%;overflow-wrap:anywhere;padding:6px 12px;border:1px solid var(--line,#ddd);border-radius:20px;font-size:14px}

.case-business-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:26px 0 30px;padding:16px 20px;border:1px solid #d8e3d5;border-radius:14px;background:#f3f7f1}
.case-business-links span{margin-right:auto;color:#274e3d;font-size:14px;font-weight:800}
.case-business-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid #b8cbb8;border-radius:8px;background:#fff;color:#264e3e;font-size:14px;font-weight:800;text-decoration:none}
.case-business-links a:hover{border-color:#31594c;background:#eaf3e6}
.case-business-links a:focus-visible{outline:3px solid #31594c;outline-offset:2px}
.case-business-links .place-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:9px 16px;border-radius:10px;font-size:14px;font-weight:800;line-height:1.2;box-shadow:0 3px 10px #213d3914}
.case-business-links .place-link:hover{transform:translateY(-2px);filter:brightness(.97)}
.case-business-links .place-link-naver{background:#03c75a;border:2px solid #03c75a;color:#fff}
.case-business-links .place-link-google{background:#fff;border:2px solid #4285f4;color:#174ea6}

.case-related{width:min(860px,calc(100% - 40px));max-width:860px;border-top:1px solid #e3e5dd;padding-top:26px;padding-bottom:90px}
.case-related h2{font-size:24px;margin:0 0 20px}
.case-related-list{border-top:1px solid #e3e5dd}
.case-related-row{border-bottom:1px solid #e3e5dd}
.case-related-row a{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;color:inherit;text-decoration:none}
.case-related-row img{display:block;width:88px;height:66px;object-fit:cover;border-radius:7px;background:#e7eee8}
.case-related-row img.is-generated{object-fit:contain}
.case-related-row h3{margin:0;font-size:17px;line-height:1.45}
.case-related-row a:hover h3{text-decoration:underline}

@media(max-width:900px){
  .case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .case-grid{grid-template-columns:1fr}
  .case-list .case-grid:has(> :only-child),.case-latest .case-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}
  .section-heading{display:block}
  .case-facts{grid-template-columns:1fr}
  .case-filters{gap:16px}
  .case-list,.case-latest{padding-bottom:45px}
  .case-detail h2{font-size:23px}
  .case-card-media img{height:245px}
  .case-card-media.has-cover img,.case-card-media.has-generated img{height:auto}
  .case-card-location{font-size:23px}
  .case-card-keyword strong{font-size:43px}
  .case-card-phone{font-size:21px}
  .case-process-steps li{grid-template-columns:1fr;gap:5px;padding:17px}
  .case-process-steps h3{font-size:19px}
  .case-business-links span{width:100%}
  .case-business-links a{flex:1;min-width:130px}
  .case-related-row a{grid-template-columns:72px minmax(0,1fr);gap:12px}
  .case-related-row img{width:72px;height:54px}
  .case-related-row h3{font-size:15px}
}
