.amap{--e:cubic-bezier(.16,1,.3,1);position:relative;padding:clamp(4rem,9vw,7rem) 0;background:radial-gradient(ellipse at 70% 0%,rgba(200,161,90,.1),transparent 55%),var(--ink,#0A0D12);color:var(--silver,#C9CED6);font-family:inherit;line-height:1.6;overflow:hidden}
.amap *{box-sizing:border-box}
.amap__wrap{max-width:1200px;margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem)}
.amap__eb{display:flex;align-items:center;gap:.8rem;margin:0 0 1.1rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold,#C8A15A)}
.amap__eb:before{content:"";width:34px;height:1px;background:currentColor}
.amap h2{margin:0;max-width:20ch;font:300 clamp(2rem,4.5vw,3.6rem)/1.08 var(--font-display,Georgia,"Times New Roman",serif);letter-spacing:-.02em;color:#fff}
.amap h2 em{font-style:italic;color:var(--gold-soft,#E3C98F)}
.amap__sub{margin:1.2rem 0 0;max-width:56ch;color:var(--mist,#8A93A1)}
.amap__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;margin-top:2.5rem;align-items:start}
.amap__stage{position:relative;overflow:hidden;border:1px solid rgba(201,206,214,.14);border-radius:18px;background:radial-gradient(ellipse at 50% 40%,#16202c,#0A0D12 72%)}
.amap svg{display:block;width:100%;height:auto;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.amap svg.zoomed{touch-action:none}.amap svg.drag{cursor:grabbing}
.amap .base{fill:rgba(201,206,214,.08);stroke:rgba(201,206,214,.16);stroke-width:.6;vector-effect:non-scaling-stroke}
.amap .c{fill:rgba(200,161,90,.5);stroke:#E3C98F;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .9s var(--e) calc(.3s + var(--i)*.16s),transform .9s var(--e) calc(.3s + var(--i)*.16s),fill .3s}
.amap.in .c{opacity:1;transform:none}
.amap.done .c{transition-delay:0s}
.amap .c:hover,.amap .c.hot{fill:rgba(227,201,143,.78)}
.amap .c.sel{fill:#C8A15A;filter:drop-shadow(0 0 7px rgba(200,161,90,.75))}
.amap .c:focus{outline:none}.amap .c:focus-visible{stroke:#fff;stroke-width:2}
.amap .arc{fill:none;stroke:#C9CED6;stroke-opacity:.6;stroke-width:calc(1px / var(--z,1));stroke-dasharray:1;stroke-dashoffset:1;pointer-events:none;transition:stroke-dashoffset 1.8s ease-in-out calc(1.3s + var(--i)*.25s)}
.amap .arc.g{stroke:#C8A15A;stroke-opacity:.9}
.amap.in .arc{stroke-dashoffset:0}
.amap .pin{cursor:pointer;opacity:0;transition:opacity .6s calc(1s + var(--i,0)*.1s)}
.amap.in .pin{opacity:1}
.amap .dot{fill:#C8A15A;stroke:#0A0D12;stroke-width:1.5}
.amap .ring{fill:none;stroke:#C8A15A;stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:amap-p 2.4s ease-out infinite}
@keyframes amap-p{from{transform:scale(1);opacity:.8}to{transform:scale(3.4);opacity:0}}
.amap .lbl{fill:#fff;font:600 11px/1 system-ui,sans-serif;paint-order:stroke;stroke:#0A0D12;stroke-width:3px;opacity:0;transition:opacity .25s;pointer-events:none}
.amap .pin.on .lbl{opacity:1}
.amap__tip{position:absolute;pointer-events:none;padding:.35rem .8rem;border:1px solid rgba(200,161,90,.5);border-radius:99px;background:rgba(10,13,18,.92);color:#fff;font-size:.78rem;white-space:nowrap;opacity:0;transform:translate(-50%,-150%);transition:opacity .2s}
.amap__ctl{position:absolute;right:12px;bottom:12px;display:flex;gap:6px}
.amap__ctl button{min-width:36px;height:36px;padding:0 .9rem;border:1px solid rgba(201,206,214,.25);border-radius:99px;background:rgba(10,13,18,.75);color:#fff;font:inherit;font-size:.78rem;cursor:pointer;backdrop-filter:blur(6px);transition:border-color .3s,color .3s}
.amap__ctl button:hover,.amap__ctl button:focus-visible{border-color:#C8A15A;color:#E3C98F;outline:none}
@media(max-width:900px){.amap__grid{grid-template-columns:1fr}.amap__ctl button{height:32px;padding:0 .7rem}}
@media(prefers-reduced-motion:reduce){.amap *{transition:none!important;animation:none!important}.amap .c,.amap .pin{opacity:1;transform:none}.amap .arc{stroke-dashoffset:0}}
