.atlas-page{margin:0;background:var(--bg);color:var(--cream);font-family:var(--font-body,Arial,sans-serif);-webkit-font-smoothing:antialiased}
.atlas-page *{box-sizing:border-box}
.atlas-page button,.atlas-page a{-webkit-tap-highlight-color:transparent}
.atlas-page button{font:inherit;cursor:pointer}
.atlas-page button:focus-visible,.atlas-page a:focus-visible{outline:2px solid #8fb3d9;outline-offset:6px}
.atlas-page a{color:inherit;text-decoration:none}
.atlas-shell{width:min(1376px,100% - 112px);margin:0 auto}
.atlas-skip{position:absolute;left:20px;top:-100px;background:var(--cream);color:var(--bg)!important;padding:12px 18px;z-index:50}
.atlas-skip:focus{top:10px}
.atlas-header{height:103px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.atlas-wordmark{font-family:var(--font-display,Georgia,serif);font-size:32px;letter-spacing:-1.1px}
.atlas-wordmark span{color:var(--brass)}
.atlas-nav{display:flex;align-items:center;gap:32px;font-size:13px;color:var(--muted)}
.atlas-nav button{border:0;background:none;color:inherit;padding:10px 0}
.atlas-nav button:hover{color:#fef6e8}
.atlas-product-link{display:flex;gap:10px;align-items:center;margin-left:10px;font-size:12px;letter-spacing:.04em}
.atlas-product-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.2}
.atlas-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(42px,6.2vw,104px);align-items:center;padding:5px 0 22px}
.atlas-intro{padding:20px 0 34px}
.atlas-role{margin:0 0 29px;color:var(--brass);font-size:13px;font-weight:400;line-height:1.5}
.atlas-intro h1{font-family:var(--font-display,Georgia,serif);font-weight:400;letter-spacing:-.02em;font-size:clamp(51px,4.4vw,68px);line-height:1.065;margin:0;max-width:9.2em;text-wrap:pretty}
.atlas-description{font-size:15px;line-height:1.7;color:var(--muted);max-width:370px;margin:30px 0 0}
.atlas-actions{display:flex;align-items:flex-start;flex-direction:column;gap:20px;margin-top:34px}
.atlas-primary{border:1px solid #e9b46c;border-radius:40px;background:var(--brass);color:var(--bg);padding:16px 23px;display:inline-flex;gap:23px;align-items:center;font-size:14px!important;font-weight:500;transition:background .2s,transform .2s}
.atlas-primary:hover{background:#f7c78a;transform:translateY(-2px)}
.atlas-primary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}
.atlas-secondary{background:none;color:var(--cream);border:0;border-bottom:1px solid #606776;padding:0 0 5px;font-size:13px!important;transition:border-color .2s}
.atlas-secondary:hover{border-color:var(--brass)}
.atlas-visual{margin:0;align-self:start;min-width:0}
.atlas-painting-wrap{height:clamp(540px,45.8vw,664px);position:relative;overflow:hidden;border-radius:4px 4px 0 0;isolation:isolate;background:#5b5f55}
.atlas-painting{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;animation:atlas-settle 4.5s ease-out both}
.atlas-painting-wrap:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 26%,rgba(18,30,29,.03) 40%,rgba(18,30,29,.34) 100%);pointer-events:none}
.atlas-light{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 75% 20%,rgba(255,232,150,.14),transparent 47%);mix-blend-mode:screen;animation:atlas-light 4.5s ease-out both}
.atlas-context{position:absolute;z-index:1;left:28px;right:28px;bottom:32px;padding:25px 25px 18px;color:#f4eee2;background:rgba(32,47,47,.84);border:1px solid rgba(244,235,220,.27);box-shadow:0 16px 48px #162d2940;backdrop-filter:blur(14px);border-radius:10px}
.atlas-context-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:21px;font-family:var(--font-display,Georgia,serif);letter-spacing:-.025em}
.atlas-context-heading svg{width:24px;height:24px;stroke:#a9c1db;fill:none;stroke-width:1.2;flex:none}
.atlas-context-description{font-size:12px;line-height:1.5;color:#d2ddd3;margin:5px 0 25px}
.atlas-timeline-label{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#d8e0d5;margin:0 0 11px}
.atlas-timeline-label span:last-child{color:#98b6d5}
.atlas-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative;gap:4px;--window:2;margin:0 2px}
.atlas-segment{position:relative;border:1px solid #8eaccb44;border-radius:3px;background:#b6c9c116;min-width:0;height:44px;padding:9px 5px;display:flex;align-items:center;justify-content:space-between;gap:3px;color:#87a4c3;transition:color .25s,background .25s}
.atlas-segment:hover{background:#b6c9c129}
.atlas-segment.is-current{color:#faf1e2;background:#e9b46c40;border-color:var(--brass)}
.atlas-segment i{display:block;flex:1;height:55%;max-width:3px;min-width:1px;background:currentColor;border-radius:2px;pointer-events:none;opacity:.88}
.atlas-segment i:nth-child(2n){height:80%}
.atlas-segment i:nth-child(3n){height:35%}
.atlas-segment:nth-of-type(2n) i:nth-child(2n){height:45%}
.atlas-segment:nth-of-type(2n) i:nth-child(3n){height:85%}
.atlas-context-boundary{position:absolute;z-index:0;inset:-5px auto -5px calc(var(--window)*(100% + 4px)/6 - 9px);width:calc((100% - 20px)/6 + 18px);border:1px dashed #e9b46ca6;border-radius:5px;transition:left .45s cubic-bezier(.22,.68,0,1);pointer-events:none}
.atlas-context-key{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;color:#d2ddd3;margin-top:18px;line-height:1.5}
.atlas-context-key span{display:flex;align-items:center;gap:6px}
.atlas-context-key i{width:7px;height:7px;display:block;border-radius:1px}
.atlas-key-core{background:var(--brass)}
.atlas-key-edge{border:1px dashed #e9b46c}
.atlas-diagram-note{font-size:12px;color:#99b3cf;margin:11px 0 0;line-height:1.5}
.atlas-visual figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;color:#a4acbc;font-size:12px;line-height:1.5}
.atlas-visual figcaption button{padding:4px 0;color:var(--brass);font-size:12px;border:0;background:none;display:flex;align-items:center;gap:7px}
.atlas-visual figcaption svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.2}
.atlas-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:65px;border-top:1px solid #f1ebe01c;color:#929aab;font-size:12px;line-height:1.5}
.atlas-footer p{margin:0}
.atlas-footer>span{display:flex;align-items:center;gap:10px}
.atlas-footer i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#646b7b}
.atlas-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes atlas-settle{from{transform:scale(1.045) translateY(4px)}to{transform:scale(1) translateY(0)}}
@keyframes atlas-light{from{opacity:.15}to{opacity:1}}
@media(min-width:1600px){.atlas-hero{padding-top:20px}.atlas-header{height:110px}.atlas-intro h1{font-size:68px}}
@media(max-width:1100px){.atlas-shell{width:calc(100% - 72px)}.atlas-hero{gap:36px}.atlas-intro h1{font-size:clamp(48px,5.1vw,60px)}.atlas-context{left:20px;right:20px;padding:21px 18px 17px}.atlas-context-heading{font-size:20px}.atlas-painting-wrap{height:640px}.atlas-nav{gap:25px}.atlas-description{font-size:14px}.atlas-timeline-label{font-size:12px}.atlas-segment{gap:2px;padding:10px 4px}}
@media(max-width:820px){.atlas-shell{width:calc(100% - 48px)}.atlas-header{height:86px}.atlas-nav{gap:20px}.atlas-hero{grid-template-columns:1fr;gap:30px;padding:18px 0 28px}.atlas-intro{padding:20px 0 0;max-width:630px}.atlas-role{margin-bottom:22px}.atlas-intro h1{font-size:clamp(48px,8.8vw,70px);max-width:10em;letter-spacing:-.018em}.atlas-description{max-width:420px;font-size:15px;margin-top:24px}.atlas-actions{flex-direction:row;align-items:center;gap:25px;margin-top:28px}.atlas-painting-wrap{height:560px}.atlas-painting{object-position:center 58%}.atlas-context{left:auto;right:30px;bottom:30px;width:380px;padding:24px}.atlas-context-heading{font-size:22px}.atlas-timeline-label{font-size:12px}.atlas-footer{flex-wrap:wrap;padding:20px 0;gap:8px}.atlas-footer>span{display:none}}
@media(max-width:520px){.atlas-shell{width:calc(100% - 40px)}.atlas-header{height:76px;gap:12px}.atlas-wordmark{font-size:28px}.atlas-nav{gap:18px;font-size:12px}.atlas-product-link{display:none}.atlas-intro{padding-top:8px}.atlas-role{font-size:12px;margin-bottom:20px}.atlas-intro h1{font-size:clamp(43px,10.8vw,54px);line-height:1.085;letter-spacing:-.018em}.atlas-description{font-size:14px;line-height:1.65;margin-top:23px;max-width:330px}.atlas-actions{align-items:flex-start;flex-direction:column;gap:19px;margin-top:27px}.atlas-primary{padding:15px 21px;font-size:13px!important;gap:20px}.atlas-secondary{font-size:12px!important}.atlas-hero{gap:31px}.atlas-painting-wrap{height:500px}.atlas-context{left:16px;right:16px;bottom:23px;width:auto;padding:20px 17px 16px;border-radius:8px}.atlas-context-heading{font-size:21px}.atlas-context-description{font-size:12px;margin-bottom:22px}.atlas-context-key{font-size:12px;gap:13px}.atlas-diagram-note{font-size:12px}.atlas-timeline-label{font-size:12px}.atlas-segment{padding:9px 3px;gap:2px}.atlas-visual figcaption{font-size:12px;margin-top:12px}.atlas-visual figcaption button{font-size:12px}.atlas-footer{font-size:12px;padding:20px 0}}
@media(prefers-reduced-motion:reduce){.atlas-painting,.atlas-light{animation:none}.atlas-context-boundary,.atlas-primary,.atlas-secondary,.atlas-segment{transition:none}.atlas-primary:hover{transform:none}}
/* ---------- 13 October 2026: one framed product plate replaces the painting and the walkthrough ---------- */
.atlas-plate{position:relative;background:#0b0f1a;border:1px solid rgba(var(--brass-rgb),.32);border-radius:10px;padding:6px;box-shadow:0 34px 80px -34px rgba(0,0,0,.65);isolation:isolate}
.atlas-plate-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 10px;font-size:12px;color:#8f97a7;line-height:1.4}
.atlas-plate-bar b{font-weight:500;color:#bcc4d5}
.atlas-plate-bar span{color:var(--brass,var(--brass))}
.atlas-plate-screen{position:relative;overflow:hidden;border-radius:5px;background:#04060d}
.atlas-plate-screen img{display:block;width:100%;height:auto;transform-origin:50% 40%}
.atlas-plate-light{pointer-events:none;position:absolute;inset:0;border-radius:5px;background:radial-gradient(ellipse at 70% 10%,rgba(255,232,150,.12),transparent 50%);mix-blend-mode:screen}
.atlas-visual figcaption{margin-top:14px;color:#a4acbc;font-size:12px;line-height:1.6}
.atlas-visual figcaption a{color:var(--brass);display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
@media(max-width:820px){.atlas-visual{max-width:640px}}
.atlas-intro h1{max-width:none}
/* ---------- 14 October 2026: the hero is a reconstructed MCP run, set as an agent chat ---------- */
.run-plate{padding:6px}
.run-plate .atlas-plate-bar{padding:9px 12px 11px}
.run-clock{display:inline-flex;align-items:baseline;gap:8px;font-size:12px;color:#8f97a7;white-space:nowrap}
.run-clock-time{color:var(--brass);font-variant-numeric:tabular-nums;font-size:13px;min-width:5ch;text-align:right}
.run-log{list-style:none;margin:0;padding:20px 18px 18px;display:grid;gap:10px;background:#070a13;border-radius:5px;align-content:start}
.run-msg p{margin:0;font-size:14px;line-height:1.55}
.run-user{justify-self:end;max-width:84%;background:#1b2335;color:var(--cream);border-radius:14px 14px 4px 14px;padding:10px 14px}
.run-attach{display:inline-block;margin-top:8px;font-size:12px;color:#bcc4d5;border:1px solid rgba(var(--cream-rgb),.18);border-radius:999px;padding:2px 10px}
.run-agent{max-width:92%;color:#e8dfd0;padding:2px 2px}
.run-tool{display:grid;grid-template-columns:18px minmax(0,1fr) auto;grid-template-areas:"s c m" "s w m";column-gap:10px;row-gap:2px;align-items:center;background:rgba(var(--cream-rgb),.035);border:1px solid rgba(var(--cream-rgb),.08);border-radius:8px;padding:8px 12px}
.run-state{grid-area:s;width:16px;height:16px;border-radius:50%;background:rgba(156,200,164,.16);position:relative;align-self:start;margin-top:2px}
.run-state::after{content:"";position:absolute;left:5px;top:3px;width:4px;height:7px;border:solid #9cc8a4;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.run-call{grid-area:c;min-width:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.run-call code{font-family:ui-monospace,'Cascadia Mono',Consolas,monospace;font-size:12.5px;color:var(--brass)}
.run-times{color:#8f97a7;font-size:12px;margin-left:2px}
.run-what{grid-area:w;font-size:12.5px;color:#a4acbc;line-height:1.45}
.run-meta{grid-area:m;display:grid;justify-items:end;gap:1px;font-size:12px;color:#8f97a7;white-space:nowrap;padding-left:8px}
.run-meta time{font-variant-numeric:tabular-nums;color:#777e8e}
.run-done p{color:var(--cream)}
.run-posts{display:flex;gap:8px;margin-top:10px;align-items:stretch}
.run-post{width:84px;aspect-ratio:9/16;border-radius:6px;overflow:hidden;background:#04060d;border:1px solid rgba(var(--cream-rgb),.1)}
.run-post video{display:block;width:100%;height:100%;object-fit:cover}
.run-more{width:84px;aspect-ratio:9/16;border-radius:6px;display:grid;place-items:center;font-size:13px;color:#a4acbc;border:1px dashed rgba(var(--brass-rgb),.35)}
.run figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px}
.run figcaption > span{max-width:62ch}
.run-replay{font:inherit;font-size:12px;color:var(--brass);background:none;border:1px solid rgba(var(--brass-rgb),.4);border-radius:999px;padding:4px 12px;cursor:pointer;white-space:nowrap}
.run-replay:hover{border-color:var(--brass);color:var(--cream)}
/* Replay states, only ever set by run.js */
.run.is-armed .run-log>li{opacity:0;transform:translateY(8px)}
.run.is-armed .run-log>li.is-shown{opacity:1;transform:none;transition:opacity .45s cubic-bezier(.22,.68,0,1),transform .45s cubic-bezier(.22,.68,0,1)}
.run-tool.is-running .run-state{background:rgba(var(--brass-rgb),.18)}
.run-tool.is-running .run-state::after{border:0;left:4px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--brass);transform:none;animation:run-pulse 1s ease-in-out infinite}
.run-tool.is-running .run-meta{opacity:.35}
@keyframes run-pulse{50%{opacity:.25}}
@media(max-width:1100px){.run-post,.run-more{width:72px}}
@media(max-width:520px){.run-log{padding:16px 12px 14px;gap:9px}.run-user{max-width:92%}.run-tool{padding:8px 10px;column-gap:8px}.run-post,.run-more{width:62px}.run-plate .atlas-plate-bar{flex-wrap:wrap}}
/* Tightening pass: the chat must sit beside the intro, not tower over it. */
@media(min-width:821px){.atlas-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
.run-log{padding:16px 16px 16px;gap:8px}
.run-user{padding:9px 13px}
.run-attach{margin-top:6px}
.run-meta{display:block;text-align:right}
.run-meta time::before{content:" · ";color:#5a6170}
.run-done{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.run-done p{flex:1 1 180px;padding-bottom:4px}
.run-posts{margin-top:0}
.run-post,.run-more{width:66px}
@media(min-width:1101px){
  .run-tool{grid-template-columns:16px auto minmax(0,1fr) auto;grid-template-areas:"s c w m";column-gap:12px;padding:7px 12px}
  .run-state{align-self:center;margin-top:0}
  .run-what{line-height:1.4}
}
@media(max-width:1100px){.run-tool{grid-template-areas:"s c m" "s w m"}}
@media(max-width:520px){
  .run-tool{grid-template-columns:16px minmax(0,1fr);grid-template-areas:"s c" "s w" "s m";row-gap:3px}
  .run-meta{text-align:left;padding-left:0}
  .run-call{overflow-wrap:normal;word-break:normal}
  .run-call code{word-break:break-all}
  .run-done{flex-direction:column;align-items:flex-start}
  .run-post,.run-more{width:62px}
}
.run-call code{white-space:nowrap}
.run-done p{flex:1 1 auto}
.run-post,.run-more{width:62px}
@media(max-width:520px){.run-call code{word-break:normal}}

/* Observatory hero (14 October 2026, late): the painting full-bleed, the copy on its dark
   left side, and the Owner / Build / Review triangle on a layer that shares the painting's
   frame. Buttons open glass cards (dist/obs.js). */
.atlas-hero--obs{display:flex;align-items:center;position:relative;z-index:2;min-height:clamp(600px,calc(100vh - 100px),880px);padding:0;gap:0;overflow:hidden;isolation:isolate}
.obs-art{position:absolute;inset:0;container-type:size;overflow:hidden}
.obs-stage{position:absolute;top:50%;right:0;width:max(100cqw,calc(100cqh * 1.7768));height:max(100cqh,calc(100cqw * .5628));transform:translateY(-50%)}
.obs-stage picture,.obs-stage img{display:block;width:100%;height:100%}
.obs-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,11,20,.88) 0%,rgba(7,11,20,.7) 28%,rgba(7,11,20,.28) 50%,rgba(7,11,20,0) 64%),linear-gradient(180deg,rgba(var(--bg-rgb),.35) 0%,rgba(var(--bg-rgb),0) 20%,rgba(var(--bg-rgb),0) 72%,var(--bg) 100%)}
.obs-copy{position:relative;z-index:3;pointer-events:none;padding:56px 0 84px}
.obs-copy .atlas-intro{pointer-events:auto;max-width:600px;padding:0}
.atlas-hero--obs .atlas-intro h1{max-width:9.4em;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.atlas-hero--obs .atlas-description{max-width:440px;font-size:16px;color:#d8d0c1}
.atlas-hero--obs .atlas-actions{flex-direction:row;align-items:center;gap:28px}
.obs-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.obs-lines path{fill:none;vector-effect:non-scaling-stroke}
.obs-tri{stroke:rgba(var(--cream-rgb),.55);stroke-width:1}
.obs-orbit{stroke:rgba(var(--cream-rgb),.24);stroke-width:1;stroke-dasharray:2 7}
.obs-mid{fill:rgba(var(--cream-rgb),.8)}
.obs-spark{fill:#ffebb7;filter:drop-shadow(0 0 4px rgba(255,235,183,.9))}
.obs-node{position:absolute;z-index:2;transform:translate(-50%,-11px)}
.obs-point{display:flex;flex-direction:column;align-items:center;padding:0;margin:0;border:0;background:none;color:var(--cream);font:inherit;text-align:center;cursor:pointer}
.obs-dot{position:relative;width:22px;height:22px;margin-bottom:11px;border:1px solid #e9b46c;border-radius:50%;background:rgba(var(--bg-rgb),.55);transition:transform .25s,background .25s}
.obs-dot::after{content:"";position:absolute;inset:6.5px;border-radius:50%;background:var(--cream);transition:background .25s}
.obs-dot::before{content:"";position:absolute;inset:-7px;border:1px solid rgba(var(--brass-rgb),.5);border-radius:50%;opacity:0}
.obs-title{font-family:var(--font-display,Georgia,serif);font-size:25px;line-height:1.1;color:#faf3e6;text-shadow:0 0 3px rgba(4,5,11,.9),0 0 14px rgba(4,5,11,.85),0 2px 24px rgba(0,0,0,.6)}
.obs-sub{margin-top:4px;font-size:12px;color:#eee6d6;white-space:nowrap;text-shadow:0 0 3px rgba(4,5,11,.95),0 0 10px rgba(4,5,11,.9)}
.obs-node--label-above{transform:translate(-50%,calc(-100% + 11px))}.obs-node--label-above .obs-dot{order:3;margin:10px 0 0}
.obs-point:hover .obs-dot,.obs-node.is-open .obs-dot{transform:scale(1.15);background:var(--brass)}
.obs-node.is-open .obs-dot::after{background:var(--bg)}
.obs-point:focus-visible{outline:none}.obs-point:focus-visible .obs-dot{outline:2px solid #f1ebe0;outline-offset:5px}
.obs-card{position:absolute;z-index:5;width:280px;padding:18px 20px 16px;border-radius:16px;text-align:left;color:var(--cream);background:rgba(8,12,22,.6);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:0 30px 70px -24px rgba(0,0,0,.85),inset 0 1px 0 rgba(254,246,230,.16);opacity:0;visibility:hidden;transform:translate(var(--cx,-50%),calc(var(--cy,58px) + 8px));transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s}
.obs-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(140deg,rgba(247,239,223,.8),rgba(var(--brass-rgb),.3) 35%,rgba(255,255,255,.06) 60%,rgba(var(--brass-rgb),.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.obs-card.is-open{opacity:1;visibility:visible;transform:translate(var(--cx,-50%),var(--cy,58px));transition:opacity .22s ease,transform .22s ease,visibility 0s}
.obs-card--owner{--cx:-50%;--cy:calc(-100% - 26px)}
.obs-card--build{--cx:-50%;--cy:62px}
.obs-card--review{--cx:-80%;--cy:62px}
.obs-card-kicker{display:block;margin-bottom:8px;font-size:12px;color:var(--brass)}
.obs-card p{margin:0 0 12px;font-size:14px;line-height:1.6;color:#ebe2d3}
.obs-card-link{font-size:12px;color:var(--brass);border-bottom:1px solid rgba(var(--brass-rgb),.45);padding-bottom:2px}
.obs-card-link:hover{color:var(--cream);border-color:var(--cream)}
@media(prefers-reduced-motion:no-preference){
  .obs-dot::before{animation:obs-pulse 3.4s ease-out infinite}
  .obs-node--build .obs-dot::before{animation-delay:1.1s}
  .obs-node--review .obs-dot::before{animation-delay:2.2s}
  .obs-ready .obs-lines{animation:obs-in 1.4s ease-out both}
  .obs-ready .obs-node{animation:obs-in .9s ease-out both}
  .obs-ready .obs-node--owner{animation-delay:.35s}.obs-ready .obs-node--build{animation-delay:.6s}.obs-ready .obs-node--review{animation-delay:.85s}
}
@keyframes obs-pulse{0%{opacity:.9;transform:scale(.6)}70%{opacity:0;transform:scale(1.55)}100%{opacity:0}}
@keyframes obs-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-transparency:reduce){.obs-card{background:rgba(8,12,22,.94);backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Tablets and phones: copy first, then the painting as a band anchored on the observatory;
   points show titles only and the card opens as a panel across the bottom of the band. */
@media(max-width:820px){
  .atlas-hero--obs{flex-direction:column;align-items:stretch;min-height:0}
  .obs-copy{padding:34px 0 26px}
  .obs-art{position:relative;inset:auto;width:100%;aspect-ratio:4/3}
  .obs-shade{background:linear-gradient(180deg,var(--bg) 0%,rgba(var(--bg-rgb),0) 22%,rgba(var(--bg-rgb),0) 80%,var(--bg) 100%)}
  .obs-sub{display:none}
  .obs-title{font-size:20px}
  .obs-art{container-type:normal}
  .obs-stage{top:0;right:0;height:100%;width:auto;aspect-ratio:1672/941;transform:none}
  .obs-card{position:fixed;left:12px!important;right:12px;top:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-width:520px;margin:0 auto;background:rgba(8,12,22,.78)}
  .obs-card--owner,.obs-card--build,.obs-card--review{--cx:0;--cy:0}
}
@media(max-width:520px){.atlas-hero--obs .atlas-actions{flex-direction:column;align-items:flex-start;gap:19px}.atlas-hero--obs .atlas-description{font-size:15px}.obs-dot{width:20px;height:20px}.obs-dot::after{inset:5.5px}.obs-title{font-size:18px}.obs-card{padding:14px 16px 13px}.obs-card p{font-size:13.5px;margin-bottom:9px}}
