/* Contain overflow within the visual, never widen the article/page. */
.step-visual{display:block;min-width:0;max-width:100%;margin:28px 0;contain:inline-size}
.step-visual-scroll{min-width:0;max-width:min(100%,var(--visual-display-max,800px));margin-inline:auto;overflow-x:auto;border:1px solid var(--line,#D8DFD5);border-radius:10px;background:#fff;overscroll-behavior-inline:contain}
.step-visual-scroll picture{display:block;min-width:0;max-width:100%}
.step-visual-scroll img{display:block;width:100%;min-width:var(--visual-wide-min,0px);max-width:none;height:auto;object-fit:contain}
.step-visual figcaption{font-size:16px;line-height:1.6;color:var(--navy,#203D36);margin-top:12px;overflow-wrap:anywhere}
.step-visual-hint{font-size:14px;line-height:1.6;margin:8px 0}
.step-visual-links{display:flex;flex-wrap:wrap;gap:8px 20px;max-width:100%;margin:8px 0 12px;font-size:16px;line-height:1.6}
.step-visual-links a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.step-visual-details{font-size:18px;line-height:1.65;border-left:3px solid var(--copper,#9D5C38);padding:4px 0 4px 16px;overflow-wrap:break-word}
.step-visual-details p{margin:8px 0}
@media(max-width:740px){.step-visual-scroll img{min-width:var(--visual-mobile-min,0px)}.step-visual{margin-block:24px}}
@media print{.step-visual{contain:none;margin:18px 0;break-inside:auto}.step-visual-links,.step-visual-hint{display:none!important}.step-visual-scroll{overflow:visible;border:0;border-radius:0;break-inside:avoid}.step-visual-scroll img{width:100%;min-width:0;max-width:100%;height:auto}.step-visual figcaption{font-size:16px;color:#000}.step-visual-details{font-size:18px;border-color:#333}.step-visual-details p{orphans:3;widows:3}}

/* Keep portrait visual and its heading within a printed sheet. */
@media print{.step-visual-scroll{max-width:350px!important}}
