.sa-media{max-width:100%;margin:2.5rem auto}.sa-media .sa-media-stage img{display:block!important;margin:0!important;max-width:100%;height:auto;object-fit:contain}.sa-grid .sa-media-stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));align-items:center;gap:12px}.sa-grid .sa-media-stage img{width:100%!important}.sa-carousel .sa-media-stage{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0}.sa-carousel .sa-media-stage img{flex:0 0 100%;width:100%!important;min-width:100%;max-height:75vh;scroll-snap-align:start}.sa-carousel-controls{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:12px}.sa-carousel-controls button{background:var(--paper,#fff);color:var(--ink,#161616);border:1px solid currentColor;padding:6px 16px;cursor:pointer}.sa-comparison .sa-media-stage{position:relative;overflow:hidden;--compare:50%}.sa-comparison .sa-media-stage img:first-child{width:100%!important}.sa-comparison .sa-media-stage img:nth-child(2){position:absolute;inset:0;width:100%!important;height:100%!important;clip-path:inset(0 0 0 var(--compare));object-fit:contain}.sa-comparison .sa-media-stage:after{content:'';position:absolute;top:0;bottom:0;left:var(--compare);width:2px;background:white;box-shadow:0 0 2px black;pointer-events:none}.sa-slider-label{display:block;text-align:center;font:12px/1.5 Arial,sans-serif;margin-top:10px}.sa-compare-range{display:block;width:100%;accent-color:#b62623;cursor:ew-resize}.sa-media figcaption{font:13px/1.6 Arial,sans-serif;text-align:center;white-space:pre-wrap;margin-top:12px;color:var(--muted,#666)}
.sa-comparison .sa-media-stage{touch-action:pan-y;cursor:ew-resize}.sa-comparison .sa-media-stage img{pointer-events:none}[contenteditable=true] .sa-comparison .sa-media-stage img{pointer-events:auto}[data-theme=dark] .media-block-dialog{background:#1a1b1d;color:#eeeae5}
.sa-comparison .sa-media-stage:after{z-index:2;transform:translateX(-50%)}.sa-comparison .sa-compare-handle{position:absolute;z-index:3;left:var(--compare);top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid white;border-radius:50%;background:#171717cc;color:#fff;font:700 28px/1 Arial,sans-serif;box-shadow:0 1px 8px #0008;cursor:ew-resize;touch-action:none;user-select:none}.sa-comparison .sa-slider-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sa-comparison:focus-within .sa-compare-handle{outline:3px solid #b62623;outline-offset:3px}.sa-comparison .sa-media-stage{touch-action:none}
/* Keep draft galleries in the same layout as previews and published articles. */
.body-editor .sa-grid .sa-media-stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));align-items:center;gap:12px}
.sa-carousel .sa-media-stage{display:block;overflow:hidden;scroll-snap-type:none}
.sa-carousel .sa-media-stage img{display:none!important;min-width:0;max-height:none;scroll-snap-align:none;width:100%!important;height:auto!important;object-fit:contain}
.sa-carousel .sa-media-stage:not([data-sa-ready]) img:first-child,.sa-carousel .sa-media-stage img[data-sa-active="true"]{display:block!important}
.sa-filmstrip{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 8px;align-items:center;scrollbar-width:thin}
.sa-filmstrip button{display:block;flex:0 0 82px;width:82px;height:66px;padding:3px!important;border:2px solid transparent;cursor:pointer;background:#ddd;color:#000}
.sa-filmstrip button[aria-pressed="true"]{outline:3px solid var(--accent,#9a2727);outline-offset:-3px}
.sa-media .sa-filmstrip button img{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;margin:0!important;cursor:pointer!important;-webkit-user-drag:none!important}
.sa-filmstrip button:focus-visible,.sa-carousel-controls button:focus-visible{outline:3px solid var(--accent,#9a2727);outline-offset:2px}
.article-main:not(.story-note) > .sa-media{width:min(1160px,calc(100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)));max-width:none;margin:2.7em 0 2.7em 50%;transform:translateX(-50%)}
@media(min-width:681px){.article-main:not(.story-note) > .sa-media{width:min(690.2px,calc((100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)) * .595));max-width:none}}
@media(max-width:480px){.sa-filmstrip button{flex-basis:64px;width:64px;height:54px}}
/* Shared reader controls: the same contrast in previews and published articles. */
html[data-theme="dark"] .sa-carousel-controls button,
html[data-theme="dark"] .sa-filmstrip button{
 background:#eeeae5;color:#000;border-color:#aaa49d;
}
html[data-theme="dark"] .sa-carousel-controls button:hover,
html[data-theme="dark"] .sa-filmstrip button:hover{
 background:#efb7a6;color:#000;border-color:#efb7a6;
}
html[data-theme="dark"] .sa-carousel-controls{color:#eeeae5}
html[data-theme="dark"] .sa-filmstrip button[aria-pressed="true"]{
 outline:3px solid #ef9a83;outline-offset:-3px;border-color:#ef9a83;
}
html[data-theme="dark"] .sa-carousel-controls button:focus-visible,
html[data-theme="dark"] .sa-filmstrip button:focus-visible{
 outline:3px solid #ef9a83;outline-offset:2px;
}
/* Match the article photograph frame while writing, rather than filling the paper. */
.body-editor > figure:not(.course-video){width:min(1160px,calc(100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)));max-width:100%;margin-left:auto;margin-right:auto}
.article-main:not(.story-note) > figure:not(.course-video){width:min(1160px,calc(100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)));max-width:none;margin:2.7em 0 2.7em 50%;transform:translateX(-50%)}
@media(min-width:681px){
 .body-editor > figure:not(.course-video){width:min(690.2px,calc((100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)) * .595));max-width:100%}
 .article-main:not(.story-note) > figure:not(.course-video){width:min(690.2px,calc((100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)) * .595));max-width:none}
}

/* Grid galleries are ten percent wider; retain viewport limits on small screens. */
@media(min-width:681px){
 .body-editor > figure.sa-grid,.article-main:not(.story-note) > figure.sa-grid{width:min(759.22px,calc((100vw - clamp(24px,5vw,80px) - clamp(24px,5vw,80px)) * .6545))}
}
.sa-gallery{position:relative}.sa-gallery .sa-media-stage > img{cursor:zoom-in}
.sa-gallery-edit{position:absolute;right:6px;top:6px;width:30px;height:30px;padding:0!important;border:1px solid #888;border-radius:4px;background:#fff!important;color:#111!important;cursor:pointer;z-index:4;font:20px/1 Arial}
.sa-lightbox{position:fixed;inset:0;z-index:2147483647;background:#000e;display:flex;align-items:center;justify-content:center;padding:48px 20px}
.sa-lightbox > img{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100dvh - 96px)!important;object-fit:contain}
.sa-lightbox > button{position:absolute;top:12px;right:16px;background:#fff;color:#111;border:0;border-radius:4px;width:36px;height:36px;font:28px/1 Arial;cursor:pointer}

.media-block-images .media-image-card{position:relative}
.media-block-images .media-image-drag{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:grab;touch-action:none;user-select:none}
.media-block-images .media-image-drag img{pointer-events:none;-webkit-user-drag:none}
.media-image-drag span{display:block;font:12px/1.5 Arial,sans-serif;padding:5px}
.media-block-images .media-image-remove{position:absolute;top:6px;right:6px;z-index:2;width:26px;height:26px;padding:0;border:1px solid #888;border-radius:50%;background:#fff;color:#111;font:22px/1 Arial,sans-serif;cursor:pointer}
.media-block-images .is-dragging{outline:2px dashed var(--accent,#9a2727);outline-offset:3px}
.media-block-images .is-dragging .media-image-drag{cursor:grabbing}
.media-image-drag:focus-visible,.media-image-remove:focus-visible{outline:3px solid var(--accent,#9a2727);outline-offset:2px}

/* Keep ordinary photograph captions aligned with the writing desk. */
.article-main figure figcaption,.article-main .caption-text,.story-hero figcaption,.gallery-caption{text-align:center}
.article-main figure figcaption p{font:inherit;text-align:inherit;margin:0}
