.cases-page :is(h1,h2,h3) { font-family:var(--hot-font); font-weight:900; }
.cases-page .sh-art.cases-hero-illustration { width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; transform:none; }
.cases-page .cases-hero-illustration img { display:block; width:100%; height:auto; object-fit:contain; filter:none; }
.cases-page .cases-index { padding:24px 0; }
.cases-jump { display:flex; flex-wrap:wrap; gap:16px; }
.cases-page .cases-index .cases-jump a { color:#111; background:transparent; font-size:16px; line-height:1.5; display:inline-flex; align-items:center; min-height:48px; padding:8px 24px; border:1px solid #444; border-radius:999px; font-weight:700; text-decoration:none; }
.cases-page .cases-index .cases-jump a:hover, .cases-page .cases-index .cases-jump a:focus-visible { border-color:#d62a1a; color:#d62a1a; }
.cases-page .case-story { scroll-margin-top:80px; }
.case-heading { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:16px 24px; margin-bottom:40px; }
.case-number { color:var(--or); font:900 40px/1.2 var(--hot-font); }
.wh .case-number { color:#d62a1a; }
.case-category { margin-bottom:16px; font-size:14px; font-weight:700; }
.cases-page .case-heading h2 { font-size:clamp(28px,3.2vw,44px); line-height:1.35; margin:0; }
.case-story-grid { display:grid; gap:32px; align-items:start; }
.case-photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cases-page figure { min-width:0; }
.case-photo-pair figure,.case-delivery-photo { margin:0; }
.case-photo-pair img { display:block; width:100%; height:auto; aspect-ratio:1320/1624; object-fit:contain; background:#eee; }
.case-delivery-photo img { display:block; width:100%; height:auto; }
.case-story figcaption { padding-top:16px; font-size:14px; line-height:1.7; color:#555; }
.bk.case-story figcaption { color:#c9c9c9; }
.case-explanation dl { margin:0 0 24px; }
.case-explanation dl > div { border-top:1px solid #ccc; padding:24px 0; }
.bk .case-explanation dl > div { border-color:#444; }
.case-explanation dt { font-size:16px; font-weight:900; margin-bottom:8px; }
.case-explanation dd { margin:0; color:#444; line-height:1.8; }
.bk .case-explanation dd { color:#c9c9c9; }
.case-explanation .btn { white-space:normal; text-align:center; }
.cases-social .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px 32px; }
.cases-page .cases-social h2 { font-size:28px; }
.cases-social .copy { margin-bottom:0; }
.cases-social .btn,.cases-final .btn { white-space:normal; text-align:center; padding:12px 24px; }
.cases-page .cases-final .copy { margin-top:24px; }
@media(min-width:840px) { .case-story-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:48px; } .case-number { font-size:64px; } }

.case-facts { display:grid; gap:16px; margin:0 0 32px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.case-facts > div { min-width:0; border-top:2px solid #d62a1a; padding:16px 0; }
.case-facts span { display:block; margin-bottom:8px; font-size:13px; color:#555; }
.case-facts strong { display:block; color:#d62a1a; font:900 clamp(18px,2.6vw,32px)/1.4 var(--hot-font); }
.case-detail-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; margin-top:40px; }
.case-detail-gallery figure { margin:0; min-width:0; }
.case-detail-gallery img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; }
.case-detail-gallery .case-gallery-wide { grid-column:1/-1; }
.case-detail-gallery .case-gallery-wide img { aspect-ratio:4/3; }
@media(min-width:840px) { .case-detail-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; } .case-detail-gallery .case-gallery-wide { grid-column:1/-1; max-width:690px; } .case-detail-gallery-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:690px; } }
.bk .case-facts > div { border-color:var(--or); }
.bk .case-facts span { color:#c9c9c9; }
.bk .case-facts strong { color:var(--or); }
