/* Actual source imagery, composed as a document on a desk. */
#neufreimann-intro .munich-feature { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,84px);align-items:center; }
#neufreimann-intro .munich-copy { min-width:0; }
#neufreimann-intro .munich-copy h2 { font-size:clamp(30px,3.2vw,48px);max-width:17ch; }
#neufreimann-intro .munich-copy .lead { font-size:clamp(18px,1.5vw,22px);line-height:1.65; }
#neufreimann-intro .munich-action { display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:18px;font-weight:600;color:#145f70;text-underline-offset:5px; }
.munich-desk { margin:0;padding:26px 18px 0;min-width:0;perspective:1100px;background:radial-gradient(ellipse at 50% 50%,#dbe5e2 0,transparent 70%); }
.munich-sheet { display:block;position:relative;padding:18px 18px 22px;background:#fff;color:#152630;text-decoration:none;transform:rotateY(-7deg) rotateX(7deg) rotateZ(3deg);box-shadow:1px 2px 1px #ccd4d4,8px 18px 25px -12px #173a465e,18px 38px 50px -26px #173a4666;border:1px solid #e1e7e4; }
.munich-sheet:focus-visible { outline:3px solid #126b78;outline-offset:7px; }
.munich-sheet-top { display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;font-size:12px;font-weight:600;letter-spacing:.07em; }
.munich-sheet img { display:block;width:100%;height:auto; }
.munich-sheet-title { display:block;margin-top:16px;font-size:clamp(19px,1.8vw,27px);font-weight:650; }
.munich-sheet-meta { display:block;margin-top:6px;font-size:12px;color:#49616a; }
.munich-desk figcaption { margin:34px 0 0;padding:0 10px;font-size:12px;line-height:1.6;color:#49616a; }
.munich-desk figcaption a { color:inherit;text-underline-offset:3px; }
/* Each viewport displays the SAME retained 152 x 105 px source. Crop boxes
   exactly match the viewBox coordinates in the next panel. No interpolation. */
.sat-zoom { margin:32px 0 24px;padding:28px;background:#edf3f2;border:1px solid #cbdad7;border-radius:4px; }
.sat-zoom-heading .sat-zoom-kicker { margin:0 0 12px;color:#286879;font-size:11px;font-weight:650;letter-spacing:.09em;line-height:1.6; }
.sat-zoom-heading h3 { margin:0;color:#152630;font-size:clamp(23px,3vw,30px);line-height:1.2; }
.sat-zoom-heading > p:last-child { margin:12px 0 24px;font-size:16px; }
.sat-zoom-sequence { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px; }
.sat-zoom-step { min-width:0;position:relative; }
.sat-zoom-step:not(:last-child)::after { content:'→';position:absolute;right:-22px;top:53%;color:#237b81;font-size:20px; }
.sat-zoom-label { display:flex;gap:8px;align-items:baseline;min-height:3em;margin:0 0 10px;font-size:14px;font-weight:600;line-height:1.5; }
.sat-zoom-label span { color:#237b81;font-size:12px; }
.sat-zoom-image { display:block;width:100%;aspect-ratio:1;overflow:hidden;background:#d5e1dd;border:1px solid #acbfbb; }
.sat-zoom-image image { image-rendering:pixelated; }
.sat-zoom-image rect { fill:none;stroke:#18ebdd;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1px #102e32); }
.sat-zoom-step .sat-zoom-scale { margin:8px 0 0;color:#49616a;font-size:12px;font-variant-numeric:tabular-nums; }
.sat-zoom figcaption { margin-top:24px;border-top:1px solid #cbdad7;padding-top:18px;font-size:13px;line-height:1.65;color:#49616a; }
.sat-zoom figcaption strong { color:#173c47; }
.sat-zoom figcaption a { color:#145f70; }
.sat-page .sat-schematic-intro { margin-top:32px;padding-left:16px;border-left:3px solid #75a8a6;font-size:15px; }
@media(max-width:760px) {
 #neufreimann-intro .munich-feature { grid-template-columns:minmax(0,1fr);gap:20px; }
 #neufreimann-intro .munich-copy h2 { max-width:none; }
 .munich-desk { max-width:540px;padding:16px 12px 0; }
 .munich-sheet { transform:rotateZ(2deg);padding:12px; }
 .munich-sheet-top { font-size:12px; }
 .sat-zoom { padding:18px; }
 .sat-zoom-sequence { grid-template-columns:minmax(0,1fr);gap:34px; }
 .sat-zoom-label { min-height:0; }
 .sat-zoom-image { max-height:340px; }
 .sat-zoom-step:not(:last-child)::after { content:'↓';right:50%;top:auto;bottom:-31px; }
}
@media print { .munich-sheet { transform:none;box-shadow:none; }.sat-zoom { break-inside:avoid; } }
/* The AOI is the recorded full image extent, never an inferred asset polygon. */
#neufreimann .aoi-figure { max-width:1060px;margin:32px auto;border:1px solid #c6d5d6;background:#f4f8f7;border-radius:6px;overflow:hidden;color:#19323d; }
.aoi-head { display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px; }
.aoi-head .aoi-kicker { margin:0 0 8px;font-size:11px;letter-spacing:.1em;font-weight:650;color:#386573; }
.aoi-head h3 { margin:0;font-size:clamp(20px,2vw,27px);line-height:1.35; }
.aoi-date { flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;color:#49616a; }
.aoi-map { position:relative;margin:0 16px;background:#d5e0df; }
.r61-aerial.aoi-figure .aoi-map img { display:block;width:100%;height:auto;border-radius:0; }
.aoi-outline { position:absolute;inset:0;border:3px dashed #c02599;box-shadow:inset 0 0 0 1px #fff,0 0 0 1px #fff;pointer-events:none; }
.aoi-map-label,.aoi-north { position:absolute;top:14px;background:#102d3de8;color:#fff;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.4; }
.aoi-map-label { left:14px;border-left:3px solid #f67bdd; }
.aoi-north { right:14px; }
.aoi-scale { position:absolute;left:3%;bottom:3%;width:13.4770%;min-width:0;font-size:11px;font-weight:650;color:#fff;text-shadow:0 1px 2px #001019,1px 0 2px #001019;white-space:nowrap; }
.aoi-scale > span { display:block;height:8px;border:2px solid #fff;border-top:0;margin-bottom:4px;filter:drop-shadow(0 1px 1px #001019); }
.r61-aerial.aoi-figure figcaption { padding:24px 28px 20px; }
.aoi-notes { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0; }
.aoi-notes dt { display:flex;gap:8px;align-items:baseline;font-size:15px;line-height:1.5;font-weight:650; }
.aoi-number { font-size:11px;color:#356775;font-variant-numeric:tabular-nums; }
.aoi-notes dd { margin:8px 0 0;font-size:13px;line-height:1.65;color:#49616a; }
.aoi-technical { margin-top:22px;border-top:1px solid #c6d5d6;padding-top:14px; }
.aoi-technical summary { cursor:pointer;font-size:13px;font-weight:600;min-height:32px; }
.aoi-technical p { font-size:13px;line-height:1.65; }
.aoi-credit { display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;margin-top:16px;font-size:11px;line-height:1.6;color:#49616a; }
.aoi-figure a { color:#145f70;text-underline-offset:3px; }
@media(max-width:760px) {
 .aoi-head { display:block;padding:20px; }
 .aoi-date { display:block;margin-top:10px; }
 .aoi-map { margin:0 10px; }
 .aoi-map-label,.aoi-north { top:8px;padding:4px 7px;font-size:10px; }
 .aoi-map-label { left:8px; }.aoi-north { right:8px; }
 .aoi-notes { grid-template-columns:minmax(0,1fr);gap:16px; }
 .r61-aerial.aoi-figure figcaption { padding:20px; }
 .aoi-scale { font-size:10px; }
}
/* Keep the three reading cues beside the image on desktop, in the same view. */
@media(min-width:1000px) {
 #neufreimann .aoi-figure { display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);max-width:1180px; }
 .aoi-figure .aoi-head { grid-column:1 / -1; }
 .aoi-figure .aoi-map { align-self:start;margin:0 0 20px 16px; }
 .r61-aerial.aoi-figure figcaption { padding:0 24px 20px; }
 .aoi-figure .aoi-notes { grid-template-columns:minmax(0,1fr);gap:17px; }
 .aoi-figure .aoi-notes dd { margin-top:5px; }
 .aoi-figure .aoi-technical { margin-top:16px; }
}
