.case-hero { padding-top: 58px; padding-bottom: 52px; }
.case-back { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 44px; color: var(--color-primary, #3445e9); font-size: 13px; font-weight: 650; }
.case-kicker { margin: 0 0 20px; font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; color: var(--color-primary, #3445e9); }
.case-title { max-width: 1000px; margin: 0; font-size: clamp(42px, 6.4vw, 86px); font-weight: 600; line-height: 1.04; letter-spacing: -.055em; text-wrap: balance; }
.case-lead { max-width: 760px; margin: 28px 0 0; font-size: clamp(18px, 2vw, 22px); line-height: 1.6; color: #5d6177; }
.case-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 42px 0 0; padding-top: 25px; border-top: 1px solid #dfe2ee; }
.case-meta dt, .case-meta .meta-label { margin: 0 0 8px; font-size: 11px; font-weight: 650; color: #6c7083; text-transform: uppercase; letter-spacing: .08em; }
.case-meta dd, .case-meta .meta-value { margin: 0; font-size: 14px; font-weight: 550; line-height: 1.5; }
.case-meta a { color: var(--color-primary, #3445e9); text-decoration: underline; text-underline-offset: 4px; }
.case-cover { overflow: hidden; margin: 0; border-radius: 22px; background: #e9eaf5; }
.case-cover img { display: block; width: 100%; max-height: 710px; object-fit: contain; }
.case-cover figcaption { padding: 16px 24px; color: #62677b; font-size: 12px; }
.case-section { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr); gap: 72px; padding-top: 72px; padding-bottom: 72px; border-bottom: 1px solid #dfe2ee; }
.case-section-title { margin: 0; max-width: 280px; font-size: clamp(25px, 3vw, 34px); line-height: 1.2; letter-spacing: -.035em; font-weight: 550; }
.case-copy { min-width: 0; font-size: 16px; line-height: 1.85; color: #575d72; }
.case-copy > :first-child { margin-top: 0; }
.case-copy p { margin: 0 0 20px; }
.case-copy h3 { margin: 28px 0 12px; color: #16182a; font-size: 20px; line-height: 1.4; letter-spacing: -.015em; font-weight: 600; }
.case-copy h3:first-child { margin-top: 0; }
.case-copy ul, .case-copy ol { display: grid; gap: 10px; margin: 18px 0 24px; padding-left: 20px; list-style: disc; }
.case-copy li::marker { color: #8153d7; }
.case-copy a { color: #3445e9; text-decoration: underline; text-underline-offset: 4px; }
.case-copy strong { color: #16182a; font-weight: 650; }
.case-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0 0 28px; }
.case-fact { border-left: 2px solid #8153d7; padding: 0 0 0 18px; }
.case-fact strong { display: block; font-size: 36px; font-weight: 550; line-height: 1.3; letter-spacing: -.045em; color: #3445e9; }
.case-fact span { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; }
.case-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; margin: 36px 0 0; }
.case-gallery > figure { min-width: 0; margin: 0; }
.case-gallery img { display: block; width: 100%; height: auto; border-radius: 12px; background: #e9eaf4; }
.case-gallery img.comparison-artwork { background: #26283e; }
.case-gallery figcaption { padding-top: 12px; color: #62677b; font-size: 12px; line-height: 1.6; }
.case-gallery .gallery-wide, .case-gallery figure:only-child { grid-column: 1 / -1; }
.case-gallery a { display: block; }
.case-gallery-phones { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-gallery-phones img { max-height: 660px; object-fit: contain; padding: 12px; }
.case-gallery-heading { margin: 0 0 14px; font-size: 28px; font-weight: 550; letter-spacing: -.035em; }
.case-notes { margin-top: 32px; border-top: 1px solid #dfe2ee; border-bottom: 1px solid #dfe2ee; }
.case-notes summary { cursor: pointer; padding: 24px 0; color: #16182a; font-size: 16px; font-weight: 650; }
.case-notes summary::marker { color: #8153d7; }
.case-full-notes { padding: 4px 0 30px; }
.case-full-notes h3 { padding-top: 16px; margin-top: 28px; border-top: 1px solid #e3e5ef; }
.case-full-notes p { margin-bottom: 10px; }
.case-next { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-top: 68px; padding-bottom: 72px; }
.case-next p { margin: 0 0 12px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #6c7083; }
.case-next h2, .case-next h3 { margin: 0; max-width: 680px; font-size: clamp(25px, 4vw, 46px); font-weight: 550; letter-spacing: -.04em; line-height: 1.2; }
.case-next a:not(.btn) { color: #3445e9; }
.case-source-note { font-size: 13px; color: #6c7083; }
@media (max-width: 760px) {
 .case-hero { padding-top: 32px; padding-bottom: 32px; }
 .case-back { margin-bottom: 30px; }
 .case-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin-top: 30px; }
 .case-section { grid-template-columns: 1fr; gap: 28px; padding-top: 44px; padding-bottom: 44px; }
 .case-section-title { max-width: 100%; }
 .case-lead { margin-top: 22px; }
 .case-cover { border-radius: 14px; }
 .case-cover figcaption { padding: 12px 16px; }
 .case-gallery { gap: 20px 14px; }
 .case-gallery-phones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .case-facts { gap: 14px; }
 .case-fact { padding-left: 12px; }
 .case-fact strong { font-size: 30px; }
 .case-next { align-items: flex-start; flex-direction: column; padding-top: 44px; padding-bottom: 48px; }
}
@media (max-width: 440px) {
 .case-gallery:not(.case-gallery-phones) { grid-template-columns: 1fr; }
 .case-facts { grid-template-columns: 1fr; gap: 20px; }
 .case-fact { display: flex; align-items: center; gap: 16px; }
 .case-fact strong { min-width: 68px; }
 .case-fact span { margin-top: 0; }
}
