/* ═══ ORBIT — what one matter actually involves ════════════ */
.orbit{position:relative;overflow:hidden;background:var(--ivory)}
.orbit::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(58% 66% at 50% 52%,rgba(226,208,176,.5),transparent 72%),
             radial-gradient(40% 44% at 12% 24%,rgba(26,98,145,.09),transparent 70%)}
.orbit .wrap{position:relative;z-index:2}
.orb-stage{position:relative;min-height:660px;display:grid;place-items:center;margin-top:12px}
.ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50%;
  border:1px solid rgba(27,58,92,.1);pointer-events:none}
.ring.r1{width:380px;height:380px}
.ring.r2{width:600px;height:600px;border-color:rgba(27,58,92,.075)}
.ring.r3{width:830px;height:830px;border-color:rgba(27,58,92,.055)}
.ring.spin{animation:slowspin 44s linear infinite;border-style:dashed;
  border-color:rgba(201,151,63,.28)}
@keyframes slowspin{to{transform:rotate(360deg)}}

.orb-core{position:relative;z-index:3;width:min(300px,74vw);aspect-ratio:4/5;border-radius:26px;
  overflow:hidden;box-shadow:var(--sh-x);border:5px solid #fff}
.orb-core img{width:100%;height:100%;object-fit:cover}
.orb-core::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,31,50,.06),rgba(13,31,50,.32))}
.orb-core .core-tag{position:absolute;left:50%;bottom:16px;translate:-50% 0;z-index:2;
  font-family:var(--font-label);font-size:9px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:#fff;background:rgba(13,31,50,.6);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  padding:7px 14px;border-radius:999px;white-space:nowrap}

.flag{position:absolute;z-index:4;display:flex;flex-direction:column;gap:7px;width:max-content}
.flag .lab{font-family:var(--font-label);font-size:9px;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--text-3);padding-left:4px}
.flag .pill{display:flex;align-items:center;gap:11px;background:#fff;border-radius:14px;
  padding:11px 18px 11px 12px;box-shadow:0 2px 4px rgba(27,58,92,.06),0 16px 32px -14px rgba(27,58,92,.34);
  font-family:var(--font-display);font-weight:600;font-size:15.5px;color:var(--navy-deep);
  white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.flag:hover .pill{transform:translateY(-3px);box-shadow:0 2px 4px rgba(27,58,92,.06),0 22px 40px -14px rgba(27,58,92,.42)}
.flag .ic{width:26px;height:26px;border-radius:8px;flex:none;display:grid;place-items:center;color:#fff}
.ic.red{background:linear-gradient(160deg,#D0603F,#B4472C)}
.ic.amb{background:linear-gradient(160deg,#E9B558,#C9973F)}
.ic.blu{background:linear-gradient(160deg,#3D82AF,#1A6291)}
.flag.right{align-items:flex-end}
.flag.right .lab{padding:0 4px 0 0}
.dot{position:absolute;z-index:4;width:12px;height:12px;border-radius:50%;background:#fff;
  box-shadow:0 0 0 3px rgba(255,255,255,.6),0 4px 10px rgba(27,58,92,.3)}
.node{position:absolute;z-index:2;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(27,58,92,.1);
  font-family:var(--font-label);font-size:9.5px;font-weight:700;letter-spacing:.06em;
  color:var(--text-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

.f1{left:2%;top:20%}      .f2{left:0;top:47%}      .f3{left:5%;bottom:15%}
.f4{right:2%;top:20%}     .f5{right:0;top:47%}     .f6{right:5%;bottom:15%}
.d1{left:34%;top:31%}     .d2{left:34%;top:57%}
.d3{right:34%;top:31%}    .d4{right:34%;top:57%}
.n1{left:12%;top:5%}  .n2{right:12%;top:5%}  .n3{left:16%;bottom:2%}
.n4{right:16%;bottom:2%}  .n5{left:50%;top:0;translate:-50% 0}

@media (max-width:1080px){
  .ring.r3{display:none}
  .f1,.f2,.f3{left:-2%}  .f4,.f5,.f6{right:-2%}
  .flag .pill{font-size:14px;padding:10px 14px 10px 10px}
  .node{display:none}
}
@media (max-width:860px){
  .orb-stage{min-height:auto;display:flex;flex-direction:column;gap:14px}
  .ring,.dot{display:none}
  .flag{position:static;width:100%;align-items:stretch!important}
  .flag .pill{white-space:normal}
  .flag.right{align-items:stretch}
  .flag.right .lab{padding-left:4px}
  .orb-core{margin-bottom:10px}
}
