.heritage-aerial{position:relative;display:block;width:100%;aspect-ratio:16/10;padding:0;border:0;overflow:hidden;background:var(--map-paper);cursor:zoom-in;color:inherit}
.heritage-aerial>img{width:100%;height:100%;object-fit:contain;background:var(--map-paper)}
.heritage-aerial-focus{position:absolute;inset:0;background-image:url('/assets/images/heritage/aerial-1948.webp');background-repeat:no-repeat;background-size:285% auto;background-position:64% 52%;opacity:0;transform:scale(1.025);transition:opacity .7s ease,transform 1s ease}
.heritage-aerial-label{position:absolute;left:14px;bottom:14px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(49,92,87,.86);color:#fff;font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:opacity .35s ease,transform .35s ease}
.heritage-aerial.is-zoomed{cursor:zoom-out}
.heritage-aerial.is-zoomed .heritage-aerial-focus,.heritage-aerial.is-zoomed .heritage-aerial-label{opacity:1;transform:none}
.heritage-aerial-hint{font-size:12px!important;margin-top:10px!important;color:var(--ink-soft)!important}
.press-feature{display:grid;grid-template-columns:.72fr 1.28fr;gap:34px;align-items:center;margin:70px 0;padding:34px;border-radius:24px;background:#f2ede3;border:1px solid var(--line)}.press-mark{display:flex;align-items:center;justify-content:center;min-height:260px;padding:28px;border-radius:16px;background:#fff;color:#111;text-align:center;border:1px solid rgba(0,0,0,.08)}.press-mark-inner{max-width:280px}.press-masthead{font-family:Georgia,serif;font-size:38px;font-weight:700;letter-spacing:-.04em;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:22px}.press-headline{font-family:Georgia,serif;font-size:32px;line-height:1.05}.press-feature .eyebrow{color:var(--clay);margin-bottom:6px}.press-feature h2{margin:8px 0 16px}.press-feature p{margin:0 0 16px}.press-feature .source{font-size:13px;color:var(--ink-soft)}
@media(max-width:820px){.press-feature{grid-template-columns:1fr}.press-mark{min-height:210px}}
@media(prefers-reduced-motion:reduce){.heritage-aerial-focus,.heritage-aerial-label{transition:none}}

.heritage-map{display:block;width:100%;aspect-ratio:16/10;padding:0;border:0;overflow:hidden;background:var(--map-paper);cursor:zoom-in}
.heritage-map img{width:100%;height:100%;object-fit:cover}
.heritage-map:focus-visible,.heritage-aerial:focus-visible{outline:3px solid #246c75;outline-offset:3px}
.heritage-fullscreen[hidden]{display:none!important}
body.heritage-modal-open{overflow:hidden}
.heritage-fullscreen{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;background:#172120;color:white;overscroll-behavior:contain}
.heritage-fullscreen-header{display:flex;align-items:center;gap:14px;min-height:62px;padding:8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));background:#243632}
.heritage-fullscreen-title{font-size:16px}
.heritage-fullscreen-header span{margin-left:auto;font-size:12px;color:#d4dfdc}
.heritage-fullscreen button{color:#fff;background:#36504b;border:1px solid #829c95;border-radius:8px;min-width:43px;min-height:43px;font:inherit;cursor:pointer}
.heritage-fullscreen button:focus-visible{outline:3px solid white;outline-offset:2px}
.heritage-fullscreen-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab;user-select:none}
.heritage-fullscreen-stage:active{cursor:grabbing}
.heritage-fullscreen-stage img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:fill;transform-origin:center;pointer-events:none}
.heritage-fullscreen-tools{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:flex;gap:8px;padding:5px;border-radius:12px;background:rgba(22,33,30,.85)}
.heritage-fullscreen-tools button[data-action=fit]{padding-inline:12px}
@media(max-width:600px){.heritage-fullscreen-header span{display:none}.heritage-fullscreen-header button{margin-left:auto}}

/* Archive buttons preserve fast-loading timeline previews while full-resolution scans load on demand. */
.heritage-extra-scans{margin:34px 0 20px;padding:24px;border:1px solid var(--line,#d5d3cc);border-radius:18px;background:var(--map-paper,#f4f1e9)}
.heritage-extra-scans h2{margin:0 0 10px;font-size:clamp(22px,2.5vw,29px)}
.heritage-extra-scans p{margin:0 0 17px}
.heritage-archive-actions{display:flex;flex-wrap:wrap;gap:10px}
.heritage-archive-open{display:inline-flex;align-items:center;gap:10px;justify-content:space-between;text-align:left;font:inherit;font-size:14px;font-weight:650;line-height:1.25;background:#fff;color:var(--ink,#243632);border:1px solid var(--line,#d5d3cc);border-radius:10px;padding:12px 15px;cursor:zoom-in}
.heritage-archive-open:hover{border-color:#527f76;background:#f5faf7}
.heritage-archive-open:focus-visible{outline:3px solid #246c75;outline-offset:3px}
.heritage-fullscreen-stage.is-loading::after,.heritage-fullscreen-stage.load-error::after{content:"Loading original high-resolution scan…";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;font-size:14px;text-align:center;color:#d4dfdc;pointer-events:none}
.heritage-fullscreen-stage.load-error::after{content:"The original scan could not be loaded. Please try again."}
@media(max-width:600px){.heritage-extra-scans{padding:18px}.heritage-archive-open{width:100%}}

/* Centred pop-up: the heritage page and its interpretation remain visible around the map. */
.heritage-fullscreen{
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  padding:clamp(10px,3vw,30px);
  background:rgba(13,27,24,.34);
}
.heritage-fullscreen-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(1100px,84vw);
  height:min(760px,76vh);
  height:min(760px,76dvh);
  overflow:hidden;
  background:#172120;
  border:1px solid rgba(255,255,255,.3);
  border-radius:17px;
  box-shadow:0 18px 56px rgba(0,0,0,.35);
}
.heritage-fullscreen-header{flex-shrink:0}
.heritage-fullscreen-stage{flex:1;min-height:0}
@media(max-width:700px){
 .heritage-fullscreen{padding:10px;background:rgba(13,27,24,.24)}
 .heritage-fullscreen-panel{
  width:min(100%,560px);
  height:76vh;
  height:76dvh;
  border-radius:12px;
 }
}
