.home-hero {
  min-height: 860px;
}

.home-hero .hero-layout {
  min-height: 790px;
  grid-template-columns: minmax(430px, 0.92fr) minmax(570px, 1.18fr);
  gap: clamp(30px, 4vw, 64px);
}

.home-hero .hero-copy {
  padding-top: 46px;
  padding-bottom: 40px;
}

.home-hero h1 {
  max-width: 12ch;
}

.hero-actions {
  margin-bottom: 24px;
}

.hero-access {
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
}

.hero-access-label {
  margin: 13px 0 8px;
  color: var(--color-faint);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.08em;
}

.hero-platforms,
.hero-flags {
  margin-top: 0;
}

.hero-platforms li,
.hero-flags li {
  color: var(--color-ink);
  font-size: 11px;
}

.hero-platforms svg {
  color: var(--color-muted);
}

.mini-flag {
  width: 28px;
  height: 19px;
  flex: 0 0 auto;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xs);
}

.orbit-stage {
  min-height: 650px;
  overflow: visible;
  isolation: isolate;
}

.orbit-stage::before {
  content: "";
  position: absolute;
  z-index: -3;
  width: 84%;
  aspect-ratio: 1;
  border-radius: var(--radius-pill);
  background: radial-gradient(circle, var(--color-accent-glow), transparent 66%);
  animation: core-glow 5.6s ease-in-out infinite;
}

.orbit-halo {
  position: absolute;
  z-index: -2;
  width: min(560px, 88%);
  aspect-ratio: 1;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  background:
    radial-gradient(circle at center, var(--color-surface), var(--color-surface-soft) 58%, transparent 59%);
  box-shadow: inset 0 0 70px var(--color-soft-shadow);
}

.home-orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  transform: translate(-50%, -50%);
}

.home-orbit::before,
.home-orbit::after {
  content: "";
  position: absolute;
  border-radius: var(--radius-pill);
  background: var(--color-accent);
  box-shadow: 0 0 0 6px var(--color-accent-glow);
}

.home-orbit-outer {
  width: min(610px, 96%);
  aspect-ratio: 1;
  animation: orbit-turn 48s linear infinite;
}

.home-orbit-outer::before {
  width: 7px;
  height: 7px;
  top: 16%;
  right: 16%;
}

.home-orbit-outer::after {
  width: 6px;
  height: 6px;
  bottom: 9%;
  left: 28%;
}

.home-orbit-inner {
  width: min(430px, 68%);
  aspect-ratio: 1;
  border-style: dashed;
  animation: orbit-turn-reverse 38s linear infinite;
}

.home-orbit-inner::before {
  width: 6px;
  height: 6px;
  right: -3px;
  top: 49%;
}

.home-orbit-inner::after {
  width: 6px;
  height: 6px;
  left: 11%;
  top: 19%;
}

.orbit-node,
.orbit-platform {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid var(--color-border-strong);
  background: var(--color-surface);
  box-shadow: 0 14px 28px var(--color-soft-shadow);
  color: var(--color-muted);
}

.orbit-node {
  min-width: 48px;
  min-height: 32px;
  padding: 5px 9px;
  border-radius: var(--radius-xs);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.orbit-node-us {
  left: 9%;
  top: 18%;
}

.orbit-node-jp {
  right: -1%;
  top: 41%;
}

.orbit-node-sg {
  left: 21%;
  bottom: 1%;
}

.orbit-node-uk {
  right: 16%;
  top: 9%;
}

.orbit-platform {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-pill);
}

.orbit-platform svg {
  width: 21px;
  height: 21px;
}

.orbit-platform-win {
  left: 4%;
  top: 47%;
}

.orbit-platform-android {
  right: 8%;
  top: 16%;
}

.orbit-platform-apple {
  right: 2%;
  bottom: 29%;
}

.orbit-platform-linux {
  left: 25%;
  bottom: -2%;
}

.orbit-core-mark {
  position: relative;
  z-index: 4;
  width: 190px;
  min-height: 208px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border: 1px solid var(--color-rack-edge);
  border-radius: var(--radius-lg);
  background: var(--color-rack);
  color: var(--color-rack-copy);
  box-shadow: var(--shadow-panel);
}

.orbit-core-mark::before,
.orbit-core-mark::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  height: 1px;
  background: var(--color-rack-line);
}

.orbit-core-mark::before {
  top: 14px;
}

.orbit-core-mark::after {
  bottom: 14px;
}

.orbit-core-mark img {
  width: 76px;
  height: 76px;
  margin-bottom: 14px;
}

.orbit-core-mark strong {
  font-family: var(--font-display);
  font-size: 30px;
  letter-spacing: 0.12em;
}

.orbit-core-mark small {
  margin-top: 7px;
  color: var(--color-rack-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.12em;
}

.core-led {
  position: absolute;
  right: 20px;
  top: 23px;
  width: 7px;
  height: 7px;
  border-radius: var(--radius-pill);
  background: var(--color-accent);
  box-shadow: 0 0 0 5px var(--color-accent-glow);
  animation: status-breathe 2.8s ease-in-out infinite;
}

.orbit-route-lines {
  position: absolute;
  z-index: -1;
  width: min(600px, 94%);
  aspect-ratio: 1;
  color: var(--color-accent-dark);
  opacity: 0.26;
}

.orbit-route-lines path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.3;
  stroke-dasharray: 5 9;
}

.home-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-facts strong {
  color: var(--color-accent-dark);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(300px, 0.85fr) minmax(420px, 1.15fr);
  align-items: end;
  gap: clamp(30px, 6vw, 90px);
  margin-bottom: 48px;
}

.section-heading .lead,
.section-heading p:last-child {
  margin-bottom: 0;
}

.capability-console {
  display: grid;
  grid-template-columns: minmax(220px, 0.32fr) minmax(0, 1fr);
  min-height: 560px;
  overflow: visible;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 24px 60px var(--color-soft-shadow);
}

.capability-index[role="tablist"] {
  width: auto;
  max-width: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 12px;
  overflow: visible;
  border: 0;
  border-right: 1px solid var(--color-border);
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  background: var(--color-rack);
}

.capability-index [role="tab"] {
  min-height: 74px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  padding: 10px 15px;
  border-bottom: 1px solid var(--color-rack-edge);
  border-radius: var(--radius-xs);
  color: var(--color-rack-muted);
  text-align: left;
}

.capability-index [role="tab"]:last-child {
  border-bottom: 0;
}

.capability-index [role="tab"] span {
  color: var(--color-rack-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.capability-index [role="tab"][aria-selected="true"],
.capability-index [role="tab"].is-active {
  background: var(--color-rack-soft);
  color: var(--color-rack-copy);
  box-shadow: inset 3px 0 0 var(--color-accent);
}

.capability-index [role="tab"][aria-selected="true"] span,
.capability-index [role="tab"].is-active span {
  color: var(--color-accent);
}

.capability-detail {
  position: relative;
  padding: clamp(30px, 6vw, 74px);
}

.capability-detail::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 34px;
  height: 1px;
  background: var(--color-border);
}

.capability-panel {
  max-width: 800px;
  margin-top: 0;
}

.capability-panel h3 {
  max-width: 18ch;
  margin-top: 30px;
  font-size: clamp(28px, 3.4vw, 42px);
}

.capability-panel p {
  color: var(--color-muted);
}

.capability-code,
.ledger-port {
  color: var(--color-accent-dark);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.capability-link,
.section-link {
  display: inline-flex;
  margin-top: 14px;
  color: var(--color-accent-dark);
  font-weight: 720;
}

.route-intro,
.plan-intro {
  color: var(--color-muted);
}

.server-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 22px;
}

.srv-row {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto minmax(90px, 1fr) auto auto auto;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 8px 12px;
  border: 1px solid var(--color-rack-edge);
  border-radius: var(--radius-xs);
  background: var(--color-rack);
  color: var(--color-rack-copy);
  font-family: var(--font-mono);
  font-size: 10px;
}

.srv-dot {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: var(--radius-pill);
  background: var(--color-success);
  box-shadow: 0 0 0 4px var(--color-success-soft);
  animation: status-breathe 2.8s ease-in-out infinite;
}

.srv-flag {
  width: 24px;
  min-width: 24px;
}

.srv-name {
  min-width: 0;
  overflow: hidden;
  color: var(--color-rack-copy);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srv-type {
  max-width: 100%;
  padding: 3px 6px;
  overflow: hidden;
  border: 1px solid var(--color-rack-line);
  border-radius: var(--radius-xs);
  color: var(--color-rack-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.srv-ms {
  color: var(--color-accent);
}

.srv-bw {
  color: var(--color-rack-muted);
}

.route-table-wrap {
  box-shadow: 0 18px 42px var(--color-soft-shadow);
}

.route-notes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.route-notes > div {
  padding: 24px;
  border-right: 1px solid var(--color-border);
}

.route-notes > div:last-child {
  border-right: 0;
}

.route-notes h3 {
  font-size: 19px;
}

.route-notes p {
  margin-bottom: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.plan-summary {
  min-height: 118px;
  color: var(--color-muted);
}

.traffic-pack-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  margin-top: 22px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-surface-soft);
}

.traffic-pack-strip h3 {
  margin-top: 8px;
}

.traffic-pack-strip p {
  max-width: 850px;
  margin-bottom: 0;
  color: var(--color-muted);
}

.selection-layout {
  display: grid;
  grid-template-columns: minmax(290px, 0.7fr) minmax(0, 1.3fr);
  align-items: start;
  gap: clamp(44px, 7vw, 100px);
}

.selection-sticky {
  position: sticky;
  top: var(--toc-offset);
}

.selection-sticky .lead {
  margin-bottom: 26px;
}

.selection-ledger {
  border-top: 1px solid var(--color-border-strong);
}

.selection-ledger article {
  position: relative;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 24px;
  padding-top: 34px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--color-border);
}

.selection-ledger article::before {
  content: "";
  position: absolute;
  left: 103px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--color-border);
}

.selection-ledger article::after {
  content: "";
  position: absolute;
  left: 99px;
  top: 42px;
  width: 9px;
  height: 9px;
  border: 1px solid var(--color-accent-dark);
  border-radius: var(--radius-pill);
  background: var(--color-accent);
  box-shadow: 0 0 0 5px var(--color-accent-glow);
}

.selection-ledger h3 {
  font-size: clamp(23px, 2.6vw, 31px);
}

.selection-ledger p {
  color: var(--color-muted);
}

.selection-ledger p:last-child {
  margin-bottom: 0;
}

.home-article-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-article-grid .article-card h3 {
  font-size: 20px;
}

@keyframes orbit-turn {
  from {
    transform: translate(-50%, -50%) rotate(0);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes orbit-turn-reverse {
  from {
    transform: translate(-50%, -50%) rotate(360deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(0);
  }
}

@keyframes core-glow {
  0%,
  100% {
    opacity: 0.62;
    transform: scale(0.96);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 1180px) {
  .home-hero .hero-layout {
    grid-template-columns: 1fr;
  }

  .home-hero .hero-copy {
    max-width: 790px;
  }

  .orbit-stage {
    min-height: 620px;
  }

  .home-article-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 960px) {
  .section-heading,
  .selection-layout {
    grid-template-columns: 1fr;
  }

  .capability-console {
    grid-template-columns: 1fr;
  }

  .capability-index[role="tablist"] {
    width: 100%;
    flex-direction: row;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
    border-radius: var(--radius-md) var(--radius-md) 0 0;
  }

  .capability-index [role="tab"] {
    min-width: 150px;
    border-right: 1px solid var(--color-rack-edge);
    border-bottom: 0;
  }

  .capability-index [role="tab"][aria-selected="true"],
  .capability-index [role="tab"].is-active {
    box-shadow: inset 0 -3px 0 var(--color-accent);
  }

  .selection-sticky {
    position: static;
  }

  .route-notes {
    grid-template-columns: 1fr;
  }

  .route-notes > div {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .route-notes > div:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 768px) {
  .home-hero {
    min-height: auto;
  }

  .home-hero .hero-copy {
    padding-top: 0;
    padding-bottom: 0;
  }

  .hero-access {
    margin-top: 22px;
  }

  .orbit-stage {
    min-height: 500px;
  }

  .orbit-halo {
    width: min(470px, 94%);
  }

  .home-orbit-outer {
    width: min(470px, 96%);
  }

  .home-orbit-inner {
    width: min(330px, 68%);
  }

  .orbit-core-mark {
    width: 150px;
    min-height: 174px;
  }

  .orbit-core-mark img {
    width: 58px;
    height: 58px;
  }

  .orbit-core-mark strong {
    font-size: 24px;
  }

  .home-facts {
    grid-template-columns: 1fr 1fr;
  }

  .home-facts div:nth-child(2) {
    border-right: 0;
  }

  .home-facts div:nth-child(-n+2) {
    border-bottom: 1px solid var(--color-border);
  }

  .server-status {
    grid-template-columns: 1fr;
  }

  .traffic-pack-strip {
    grid-template-columns: 1fr;
  }

  .selection-ledger article {
    grid-template-columns: 1fr;
    gap: 10px;
    padding-left: 28px;
  }

  .selection-ledger article::before {
    left: 4px;
  }

  .selection-ledger article::after {
    left: 0;
  }

  .home-article-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .hero-platforms,
  .hero-flags {
    gap: 9px 12px;
  }

  .hero-platforms li,
  .hero-flags li {
    flex: 1 1 90px;
  }

  .orbit-stage {
    min-height: 420px;
  }

  .orbit-core-mark {
    width: 128px;
    min-height: 150px;
    padding: 18px;
  }

  .orbit-core-mark img {
    width: 48px;
    height: 48px;
  }

  .orbit-core-mark strong {
    font-size: 20px;
  }

  .orbit-node {
    min-width: 40px;
    min-height: 28px;
  }

  .orbit-platform {
    width: 38px;
    height: 38px;
  }

  .capability-detail {
    padding: 28px 20px 34px;
  }

  .capability-panel h3 {
    margin-top: 26px;
  }

  .srv-row {
    grid-template-columns: auto auto minmax(72px, 1fr) auto auto;
  }

  .srv-type {
    display: none;
  }
}

@media (max-width: 390px) {
  .home-facts {
    grid-template-columns: 1fr;
  }

  .home-facts div {
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .home-facts div:last-child {
    border-bottom: 0;
  }

  .orbit-stage {
    min-height: 360px;
  }

  .orbit-node-uk,
  .orbit-platform-android {
    display: none;
  }

  .srv-row {
    gap: 7px;
    padding-inline: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-stage::before,
  .home-orbit-outer,
  .home-orbit-inner,
  .core-led,
  .srv-dot {
    animation: none;
  }
}