.up-case-jump { display: inline-block; padding: 10px 18px; border: 1px solid #87663e; border-radius: 999px; color: #5b4023; font-weight: 600; }
.up-case-note { max-width: 920px; margin: 0 auto 24px; color: #493c30; line-height: 1.7; }
.up-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 920px; margin: auto; }
.up-case-card { margin: 0; overflow: hidden; background: #fffdf9; border: 1px solid #dfd1bc; border-radius: 16px; }
.up-case-card__images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; background: #f5eee2; }
.up-case-card__images--composite { grid-template-columns: 1fr; }
.up-case-card__image { position: relative; display: block; }
.up-case-card__image:focus-visible, .up-case-jump:focus-visible { outline: 3px solid #805a2e; outline-offset: 3px; }
.up-case-card__img { display: block; width: 100%; height: auto; }
.up-case-card__label { position: absolute; top: 8px; left: 8px; padding: 3px 8px; border-radius: 5px; color: white; background: #3e3027; font-size: 12px; }
.up-case-card figcaption { padding: 16px; color: #352a22; font-size: 15px; line-height: 1.7; }
.up-case-dialog { max-width: min(95vw, 1200px); max-height: 95vh; border: 0; border-radius: 12px; padding: 16px; }
.up-case-dialog::backdrop { background: rgba(0,0,0,.8); }
.up-case-dialog img { display: block; max-width: 100%; max-height: 80vh; margin: auto; object-fit: contain; }
.up-case-dialog__close { display: block; margin: 0 0 12px auto; padding: 8px 14px; cursor: pointer; }
@media (max-width: 720px) { .up-case-grid { grid-template-columns: 1fr; } }

.up-case-cta { margin-top: 24px; }

.up-case-group { display: grid; align-content: start; gap: 12px; }
.up-case-group__heading { margin: 0; color: #493c30; font-size: 18px; }
