.unity-arc-state{--maxw:1200px;width:min(100%,var(--maxw));margin-inline:auto}.unity-arc-inner{width:100%;aspect-ratio:1200/700;position:relative}.unity-arc-inner>svg{width:100%;height:100%;display:block}.node{cursor:pointer}.hotspot{display:block;width:100%;height:100%;border-radius:999px}.bubble{transform-box:fill-box;transform-origin:center;transition:transform .22s ease}.halo{transition:opacity .22s ease,transform .22s ease}.node:hover .bubble{transform:scale(1.08)}.node:hover .halo{opacity:.55;transform:scale(1.06)}.pointer{display:none}.panel{pointer-events:none}.panel-inner{position:relative;width:100%;height:100%}.brand{width:clamp(120px,18vw,180px);height:auto;display:block;margin:0 auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}.title{font-family:"IBM Plex Mono",monospace;font-weight:700;font-size:clamp(20px,2.9vw,32px);color:#fff;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.55)}.sub{font-family:Raleway,sans-serif;font-weight:400;font-size:clamp(14px,2.1vw,18px);line-height:1.45;color:#fff;max-width:48ch;margin:0!important;text-shadow:0 2px 8px rgba(0,0,0,.45)}.read{margin-top:clamp(1px,.1vw,2px);color:#ff5a00;text-decoration:underline;font-family:Raleway,sans-serif;font-weight:500;font-size:clamp(14px,1.9vw,17px);pointer-events:auto}.panel .set{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;opacity:0;pointer-events:none}.panel .title,.panel .sub,.panel .read{opacity:0;transform:translateY(15px) scale(.97);transition:opacity .65s cubic-bezier(.4,0,.2,1),transform .65s cubic-bezier(.4,0,.2,1)}.panel .sub{transition-delay:.15s}.panel .read{transition-delay:.3s}#tab1:checked~.unity-arc-inner svg .panel .t1,#tab2:checked~.unity-arc-inner svg .panel .t2,#tab3:checked~.unity-arc-inner svg .panel .t3,#tab4:checked~.unity-arc-inner svg .panel .t4,#tab5:checked~.unity-arc-inner svg .panel .t5{opacity:1;pointer-events:auto}#tab1:checked~.unity-arc-inner svg .panel .t1 .title,#tab2:checked~.unity-arc-inner svg .panel .t2 .title,#tab3:checked~.unity-arc-inner svg .panel .t3 .title,#tab4:checked~.unity-arc-inner svg .panel .t4 .title,#tab5:checked~.unity-arc-inner svg .panel .t5 .title,#tab1:checked~.unity-arc-inner svg .panel .t1 .sub,#tab2:checked~.unity-arc-inner svg .panel .t2 .sub,#tab3:checked~.unity-arc-inner svg .panel .t3 .sub,#tab4:checked~.unity-arc-inner svg .panel .t4 .sub,#tab5:checked~.unity-arc-inner svg .panel .t5 .sub,#tab1:checked~.unity-arc-inner svg .panel .t1 .read,#tab2:checked~.unity-arc-inner svg .panel .t2 .read,#tab3:checked~.unity-arc-inner svg .panel .t3 .read,#tab4:checked~.unity-arc-inner svg .panel .t4 .read,#tab5:checked~.unity-arc-inner svg .panel .t5 .read{opacity:1;transform:translateY(0) scale(1)}#tab1:checked~.unity-arc-inner svg #n1 .ring,#tab2:checked~.unity-arc-inner svg #n2 .ring,#tab3:checked~.unity-arc-inner svg #n3 .ring,#tab4:checked~.unity-arc-inner svg #n4 .ring,#tab5:checked~.unity-arc-inner svg #n5 .ring{stroke:#999}#tab1:checked~.unity-arc-inner svg #n1 .pointer,#tab2:checked~.unity-arc-inner svg #n2 .pointer,#tab3:checked~.unity-arc-inner svg #n3 .pointer,#tab4:checked~.unity-arc-inner svg #n4 .pointer,#tab5:checked~.unity-arc-inner svg #n5 .pointer{display:block}@keyframes pulse{0%,100%{opacity:.28;transform:scale(1)}50%{opacity:.62;transform:scale(1.05)}}#tab1:checked~.unity-arc-inner svg #n1 .halo,#tab2:checked~.unity-arc-inner svg #n2 .halo,#tab3:checked~.unity-arc-inner svg #n3 .halo,#tab4:checked~.unity-arc-inner svg #n4 .halo,#tab5:checked~.unity-arc-inner svg #n5 .halo{opacity:.65;animation:pulse 2.8s cubic-bezier(.4,0,.2,1) infinite}@media(max-width:680px){.unity-arc-state{--maxw:1000px}}@media(prefers-reduced-motion:reduce){.halo,.bubble{transition:none!important;animation:none!important}.panel .title,.panel .sub,.panel .read{transition:none!important;transform:none!important;opacity:1!important}}

/* ---------- MOBILE VARIANT (transparent, no heading) ---------- */
.unity-mobile{display:none}
@media (max-width: 767px){
  .unity-arc-inner{display:none}
  .unity-mobile{display:grid; gap:16px; position:relative; background:transparent; border-radius:0; padding:0; box-shadow:none; overflow:visible}
}
.unity-mobile .mob-card{position:relative; min-height:230px; padding:0; background:transparent}
.unity-mobile .mob-card .set{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; text-align:center; opacity:0; pointer-events:none}
.unity-mobile .brand{width:clamp(120px,28vw,180px); height:auto; display:block; margin:0 auto 6px}
.unity-mobile .mob-branch{margin:4px 0 6px; color:#f5f1e6; font-family:"IBM Plex Mono",monospace; font-weight:700; font-size:22px}
.unity-mobile .mob-copy{margin:0; color:#e7e3d6; font-family:Raleway,sans-serif; font-size:15px; line-height:1.6; max-width:48ch}
.unity-mobile .mob-read{margin-top:10px; color:#ff5a00; font-family:Raleway,sans-serif; font-weight:600; text-decoration:none}

/* Appear animation via radios */
.unity-mobile .mob-card .set .mob-branch,
.unity-mobile .mob-card .set .mob-copy,
.unity-mobile .mob-card .set .mob-read{opacity:0; transform:translateY(14px) scale(.97); transition:opacity .55s cubic-bezier(.4,0,.2,1),transform .55s cubic-bezier(.4,0,.2,1)}
#tab1:checked ~ .unity-mobile .mob-card .t1,
#tab2:checked ~ .unity-mobile .mob-card .t2,
#tab3:checked ~ .unity-mobile .mob-card .t3,
#tab4:checked ~ .unity-mobile .mob-card .t4,
#tab5:checked ~ .unity-mobile .mob-card .t5{opacity:1; pointer-events:auto}
#tab1:checked ~ .unity-mobile .mob-card .t1 .mob-branch,
#tab2:checked ~ .unity-mobile .mob-card .t2 .mob-branch,
#tab3:checked ~ .unity-mobile .mob-card .t3 .mob-branch,
#tab4:checked ~ .unity-mobile .mob-card .t4 .mob-branch,
#tab5:checked ~ .unity-mobile .mob-card .t5 .mob-branch,
#tab1:checked ~ .unity-mobile .mob-card .t1 .mob-copy,
#tab2:checked ~ .unity-mobile .mob-card .t2 .mob-copy,
#tab3:checked ~ .unity-mobile .mob-card .t3 .mob-copy,
#tab4:checked ~ .unity-mobile .mob-card .t4 .mob-copy,
#tab5:checked ~ .unity-mobile .mob-card .t5 .mob-copy,
#tab1:checked ~ .unity-mobile .mob-card .t1 .mob-read,
#tab2:checked ~ .unity-mobile .mob-card .t2 .mob-read,
#tab3:checked ~ .unity-mobile .mob-card .t3 .mob-read,
#tab4:checked ~ .unity-mobile .mob-card .t4 .mob-read,
#tab5:checked ~ .unity-mobile .mob-card .t5 .mob-read{opacity:1; transform:translateY(0) scale(1)}

/* Bottom dock (same circle size; bigger icon inside) */
.unity-mobile .mob-dock{position:relative; display:flex; gap:14px; padding:8px; background:transparent; border-radius:0; overflow-x:auto; -webkit-overflow-scrolling:touch}
.unity-mobile .mob-icon{flex:0 0 auto; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:#1d1d1d; border:2px solid transparent; opacity:.9; cursor:pointer}
.unity-mobile .mob-icon img{width:36px; height:36px; display:block}
#tab1:checked ~ .unity-mobile .mob-dock label:nth-child(1),
#tab2:checked ~ .unity-mobile .mob-dock label:nth-child(2),
#tab3:checked ~ .unity-mobile .mob-dock label:nth-child(3),
#tab4:checked ~ .unity-mobile .mob-dock label:nth-child(4),
#tab5:checked ~ .unity-mobile .mob-dock label:nth-child(5){border-color:#ff5a00; box-shadow:0 0 0 4px rgba(255,90,0,.12); opacity:1}

/* Scrollbar styling */
.unity-mobile .mob-dock::-webkit-scrollbar{height:6px}
.unity-mobile .mob-dock::-webkit-scrollbar-track{background:transparent}
.unity-mobile .mob-dock::-webkit-scrollbar-thumb{background:#ff5a00; border-radius:3px}
.unity-mobile .mob-dock{scrollbar-color:#ff5a00 transparent; scrollbar-width:thin}

/* a11y + motion */
.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}
@media (prefers-reduced-motion:reduce){
  .unity-mobile .mob-card .set .mob-branch,
  .unity-mobile .mob-card .set .mob-copy,
  .unity-mobile .mob-card .set .mob-read{transition:none!important; transform:none!important; opacity:1!important}
}
