:root {
  --ink: #080f1f;
  --prime: #4f46e5;
  --hot: #ff4d6d;
  --lime: #c9ff38;
  --paper: #f7f8ff;
  --muted: #667085;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
}

a { color: inherit; text-decoration: none; }

.prime-hero {
  min-height: 830px;
  padding: 30px clamp(18px, 5vw, 78px) 90px;
  color: white;
  background:
    radial-gradient(circle at 78% 32%, rgba(201, 255, 56, 0.2), transparent 30%),
    conic-gradient(from 90deg at 75% 42%, rgba(79, 70, 229, 0.5), rgba(255, 77, 109, 0.35), rgba(201, 255, 56, 0.24), rgba(79, 70, 229, 0.5)),
    var(--ink);
}

nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  color: var(--lime);
  font-weight: 900;
  letter-spacing: 0.16em;
}

.nav-links {
  display: flex;
  gap: 28px;
  color: #d9dcff;
}

button {
  padding: 12px 16px;
  border: 0;
  border-radius: 999px;
  color: var(--ink);
  background: var(--lime);
  cursor: pointer;
  font-weight: 900;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) 380px;
  gap: 68px;
  align-items: center;
  padding-top: 108px;
}

.tag {
  margin: 0 0 18px;
  color: var(--lime);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

h1 {
  margin-bottom: 26px;
  font-size: clamp(44px, 7vw, 96px);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.hero p:last-child,
.core-copy p,
.channels p,
.forge-steps p,
.portal-panel p,
footer p,
address span {
  color: var(--muted);
  font-size: 18px;
  line-height: 1.75;
}

.hero p:last-child {
  max-width: 790px;
  color: #d9dcff;
  font-size: 21px;
}

.core-card {
  min-height: 450px;
  padding: 34px;
  border-radius: 44px;
  color: var(--ink);
  background: var(--lime);
  box-shadow: 0 0 0 18px rgba(255, 255, 255, 0.08);
}

.core-card span {
  font-weight: 900;
  text-transform: uppercase;
}

.core-card b {
  display: block;
  margin: 70px 0 24px;
  font-size: 140px;
  line-height: 0.8;
}

.prime-core, .channel-board, .software-forge, .portal-panel, footer {
  padding: 94px clamp(18px, 5vw, 78px);
}

h2 {
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.prime-core {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  background: white;
}

.prime-core .tag,
.channel-board .tag,
footer .tag {
  color: var(--prime);
}

.orbit {
  position: relative;
  min-height: 520px;
  border: 2px solid rgba(79, 70, 229, 0.22);
  border-radius: 50%;
}

.orbit::before {
  content: "PRIME";
  position: absolute;
  inset: 34%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  background: var(--prime);
  font-weight: 900;
}

.orbit span {
  position: absolute;
  padding: 14px 18px;
  border-radius: 999px;
  color: var(--ink);
  background: var(--lime);
  font-weight: 900;
  text-transform: uppercase;
}

.orbit span:nth-child(1) { left: 35%; top: 0; }
.orbit span:nth-child(2) { right: 2%; top: 32%; background: #ffd0da; }
.orbit span:nth-child(3) { right: 18%; bottom: 5%; }
.orbit span:nth-child(4) { left: 12%; bottom: 10%; background: #dfe2ff; }
.orbit span:nth-child(5) { left: 0; top: 34%; background: #ffd0da; }

.channel-board {
  background: #ecefff;
}

.channels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 38px;
}

.channels article {
  min-height: 320px;
  padding: 30px;
  border-radius: 32px;
  background: white;
  border-top: 10px solid var(--prime);
}

.channels article:nth-child(2) { border-top-color: var(--hot); }
.channels article:nth-child(3) { border-top-color: var(--lime); }

.channels b {
  display: block;
  margin-bottom: 20px;
  color: var(--prime);
  font-size: 28px;
}

.software-forge {
  color: white;
  background: var(--ink);
}

.software-forge .tag { color: var(--lime); }

.forge-steps {
  display: grid;
  gap: 14px;
  margin-top: 38px;
}

.forge-steps div {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 22px;
  padding: 22px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
}

.forge-steps span {
  color: var(--lime);
  font-size: 34px;
  font-weight: 900;
}

.forge-steps p {
  margin: 0;
  color: #d9dcff;
}

.portal-panel {
  background: linear-gradient(135deg, var(--hot), var(--prime));
  color: white;
}

.portal-panel p {
  max-width: 1050px;
  color: white;
  font-size: 24px;
  line-height: 1.6;
}

footer {
  display: flex;
  justify-content: space-between;
  gap: 42px;
  background: white;
}

address {
  display: grid;
  gap: 12px;
  min-width: min(100%, 430px);
  padding: 30px;
  border-radius: 30px;
  color: white;
  background: var(--ink);
  font-style: normal;
}

address a {
  color: var(--lime);
  font-size: 24px;
  font-weight: 900;
}

address span { color: #d9dcff; }

@media (max-width: 1000px) {
  .hero, .prime-core, .channels, .forge-steps div, footer {
    grid-template-columns: 1fr;
    display: grid;
  }

  nav { flex-wrap: wrap; }

  .nav-links {
    order: 3;
    width: 100%;
    justify-content: space-between;
  }

  .orbit {
    min-height: 440px;
  }
}
