/* Genuine render slots. Midnight stages; no fabricated imagery. */
.pin.with-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;max-width:1320px;}
.hero-copy,.pin.with-media>*{min-width:0;}
.media-slot{margin:0 0 18px;min-width:0;max-width:100%;background:var(--midnight);border:1px solid var(--rule);border-radius:6px;overflow:hidden;}
.media-slot picture,.media-slot img{display:block;width:100%;}
.media-slot picture,.media-placeholder{aspect-ratio:var(--media-ratio,16/10);}
.media-slot img{height:100%;aspect-ratio:var(--media-ratio,16/10);object-fit:var(--media-fit,cover);background:var(--midnight);}
.media-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;text-align:center;background:var(--midnight);color:var(--bone);font:600 14px/1.4 Manrope,sans-serif;}
.media-placeholder-index{font:400 24px/1.2 Michroma,sans-serif;color:var(--ash);}
.media-placeholder small{font:400 11px/1.4 Manrope,sans-serif;color:var(--ash);}
.media-placeholder code{max-width:100%;overflow-wrap:anywhere;color:var(--ash);font:400 10px/1.5 monospace;}
.media-slot figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:10px 12px;border-top:1px solid var(--rule);color:var(--bone);font:600 11px/1.4 Manrope,sans-serif;}
.media-slot figcaption small{font-weight:400;color:var(--ash);}
.media-open{display:block;position:relative;width:100%;padding:0;border:0;background:var(--midnight);color:var(--bone);cursor:zoom-in;text-align:inherit;}
.media-open:focus-visible{outline:2px solid var(--bone);outline-offset:-4px;}
.media-enlarge{position:absolute;right:10px;bottom:10px;padding:5px 8px;background:var(--midnight);border:1px solid var(--rule);font:600 11px Manrope,sans-serif;}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0;min-width:0;}
.media-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0;min-width:0;}
.media-gallery .media-placeholder{font-size:12px;padding:12px;gap:7px;}
.media-wide{grid-column:1/-1;}
/* Expanded content can now exceed the old fixed-height placeholder allowance. */
.trk.is-open .cb{max-height:6000px;}
.amp-viewer-wrap{padding:28px max(18px,calc((100vw - 1180px)/2)) 36px;background:var(--midnight);}
.amp-viewer{max-width:1180px;margin:auto;border:1px solid var(--rule);border-radius:7px;padding:20px;}
.media-section-heading h2{font:400 clamp(18px,2.4vw,28px)/1.4 Michroma,sans-serif;margin:8px 0 18px;}
.amp-viewer-stage{position:relative;width:min(100%,820px);margin:auto;aspect-ratio:4/3;background:var(--midnight);border:1px solid var(--rule);border-radius:4px;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;}
.amp-viewer-stage.is-dragging{cursor:grabbing;}
.amp-viewer-stage:focus-visible{outline:2px solid var(--bone);outline-offset:4px;}
.amp-viewer-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;}
.amp-viewer-image[hidden],.viewer-placeholder[hidden]{display:none;}
.viewer-placeholder{position:absolute;inset:0;aspect-ratio:auto;}
.viewer-controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0 14px;}
.viewer-controls button,.media-dialog button{min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:4px;background:var(--midnight);color:var(--bone);font:600 14px Manrope,sans-serif;}
.viewer-controls button:disabled{opacity:.5;cursor:default;}
.viewer-controls label{display:flex;align-items:center;gap:10px;color:var(--ash);font:400 12px Manrope,sans-serif;}
.viewer-angle{width:clamp(90px,23vw,260px);accent-color:var(--bone);}
.viewer-position{min-width:100px;color:var(--bone);font:400 12px Manrope,sans-serif;}
.media-dialog{width:min(1100px,94vw);max-height:92dvh;margin:auto;padding:18px;border:1px solid var(--rule);border-radius:6px;background:var(--midnight);color:var(--bone);}
.media-dialog::backdrop{background:rgba(11,11,15,.95);}
.media-dialog-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:14px;}
.media-dialog h2{font:600 16px/1.4 Manrope,sans-serif;}
.media-dialog figure{margin:0;text-align:center;}
.media-dialog img{display:block;width:100%;max-height:calc(80dvh - 100px);object-fit:contain;}
.media-dialog-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:12px;}
.media-dialog button:focus-visible,.viewer-controls button:focus-visible{outline:2px solid var(--bone);outline-offset:3px;}
@media(max-width:900px){.pin.with-media{grid-template-columns:1fr;gap:24px;}.media-grid{grid-template-columns:1fr;}.media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.amp-viewer{padding:14px;}.amp-viewer-wrap{padding:18px 16px 24px;}.media-placeholder{font-size:13px;}.vigil-hero-shot{margin-top:12px;}.viewer-controls{gap:8px;}}
@media(max-width:500px){.media-gallery{grid-template-columns:1fr;}.viewer-controls label{gap:5px;}.viewer-position{width:100%;text-align:center;}.media-slot figcaption{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.media-slot *,.amp-viewer *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Compact mobile locator captions prevent pre-existing timeline-label collisions. */
@media(max-width:900px){.flag{font-size:0;}.flag::after{content:attr(data-short);font:600 8px/1.2 Manrope,sans-serif;letter-spacing:.03em;}}

/* Fixed-height loading UI prevents frame arrival from moving the page. */
.viewer-load-row{display:flex;align-items:center;justify-content:center;gap:12px;max-width:430px;height:28px;margin:8px auto 12px;}
.viewer-load-progress{flex:1;min-width:40px;max-width:170px;height:6px;accent-color:var(--bone);}
.viewer-load-status{flex:0 0 142px;white-space:nowrap;color:var(--ash);font:400 11px/1.4 Manrope,sans-serif;}
.viewer-position{white-space:nowrap;}
