/* Approved orbital map: fitted reading stage with unclipped SVG and compact timeline. */
body[data-page=work].work-main-map #opening h1{font-size:clamp(64px,7.4vw,190px);text-wrap:balance;max-width:min(100%,18ch)!important}
body[data-page=work].work-main-map #opening .audience-map.orbital-history{display:block;position:relative;width:calc(100vw - 48px)!important;max-width:none!important;margin:32px calc(50% - 50vw + 24px) 0!important;transform:none;opacity:1;--paper:#fafaf6;--ink:#172a32;--yellow:#ffc800;padding-bottom:calc(var(--history-chat,140px) + 32px);scroll-margin-top:calc(var(--history-header,80px) + 12px)}
.orbital-history .map-story{height:calc(100svh - var(--history-header,80px) - var(--history-chat,140px) - 56px);min-height:260px;max-height:1400px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;width:100%;margin:auto}
.orbital-history .map-wrap{position:relative;min-height:0;width:100%;display:flex;justify-content:center;align-items:center}
.orbital-history #map{display:block;width:100%;height:100%;object-fit:contain;overflow:visible}
.orbital-history button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;min-height:44px}
.orbital-history button:focus-visible{outline:2px solid #68548b;outline-offset:4px}
.orbital-history .activity-dot{transition:opacity .3s,transform .4s;transform-box:fill-box;transform-origin:center;pointer-events:none}.orbital-history .activity-dot.future{opacity:0;transform:scale(.4)}.orbital-history .activity-dot .halo{fill:#769c8f;opacity:.16}.orbital-history .activity-dot .core{fill:#547c6e;opacity:.7}.orbital-history .activity-dot .rim{fill:none;stroke:#87a398;stroke-width:.6;opacity:.7}.orbital-history .activity-dot .orbit-dot{fill:#416a60}.orbital-history .activity-dot .shine{fill:white;opacity:.8}.orbital-history .core{opacity:.5}.orbital-history .halo{fill:none;stroke:#719586;stroke-width:.5;opacity:.6}.orbital-history .shine{display:none}.orbital-history .office{transition:opacity .3s}.orbital-history .office.future{opacity:0}.orbital-history .office .pin{fill:var(--yellow);stroke:#172a32;stroke-width:1.3}.orbital-history .office .ring{fill:none;stroke:#e0b400;stroke-width:1.2;opacity:.6}.orbital-history .office text{fill:#172a32;font:600 9px Geist,sans-serif;paint-order:stroke;stroke:#fafaf6;stroke-width:4px;stroke-linejoin:round}.orbital-history.history-visible .office.active .ring{animation:orbital-office-arrive 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes orbital-office-arrive{from{transform:scale(.6);opacity:.9}to{transform:scale(1.6);opacity:0}}
.orbital-history .history-controls{width:min(84%,1100px);margin:auto}
.orbital-history .timeline{position:relative;padding-top:96px;margin:0 24px}
.orbital-history .rail{height:1px;background:#172a3259;position:relative;z-index:0}
.orbital-history .fill{position:absolute;inset:0 auto 0 0;background:#172a32;width:0;height:2px}
.orbital-history .year-needle{position:absolute;left:0;top:-48px;width:1px;height:53px;background:#172a32;transform:translateX(-50%)}
.orbital-history .timeline input{position:absolute;top:79px;left:0;width:100%;height:32px;opacity:0;cursor:ew-resize;z-index:2}
.orbital-history .timeline:has(input:focus-visible) .rail{outline:2px solid #547c6e;outline-offset:5px}
.orbital-history .milestones{position:relative;z-index:1;height:70px}
.orbital-history .milestones button{position:absolute;top:0;transform:translateX(-50%);font-size:clamp(13px,.9vw,22px);text-align:center;line-height:1.4;padding:24px 0 0;min-width:32px}
.orbital-history .milestones b{font-weight:500;color:#7b867e;transition:color 1s}.orbital-history .milestones .reached b{color:#172a32}
.orbital-history .milestones button span{display:block;font-size:clamp(9px,.6vw,15px);color:#657268}
.orbital-history .milestone-orbit{position:absolute;top:0;left:50%;--diameter:var(--bubble);width:1px;height:8px;transform:translate(-50%,-50%);border-radius:0;background:#87978c;border:0;transition:width 1.2s ease,height 1.2s ease,background 1.4s}
.orbital-history .reached .milestone-orbit{width:var(--diameter);height:var(--diameter);top:0;border-radius:50%;background:#b4c6bd;animation:milestone-pop .56s cubic-bezier(.16,.8,.25,1) both}
.orbital-history .milestone-orbit{transition:background 1.4s}
.orbital-history .milestones button:after{content:'';position:absolute;left:50%;top:-10px;width:1px;height:10px;background:#769c8f;opacity:0;transition:opacity .5s}
.orbital-history .milestones .reached:after{opacity:0}
.orbital-history .milestone-orbit:after{content:'';position:absolute;inset:-4px;border:1px solid #769c8f;border-radius:50%;opacity:0;pointer-events:none}
.orbital-history .reached .milestone-orbit:after{animation:milestone-burst .65s .05s ease-out both}
@keyframes milestone-pop{0%{transform:translate(-50%,-50%) scale(.12)}55%{transform:translate(-50%,-50%) scale(1.1)}78%{transform:translate(-50%,-50%) scale(.97)}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes milestone-burst{0%{opacity:0;transform:scale(.7)}25%{opacity:.45}100%{opacity:0;transform:scale(1.28)}}
.orbital-history.history-complete.history-visible .milestones button:last-child .milestone-orbit{animation:milestone-pop .56s cubic-bezier(.16,.8,.25,1) both,history-final-pulse 3.8s .65s ease-in-out infinite}
@keyframes history-final-pulse{50%{background:#91ad9f}}
.orbital-history .caption-track{position:absolute;top:0;left:0;width:100%;height:44px;pointer-events:none}
.orbital-history #chapter{position:absolute;top:0;transform:translateX(-50%);width:260px;box-sizing:border-box;padding:9px 12px;margin:0;border-radius:0;background:transparent;color:#293d34;font-size:clamp(14px,1vw,20px);line-height:1.35;text-align:center;white-space:nowrap}
.orbital-history #chapter:after{content:'';position:absolute;bottom:-7px;left:var(--pointer-x,0px);width:1px;height:7px;background:#547c6e;transform:translateX(-50%)}
.orbital-history .history-summary{display:flex;justify-content:center;margin-top:4px}
.orbital-history #play{white-space:nowrap;padding:2px 14px;border:1px solid #d2d9cf;border-radius:24px;font-size:clamp(12px,.75vw,20px);min-height:32px}
.orbital-history .history-preview{position:absolute;z-index:3;left:clamp(8px,var(--anchor-x),calc(100% - 240px));top:clamp(8px,var(--anchor-y),calc(100% - 160px));width:clamp(120px,14vw,240px);border:1px solid #dbe1d8;border-radius:12px;padding:6px;background:#fff;box-shadow:0 12px 32px #172a3217;color:#172a32;text-decoration:none;transform:translateY(-45%)}
.orbital-history .history-preview.on-right{left:auto;right:clamp(8px,calc(100% - var(--anchor-x)),calc(100% - 240px))}
.orbital-history .history-preview img{display:block;width:100%;height:clamp(72px,9vw,150px);object-fit:contain;background:#f5f6f2;border-radius:7px}
.orbital-history .history-preview span{display:block;font-size:clamp(11px,.8vw,18px);line-height:1.3;padding:6px 4px 2px}
.orbital-history .history-preview[hidden]{display:none}
.orbital-history .history-preview.arrive{animation:history-preview-arrive .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes history-preview-arrive{from{opacity:0;transform:translateY(-35%) scale(.92)}to{opacity:1;transform:translateY(-45%) scale(1)}}
@media(max-width:760px){body[data-page=work].work-main-map #opening h1{font-size:64px;max-width:min(100%,12ch)!important;text-wrap:balance}body[data-page=work].work-main-map #opening .audience-map.orbital-history{width:calc(100vw - 24px)!important;margin:24px calc(50% - 50vw + 12px) 0!important}.orbital-history .history-controls{width:calc(100% - 24px)}.orbital-history .map-story{max-height:540px;gap:4px}.orbital-history .history-summary{gap:8px}.orbital-history #chapter{font-size:12px;width:190px;padding:10px 8px}.orbital-history .milestones button{font-size:10px;padding-top:22px}.orbital-history .milestone-orbit{--diameter:calc(var(--bubble)*.75)}.orbital-history .timeline{margin:0 10px}.orbital-history .office text{font-size:11px}.orbital-history .history-preview{width:126px;padding:4px}.orbital-history .history-preview img{height:76px}.orbital-history .history-preview span{font-size:10px}.orbital-history .history-preview{left:clamp(4px,var(--anchor-x),calc(100% - 132px))}.orbital-history .history-preview.on-right{right:clamp(4px,calc(100% - var(--anchor-x)),calc(100% - 132px))}}
@media(max-height:600px){.orbital-history .map-story{gap:2px}.orbital-history .history-controls{width:min(76%,800px)}.orbital-history .milestones{height:65px}.orbital-history .history-summary{margin-top:0}}
@media(prefers-reduced-motion:reduce){.orbital-history *{animation:none!important;transition:none!important}}

/* Compact office dots with detached labels, and a quick circular cluster reveal. */
.orbital-history .office .office-label{font-size:8px}
.orbital-history .activity-dot:not(.future){animation:map-dot-pop .42s ease-out both}
.orbital-history .office:not(.future) .office-marker{animation:map-dot-pop .45s ease-out both;transform-box:fill-box;transform-origin:center}
@keyframes map-dot-pop{0%{opacity:0;transform:scale(.2)}65%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1)}}
@media(max-width:760px){.orbital-history .timeline{padding-top:85px}.orbital-history .timeline input{top:68px}.orbital-history .office .office-label{font-size:10px}}
@media(prefers-reduced-motion:reduce){.orbital-history *{animation:none!important;transition:none!important}}
.orbital-history .reached .milestone-orbit,.orbital-history .reached .milestone-orbit:after{animation-play-state:paused}.orbital-history.history-visible .reached .milestone-orbit,.orbital-history.history-visible .reached .milestone-orbit:after{animation-play-state:running}

/* Compact timeline: 40% of its former width, directly beside the map stage. */
.orbital-history .history-controls{width:min(33.6%,440px)}
.compact-map-story .history-controls{padding:12px 0 0}
.compact-map-story .compact-rail{height:2px;background:#182c3025;position:relative;margin:0 8px 26px}
.compact-progress{position:absolute;inset:0;background:#76877a80;transform:scaleX(0);transform-origin:left}
.compact-rail>span{position:absolute;width:8px;height:8px;border-radius:50%;background:#547c6e;top:-3px;transform:translateX(-50%)}
.compact-rail .start-dot{left:0}.compact-rail .end-dot{left:100%}
.compact-rail b{position:absolute;top:13px;left:50%;transform:translateX(-50%);font:400 12px Geist,sans-serif}
.compact-map-story .map-motion-control{display:block;margin:0 auto;padding:6px 12px;font-size:11px;color:#52665c}
.compact-map-story .intro-office{opacity:0}.compact-map-story.intro-running .intro-office{transform-box:fill-box;transform-origin:center;animation:office-intro-pop .68s var(--office-delay) cubic-bezier(.22,.8,.28,1) both}.compact-map-story.intro-complete .intro-office{opacity:1}.intro-halo{fill:#ffc800;opacity:.18}.intro-pin{fill:#ffc800;stroke:#ae8e17;stroke-width:.6}
.story-cluster{opacity:0;transform-box:fill-box;transform-origin:center}.story-cluster circle{fill:#769c8f;fill-opacity:.56;stroke:#547c6e;stroke-opacity:.35;stroke-width:.5}
.clusters-ready .story-cluster{animation:story-cluster-pop .55s var(--region-delay) cubic-bezier(.16,.8,.25,1) both}
.map-previews{position:absolute;inset:0;pointer-events:none}.story-preview{position:absolute;left:var(--region-x);top:var(--region-y);width:clamp(145px,15vw,255px);padding:7px;background:#fff;border:1px solid #dce2d9;border-radius:12px;box-shadow:0 14px 35px #17312920;opacity:0;will-change:opacity,transform;transform-origin:center bottom}
.story-preview img{width:100%;height:clamp(95px,9vw,155px);object-fit:contain;display:block;border-radius:6px}.story-preview span{display:block;font:400 12px/1.35 Geist,sans-serif;padding:7px 3px 2px;color:#243c32}
@keyframes office-intro-blink{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes story-cluster-pop{from{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@media(min-width:761px){body[data-page=work].work-main-map #opening .audience-map.orbital-history{margin-top:0!important;width:calc(100vw - 24px)!important;margin-left:calc(50% - 50vw + 12px)!important;margin-right:calc(50% - 50vw + 12px)!important}.compact-map-story .map-story{gap:0}.compact-map-story .map-wrap{align-items:flex-start}}
@media(max-width:760px){.orbital-history .history-controls{width:calc((100% - 24px)*.4)}.orbital-history .milestones button:not(:first-child):not(:last-child){display:none}.orbital-history .timeline{margin-inline:0}.orbital-history .caption-track,.orbital-history .year-needle{display:none}.orbital-history .timeline{padding-top:24px}.orbital-history .timeline input{top:8px}.orbital-history .milestones button span{display:none}}
@media(prefers-reduced-motion:reduce){.compact-map-story .story-cluster{opacity:1;transform:none}.compact-map-story .map-motion-control{display:none}}
/* Keep the short rail beside the map, clear of the floating composer. */
.compact-map-story .map-story{position:relative}
.compact-map-story .history-controls{position:absolute;top:62%;left:50%;transform:translateX(-50%);z-index:4}
@media(max-width:760px){.orbital-history .map-story{height:330px;max-height:330px}.orbital-history .milestone-orbit,.orbital-history .reached .milestone-orbit{width:8px;height:8px;border-radius:50%;--diameter:8px}.orbital-history .milestone-orbit:after{display:none}}

/* Each office lands once; the timeline is presentation, never a scrub control. */
@keyframes office-intro-pop{0%{opacity:0;transform:scale(.25)}65%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.compact-map-story.intro-running .intro-office{animation:none;opacity:1;transform:none}}

/* Owner correction: an unadorned, non-interactive timeline below the map. */
.compact-map-story .history-controls{position:relative;top:auto;left:auto;transform:none;margin:24px auto 0;padding:0;z-index:1}
.compact-rail>span{width:0;height:0;background:none;border:0;border-radius:0;top:0}
.compact-map-story .compact-rail{height:1px;background:#7a897326}
.compact-map-story .compact-progress{background:#7a89736b}
.compact-map-story .map-story{gap:8px}
@media(max-width:760px){.compact-map-story .history-controls{margin-top:18px}.compact-map-story .map-story{height:360px;max-height:360px}.compact-map-story .history-controls{width:40%}.compact-map-story .story-preview{width:130px}.compact-map-story .story-preview img{height:80px}}

/* Passive one-shot scale: no handle, input, or intermediate year labels. */
.compact-map-story .compact-rail{height:1px;margin-bottom:34px;background:#77816f18}
.compact-map-story .timeline-scale{position:absolute;inset:0;pointer-events:none}
.compact-map-story .scale-tick{position:absolute;left:calc(var(--tick)*100%);bottom:0;width:1px;height:9px;background:#526657;opacity:var(--intensity,.08)}
.compact-map-story .scale-tick.major{height:15px}
.compact-map-story .scale-tick:first-child{height:23px;width:2px}
.compact-map-story .scale-tick:last-child{height:19px}
.compact-map-story .compact-rail>.timeline-caption{position:absolute;top:-48px;width:max-content;max-width:210px;height:auto;border:0;border-radius:0;background:none;color:#263c2d;font:500 12px/1.35 Geist,sans-serif;white-space:nowrap;transition:opacity .7s}
.compact-map-story.timeline-finished .timeline-caption{opacity:1}
.compact-map-story .compact-progress{background:#76876b66;transition:opacity .7s}
.compact-map-story.timeline-finished .compact-progress{opacity:.35}
.compact-map-story .history-controls{margin-top:56px}
@media(max-width:760px){.compact-map-story .compact-rail>.timeline-caption{font-size:10px;top:-42px}.compact-map-story .history-controls{width:56%;margin-top:48px}.compact-map-story .scale-tick{height:7px}.compact-map-story .scale-tick.major{height:12px}}

/* One readable control at the left of the quiet timeline. */
.compact-map-story .map-motion-control{margin:0 auto 0 0;min-width:72px;min-height:44px;font-size:15px;padding:8px 0;color:#344b3e}

/* Individual bubbles follow timeline time, including pause and replay. */
.compact-map-story .story-cluster,.clusters-ready .story-cluster{animation:none;opacity:1;transform:none}
.story-cluster circle{transform-box:fill-box;transform-origin:center;opacity:0}
.compact-map-story.timeline-finished .map-motion-control{margin:8px auto 0}
